Screenshot Scout

официальный

Делайте скриншоты веб-страниц в виде изображений или PDF с помощью Screenshot Scout.

Что можно делать с Screenshot Scout MCP?

  • Полностраничные снимки или снимки области просмотра — Запросите PNG, JPEG, WebP, GIF, TIFF или PDF любого URL-адреса через capture_screenshot, с опциональным режимом fullPage.
  • Управление элементами и взаимодействие — Нацельтесь на конкретный selector, скройте элементы с помощью hideSelectors, кликайте по элементам через clickSelectors и блокируйте баннеры cookie, рекламу или виджеты чата.
  • Симуляция устройства и местоположения — Укажите device, размеры области просмотра, country и colorScheme (тёмная/светлая), чтобы имитировать различные контексты просмотра.
  • Генерация PDF с параметрами макета — Создавайте PDF-файлы с pdfPaperFormat, pdfLandscape, pdfPrintBackground, настраиваемыми полями и pdfScale для документов, готовых к печати.
  • Изменение размера вывода и настройка качества — Регулируйте imageWidth, imageHeight и imageQuality (для JPEG/WebP), чтобы контролировать размер файла и разрешение.
  • Кэширование и доставка результатов — Включите cache с cacheTtl и выберите resultMode, чтобы получать встроенные изображения или только временные URL-адреса.

Документация

MCP-сервер Screenshot Scout

Используйте Screenshot Scout из MCP-клиента для захвата HTTP- или HTTPS-веб-страниц в виде изображений или PDF.

Этот сервер предоставляет один инструмент — capture_screenshot. Он поддерживает захват полных страниц и отдельных элементов, управление устройством и окном просмотра, выбор местоположения, параметры взаимодействия со страницей и блокировки, размер и качество изображений, макет PDF, кэширование, временные URL-адреса результатов и допустимый MCP-контент изображений.

Что вам понадобится

  • Учётная запись Screenshot Scout и ключ доступа со страницы ключей API.
  • Node.js 22 или новее для установки через npm/stdio. Среда выполнения MCPB Claude Desktop поставляется с Claude.
  • Необязательный секретный ключ, только если выбранный вами ключ API требует подписанных запросов Screenshot Scout.

Каждый захват использует вашу учётную запись Screenshot Scout и подчиняется её тарифному плану, квоте и лимитам частоты запросов.

Локальный stdio через npm

Начните с этой локальной конфигурации stdio:

{
  "mcpServers": {
    "screenshotscout": {
      "command": "npx",
      "args": ["-y", "@screenshotscout/mcp"],
      "env": {
        "SCREENSHOTSCOUT_ACCESS_KEY": "YOUR_ACCESS_KEY"
      }
    }
  }
}

Если ключ доступа требует подписания запросов, добавьте секретный ключ локально:

"SCREENSHOTSCOUT_SECRET_KEY": "YOUR_SECRET_KEY"

Храните личные файлы конфигурации вне системы контроля версий. Учётные данные — это значения переменных окружения процесса, а не аргументы инструмента. См. готовые конфигурации для конкретных клиентов для Claude Desktop, Claude Code, Cursor, VS Code/GitHub Copilot, Devin и Cline.

Запуск из исходного кода

npm ci
npm run build

Укажите клиенту абсолютный путь к dist/stdio.js с node и предоставьте те же переменные окружения, что показаны выше.

Claude Desktop MCPB

Чтобы установить расширение Claude Desktop:

  1. Загрузите screenshotscout-mcp-<version>.mcpb из GitHub-релиза этой версии.
  2. В Claude Desktop откройте Настройки → Расширения → Дополнительные настройки и выберите Установить расширение….
  3. Выберите загруженный файл.
  4. Введите необходимый ключ доступа. Секретный ключ вводите только для ключа API, который требует подписанных запросов.

Claude Desktop рассматривает оба поля как конфиденциальные настройки. MCPB v0.1.0 поддерживает Windows.

Размещённый Streamable HTTP

Размещённая конечная точка API-ключа доступна по адресу:

https://mcp.screenshotscout.com/mcp/api-key

Она предназначена только для клиентов, которые могут присоединять статический HTTP-заголовок:

Authorization: Bearer YOUR_ACCESS_KEY

Конечная точка принимает только ключ доступа. Никогда не отправляйте ей секретный ключ Screenshot Scout и не помещайте ни один из ключей в URL или аргумент инструмента. Клиенты, которые не могут присоединить статический заголовок Bearer, не могут использовать эту конечную точку.

Ключи API, требующие подписи запросов, должны вместо этого использовать локальный stdio или MCPB, либо использовать выделенный неподписанный ключ доступа для размещённой конечной точки.

Локальный stdio через Docker

Соберите производственный образ из исходного кода:

docker build --tag screenshotscout-mcp:local .

Передайте учётные данные из локального окружения и оставьте stdin подключённым для трафика MCP stdio:

docker run --rm -i --init --cap-drop=ALL --security-opt=no-new-privileges --read-only \
  -e SCREENSHOTSCOUT_ACCESS_KEY \
  -e SCREENSHOTSCOUT_SECRET_KEY \
  screenshotscout-mcp:local

SCREENSHOTSCOUT_SECRET_KEY остаётся необязательным. Образ запускается от непривилегированного пользователя и содержит только скомпилированный stdio-сервер и его производственные зависимости. Он не объявляет порт или проверку здоровья контейнера: MCP-клиент владеет процессом stdio и проверяет готовность, завершая инициализацию MCP. Образ и его метаданные Docker MCP Catalog в docker-mcp-catalog.yaml являются локальной подготовкой; эти команды не подразумевают публичный образ.

Инструмент: capture_screenshot

capture_screenshot отправляет один запрос на захват для указанного URL и параметров. Целевая веб-страница является внешней, и её возвращённое содержимое должно рассматриваться как ненадёжное.

Входные параметры

Только url является обязательным. Захваты по умолчанию используют окно просмотра 1280×720. Когда формат не указан, инструмент возвращает JPEG с качеством 60. resultMode по умолчанию равен "auto".

ГруппаВходные параметры
Цель и выводurl; format (png, jpg, jpeg, webp, gif, tiff, pdf); resultMode (auto, url_only)
Местоположение и окно просмотраcountry (двухбуквенный код страны), device, deviceViewportWidth, deviceViewportHeight, colorScheme (auto, dark, light), fullPage
Подготовка страницыblockCookieBanners, blockAds, blockChatWidgets, selector, hideSelectors, clickSelectors
ВремяwaitUntil (load, domcontentloaded, networkidle0, networkidle2), delay (0–30 секунд), navigationTimeout (5–90 секунд), timeout (1–240 секунд)
Кэшcache, cacheTtl (14,400–2,592,000 секунд)
Изменение размера выводаimageWidth, imageHeight (1–8,192; доступно для изображений и PDF)
Только изображениеimageQuality (0–100, только JPEG/WebP)
Только PDFpdfPaperFormat (letter, legal, tabloid, a4, a3, content), pdfLandscape, pdfPrintBackground, pdfMargin, поля на каждую сторону, pdfScale (больше 0 и не более 3)

Когда указаны оба размера вывода, их произведение не может превышать 64,000,000 пикселей. Поля PDF принимают неотрицательные значения в px, in, mm, или cm. imageQuality требует вывода JPEG или WebP, а параметры только для PDF требуют format: "pdf".

Результаты

  • PNG, JPEG, WebP и GIF могут быть включены в качестве MCP-изображений, когда resultMode равен auto, тип MIME допустим, размеры известны и не превышают 8,000 пикселей на сторону, необработанные данные не превышают 5 МиБ, а полный сериализованный результат укладывается в текущий лимит сервера в 128,000 байт.
  • Захват, который не подходит для встраивания, остаётся успешным и возвращает временный URL-адрес плюс действенную причину пропуска.
  • TIFF доступен только по URL-адресу.
  • PDF-байты никогда не встраиваются. Результат PDF включает безопасный текст и структурированные метаданные, а также ссылку на ресурс, когда Screenshot Scout предоставляет URL-адрес результата.
  • resultMode: "url_only" опускает байты изображения для всех форматов.

MCP-клиенты управляют тем, отображается ли возвращённое содержимое изображений или ссылки на ресурсы или предоставляются модели.

Структурированные метаданные могут включать screenshotUrl, screenshotUrlExpiresAt, cacheStatus, format, mimeType, imageWidth, imageHeight, inlineImageIncluded и inlineImageOmissionReason.

Относитесь к URL-адресам результатов как к конфиденциальным временным ссылкам и уважайте указанный срок их действия.

Примеры запросов

  • «Захватите https://example.com как полноэкранный PNG в тёмном режиме. Верните только URL-адрес.»
  • «Сделайте скриншот JPEG 1280×720 для https://example.com/pricing, заблокируйте баннеры cookie и рекламу и используйте качество 80.»
  • «Создайте PDF формата A4 для https://example.com/report с включёнными фонами и полями 10 мм.»

Конфиденциальность и безопасность

Сервер отправляет целевой URL-адрес и выбранные параметры захвата в Screenshot Scout, который загружает целевой веб-сайт. Ознакомьтесь с политикой конфиденциальности Screenshot Scout перед захватом частных или регулируемых материалов.

  • Не захватывайте страницы, к которым у вас нет разрешения на доступ.
  • Не вставляйте учётные данные в подсказки, входные данные инструментов, URL-адреса, отчёты о проблемах или журналы.
  • Храните локальные ключи доступа и секретные ключи в управляемом клиентом хранилище секретов или в частной конфигурации окружения.
  • Локальный stdio-сервер не добавляет телеметрию. Журналирование приложения для размещённого сервиса ограничено методом запроса, статусом ответа, длительностью и очищенными непредвиденными ошибками. Оно разработано так, чтобы не включать учётные данные, целевые URL-адреса, URL-адреса скриншотов, содержимое запросов или ответов, или байты изображений.
  • Проверяйте каждый целевой и захватываемый запрос перед разрешением использования инструмента. Инструмент является открытым, потребляет квоту и взаимодействует с внешним веб-сайтом.
  • Сообщайте об уязвимостях конфиденциально, как описано в SECURITY.md.

Разработка

npm ci
npm run format:check
npm run lint
npm run typecheck
npm test
npm run metadata:check
npm run registry:validate
npm run mcpb:validate
npm run mcpb:pack

Лицензия

MIT © Oleksii Velykyi