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: эталон это референсный скриншот, с которым сравниваются все будущие проверки. Для URL localhost страница захватывается локально с помощью headless-браузера (туннель не требуется). Для публичных URL её захватывает бэкенд SnapDiff. Возвращает результат, когда эталон подтверждён на месте.

Параметры
  • branchstring

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

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

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

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

    Project slug or ID (prj_xxx).

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

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

snapdiff_capture_screenshot

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

Параметры
  • dark_modeboolean

    Force dark color scheme. Default false

  • full_pageboolean

    Capture the entire scrollable page. Default false

  • selectorstring

    CSS selector to capture only a specific element

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

    The full URL to screenshot

  • widthnumber

    Viewport width in pixels. Default 1280

snapdiff_check_build

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

Параметры
  • branchstring

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

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

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

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

    Project slug or ID (prj_xxx).

snapdiff_compare_pages

Визуально сравнивает две веб-страницы, чтобы выявить различия. Используется для проверки, что изменение кода не сломало интерфейс, сравнения стейджинга с продакшеном или проверки, изменилась ли страница. Делает скриншоты обеих страниц, выполняет попиксельное сравнение и возвращает процент различий плюс подсвеченное изображение диффа, показывающее, что именно изменилось. Это основной инструмент — используй его всегда, когда нужно проверить визуальный вывод. Два режима: 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.

  • branchstring

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

  • full_pageboolean

    Compare full scrollable pages. Default false

  • ignore_selectorsstring[]

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

  • page_namestring

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

  • projectstring

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

  • thresholdnumber

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

snapdiff_html_to_image

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

Параметры
  • cssstring

    CSS to apply

  • heightnumber

    Viewport height. Default 630 (OG image standard)

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

    The HTML to render

  • widthnumber

    Viewport width. Default 1200

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-селектор (selector, рекомендуется для агентов, редактирующих код — SnapDiff преобразует его в ограничивающий прямоугольник при захвате), либо напрямую через bbox (когда ваш агент управляет браузером и уже знает координаты пикселей).

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

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

  • branchstring

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

  • full_pageboolean

    Compare full scrollable pages. Default false.

  • ignore_selectorsstring[]

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

  • 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.

  • 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.

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

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

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

    Project slug or ID (prj_xxx).

  • thresholdnumber

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

Похожие MCP-сервера

copperline-labs/rendex-mcp

copperline-labs/rendex-mcp

MCP-сервер Rendex рендерит HTML, Markdown или URL в изображение/PDF. AI-агенты делают скриншоты, извлекают читаемый контент и отслеживают изменения страниц. Полезен для визуального тестирования, RA...

TypeScript7
keiver/image-tiler-mcp-server

keiver/image-tiler-mcp-server

MCP-сервер для полноразрешительного зрения LLM: разбивает крупные изображения и целые веб-страницы на тайлы, сохраняя детали, которые теряются при автоматическом сжатии. Полезен разработчикам и QA ...

TypeScript2
Custodia-Admin/pagebolt-mcp

Custodia-Admin/pagebolt-mcp

PageBolt MCP сервер открывает AI-ассистентам браузерную веб-автоматизацию: скриншоты, PDF и запись демо-видео. Также инспектирует страницы и создаёт OG-картинки. Просто опишите задачу — сервер выполнит.

JavaScript4
FileToPDF/filetopdf-mcp

FileToPDF/filetopdf-mcp

MCP сервер для конвертации файлов, HTML и Markdown в PDF через естественный язык. Поддерживает DOCX, XLSX, PPTX, изображения и веб-страницы. Использует API FileToPDF (бесплатный ключ на 10 конверсий без регистрации). Подходит для создания счетов, отчетов и документации в любом MCP-клиенте (Claude...

TypeScript2
just-every/mcp-screenshot-website-fast

just-every/mcp-screenshot-website-fast

Быстрый MCP-сервер для скриншотов веб-страниц, оптимизированный под Claude Vision. Автоматически разбивает полные страницы на тайлы 1072x1072. Поддерживает скринкасты, захват CSS-селекторов и настр...

TypeScript109
site-shot/site-shot-mcp

site-shot/site-shot-mcp

MCP-сервер для создания скриншотов веб-страниц через Site-Shot с реальным рендерингом Chromium. Поддерживает полностраничный захват, автоматическое удаление рекламы и cookie-баннеров. Работает с Cl...

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

Лука Никитин