corralimited/snapdiff-mcp

corralimited/snapdiff-mcp

от corralimited
MCP сервер для визуального сравнения веб-страниц через SnapDiff API. Позволяет разработчикам и QA автоматически снимать скриншоты, сравнивать UI на изменения и рендерить HTML/CSS в картинки. Подход...

@corralimited/snapdiff-mcp

Standalone MCP server for SnapDiff. Exposes four tools to local agents:

  • Compare two web pages visually — diff percentage plus a highlighted diff image
  • Capture a screenshot of any URL
  • Check whether a page changed vs. a previous capture
  • Render HTML/CSS to an image (OG cards, social images, email headers)

Hits the public SnapDiff REST API. Bring your own API key.


Quickstart

Get an API key at https://snapdiff.ai/dashboard, then drop the snippet for your agent below.

Claude Code

claude mcp add snapdiff -e SNAPDIFF_API_KEY=sk_live_... -- npx -y @corralimited/snapdiff-mcp

Or edit ~/.claude/settings.json:

{
  "mcpServers": {
    "snapdiff": {
      "command": "npx",
      "args": ["-y", "@corralimited/snapdiff-mcp"],
      "env": { "SNAPDIFF_API_KEY": "sk_live_..." }
    }
  }
}

Cursor

~/.cursor/mcp.json (or project-level .cursor/mcp.json):

{
  "mcpServers": {
    "snapdiff": {
      "command": "npx",
      "args": ["-y", "@corralimited/snapdiff-mcp"],
      "env": { "SNAPDIFF_API_KEY": "sk_live_..." }
    }
  }
}
snapdiff_capture_baseline

Захватите текущее состояние страницы как визуальный базис для проекта SnapDiff. Вызывайте это один раз для каждой страницы перед использованием snapdiff_verify_ui_change: базис — это эталонный скриншот, с которым сравниваются все последующие проверки. Для localhost URL страница захватывается локально с помощью headless-браузера (туннель не нужен). Для публичных URL её захватывает бэкенд SnapDiff. Возвращает управление, когда базис подтверждён.

Захватите текущее состояние страницы как визуальный базис для проекта SnapDiff. Вызывайте это один раз для каждой страницы перед использованием snapdiff_verify_ui_change: базис — это эталонный скриншот, с которым сравниваются все последующие проверки. Для localhost URL страница захватывается локально с помощью headless-браузера (туннель не нужен). Для публичных URL её захватывает бэкенд SnapDiff. Возвращает управление, когда базис подтверждён.

Параметры

  • projectstringобязательный

    Project slug or ID (prj_xxx).

  • page_namestringобязательный

    Page name within the project (e.g. "account", "homepage"). Used to match this baseline when verifying.

  • urlstringобязательный

    URL of the page to capture as the baseline. Localhost URLs are captured locally — no tunnel required.

  • branchstring

    Branch to store the baseline on. Defaults to the project's default branch.

snapdiff_capture_screenshot

Сделайте скриншот веб-страницы. Используйте это, когда нужно увидеть, как страница выглядит прямо сейчас: проверить макет, убедиться в корректности отображения или зафиксировать эталон для последующего сравнения.

Сделайте скриншот веб-страницы. Используйте это, когда нужно увидеть, как страница выглядит прямо сейчас: проверить макет, убедиться в корректности отображения или зафиксировать эталон для последующего сравнения.

Параметры

  • urlstringобязательный

    The full URL to screenshot

  • full_pageboolean

    Capture the entire scrollable page. Default false

  • dark_modeboolean

    Force dark color scheme. Default false

  • selectorstring

    CSS selector to capture only a specific element

  • widthnumber

    Viewport width in pixels. Default 1280

snapdiff_check_build

Захватите каждую страницу в списке и сравните их все с эталонными версиями в одной сборке. Используйте это после редактирования общего компонента или токена дизайна, чтобы проверить, затронуло ли изменение страницы, которые вы не изменяли напрямую. Возвращает постраничную сводку изменённых и неизменённых страниц. Если какая-либо страница изменилась, включается URL для проверки, чтобы человек мог одобрить или отклонить изменения перед обновлением эталонной версии.

Захватите каждую страницу в списке и сравните их все с эталонными версиями в одной сборке. Используйте это после редактирования общего компонента или токена дизайна, чтобы проверить, затронуло ли изменение страницы, которые вы не изменяли напрямую. Возвращает постраничную сводку изменённых и неизменённых страниц. Если какая-либо страница изменилась, включается URL для проверки, чтобы человек мог одобрить или отклонить изменения перед обновлением эталонной версии.

Параметры

  • projectstringобязательный

    Project slug or ID (prj_xxx).

  • pagesobject[]обязательный

    Pages to capture and diff. Pass every route in your page map.

  • branchstring

    Branch to look up baselines on. Defaults to the project's default branch.

snapdiff_compare_pages

Визуально сравнивает две веб-страницы, чтобы выявить различия. Используется для проверки, что изменение кода не сломало интерфейс, сравнения стейджинга с продакшеном или проверки, изменилась ли страница. Делает скриншоты обеих страниц, выполняет попиксельное сравнение и возвращает процент различий плюс подсвеченное изображение диффа, показывающее, что именно изменилось. Это основной инструмент — используй его всегда, когда нужно проверить визуальный вывод. Два режима: 1. Ad-hoc сравнение: передай `before` + `after` URL. 2. Baseline сравнение: передай `after` URL + `project` (slug или ID) + `page_name`. Сравнивает с последним принятым baseline для этой страницы на ветке по умолчанию проекта. Используй, когда пользователь настроил проект SnapDiff и нужно убедиться, что страница всё ещё соответствует утверждённому состоянию.

Визуально сравнивает две веб-страницы, чтобы выявить различия. Используется для проверки, что изменение кода не сломало интерфейс, сравнения стейджинга с продакшеном или проверки, изменилась ли страница. Делает скриншоты обеих страниц, выполняет попиксельное сравнение и возвращает процент различий плюс подсвеченное изображение диффа, показывающее, что именно изменилось. Это основной инструмент — используй его всегда, когда нужно проверить визуальный вывод. Два режима: 1. Ad-hoc сравнение: передай `before` + `after` URL. 2. Baseline сравнение: передай `after` URL + `project` (slug или ID) + `page_name`. Сравнивает с последним принятым baseline для этой страницы на ветке по умолчанию проекта. Используй, когда пользователь настроил проект SnapDiff и нужно убедиться, что страница всё ещё соответствует утверждённому состоянию.

Параметры

  • afterstringобязательный

    URL of the "after" page (e.g. staging URL or localhost) — the page to check

  • beforestring

    URL of the "before" page to compare against. Omit when using baseline mode.

  • projectstring

    Project slug or ID for baseline mode. When set with page_name, diffs against the stored baseline.

  • page_namestring

    Page name within the project (e.g. "homepage", "pricing"). Required for baseline mode.

  • branchstring

    Branch name for baseline lookup. Defaults to the project's default branch.

  • thresholdnumber

    Pixel sensitivity 0.0-1.0. Lower = more sensitive. Default 0.1

  • ignore_selectorsstring[]

    CSS selectors to exclude from comparison (e.g. timestamps, ads)

  • full_pageboolean

    Compare full scrollable pages. Default false

snapdiff_html_to_image

Рендерит HTML/CSS напрямую в изображение. Используйте это для создания социальных карточек, OG-изображений, заголовков писем или любого визуала из кода без необходимости в размещенном URL.

Рендерит HTML/CSS напрямую в изображение. Используйте это для создания социальных карточек, OG-изображений, заголовков писем или любого визуала из кода без необходимости в размещенном URL.

Параметры

  • htmlstringобязательный

    The HTML to render

  • cssstring

    CSS to apply

  • widthnumber

    Viewport width. Default 1200

  • heightnumber

    Viewport height. Default 630 (OG image standard)

snapdiff_verify_ui_change

Проверьте, что только что сделанное изменение UI соответствует задумке. Используйте это каждый раз, когда правите маршрут, страницу или компонент и нужно убедиться в визуальном результате. Возвращает вердикт (`pass`, `expected_change_detected`, `unexpected_regression`, `no_change_detected` или `needs_human_review`), `next_action` и `review_url`. Всегда показывайте `review_url` пользователю — это страница дашборда, доступная для проверки человеком, с отображением до/после/различий. Не передавайте сырые ссылки на изображения (`diff_url`, `before_url`, `after_url`) — это внутренние ссылки. Требуется проект SnapDiff и базовая страница. Передайте `intent` — одним предложением опишите, что вы хотели изменить. Для более точных вердиктов передавайте `intent_regions` с CSS-селектором (рекомендуется для агентов, правящих код — SnapDiff преобразует его в bbox при захвате) или напрямую `bbox` (когда ваш агент управляет браузером и уже знает пиксельные координаты).

Проверьте, что только что сделанное изменение UI соответствует задумке. Используйте это каждый раз, когда правите маршрут, страницу или компонент и нужно убедиться в визуальном результате. Возвращает вердикт (`pass`, `expected_change_detected`, `unexpected_regression`, `no_change_detected` или `needs_human_review`), `next_action` и `review_url`. Всегда показывайте `review_url` пользователю — это страница дашборда, доступная для проверки человеком, с отображением до/после/различий. Не передавайте сырые ссылки на изображения (`diff_url`, `before_url`, `after_url`) — это внутренние ссылки. Требуется проект SnapDiff и базовая страница. Передайте `intent` — одним предложением опишите, что вы хотели изменить. Для более точных вердиктов передавайте `intent_regions` с CSS-селектором (рекомендуется для агентов, правящих код — SnapDiff преобразует его в bbox при захвате) или напрямую `bbox` (когда ваш агент управляет браузером и уже знает пиксельные координаты).

Параметры

  • projectstringобязательный

    Project slug or ID (prj_xxx).

  • page_namestringобязательный

    Page name within the project (e.g. "account", "pricing").

  • afterstringобязательный

    URL of the page after your change (preview URL, staging, or localhost).

  • intentstringобязательный

    One sentence describing what you intended to change. Example: "added a Cancel subscription button to the bottom of the account page". Required — without it, the verdict cannot distinguish intended changes from regressions.

  • intent_regionsobject[]

    Optional but recommended. Hints about where on the page your change should appear. Pass `selector` (resolved server-side) or `bbox` (already in pixels) — both produce geometric verdict matching. Without intent_regions the verdict falls back to conservative `needs_human_review`.

  • branchstring

    Branch to look up the baseline on. Defaults to the project's default branch.

  • thresholdnumber

    Per-pixel color sensitivity 0.0-1.0 (pixelmatch threshold). Lower = more sensitive. Default 0.1.

  • match_tolerance_percentnumber

    Maximum diff percentage that still counts as 'no change.' Defaults to 0.01% for verifications (10x stricter than the diff engine's general 0.1% noise floor) so subtle styling regressions don't slip through as no_change_detected. Raise it for noisier pages, lower it for ultra-strict gates. You almost never need to set this — the default is calibrated for the agent verification flow.

  • ignore_selectorsstring[]

    CSS selectors to mask out before comparison (e.g. timestamps, ads, dynamic counters).

  • full_pageboolean

    Compare full scrollable pages. Default false.

Другие проверенные MCP-сервера

QuantConnect/mcp-server

QuantConnect/mcp-server

официальный

Официальный MCP сервер QuantConnect — мост между AI-ассистентами и платформой. Через API позволяет создавать проекты, писать стратегии, запускать бэктесты и управлять live-трейдингом. Удобен для ра...

Python78
growthbook/growthbook-mcp

growthbook/growthbook-mcp

официальный

MCP сервер для GrowthBook — управляйте A/B-тестами и фича-флагами прямо из AI-ассистента. Просматривайте эксперименты, добавляйте флаги и автоматизируйте работу с GrowthBook без переключения в веб-...

TypeScript24
mariocandela/beelzebub

mariocandela/beelzebub

Beelzebub — MCP-сервер для развертывания адаптивных ловушек через SSH, HTTP, TCP, TELNET и MCP. LLM генерирует реалистичные ответы, привлекая атакующих для сбора угроз и обнаружения prompt injection в AI-агентах. Полезен специалистам по безопасности.

Go2091
optuna/optuna-mcp

optuna/optuna-mcp

официальный

MCP сервер для автоматизации оптимизации и анализа с помощью Optuna. Он позволяет LLM подбирать гиперпараметры, визуализировать результаты через чат или запускать дашборд. Упрощает работу ML-инжене...

Python81
haris-musa/excel-mcp-server

haris-musa/excel-mcp-server

MCP-сервер для работы с Excel-файлами без установленного офиса. Создавайте, читайте и редактируйте книги, листы, формулы, диаграммы и сводные таблицы через AI-агента. Подходит для автоматизации раб...

Python4041
stacklok/toolhive

stacklok/toolhive

ToolHive — open-source MCP-платформа для безопасного запуска серверов. Изолирует каждый MCP инструмент в контейнере, управляет доступом и аудитом. Подходит разработчикам, платформенным инженерам и предприятиям, которым нужен самохостинг и контроль данных.

Go1951
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин