API VEGA

Сервер 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 и подчиняется его плану, квотам и пределам скорости.

Локальная 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:

  • Загрузите screenshotscout-mcp-<version>.mcpb из релиза GitHub соответствующей версии.
  • В Claude Desktop откройте Настройки → Расширения → Расширенные настройки и выберите Install Extension….
  • Выберите загруженный файл.
  • Введите требуемый ключ доступа. Введите секретный ключ только для API-ключа, который требует подписанных запросов.

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

Hosted Streamable HTTP

Эндпоинт API-ключей, размещённый на хостинге, доступен по адресу:

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

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

Authorization: Bearer YOUR_ACCESS_KEY

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

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

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

Соберите production-образ из исходной копии:

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, per-side margin fields, 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 MiB, и полный сериализованный результат помещается в текущий лимит сервера 128 000 байт.

  • Захват, который не подходит для встраивания, остаётся успешным и возвращает временный URL плюс обоснование отсутствия контента.

  • TIFF — только URL.

  • PDF-байты никогда не встраиваются. Результат PDF включает безопасный текст и структурированные метаданные, а также ссылку на ресурс, если Screenshot Scout предоставляет URL результата.

  • resultMode: "url_only" исключает саму байтовую часть изображения для каждого формата.

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

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

Обращайте результатные URLs как к чувствительным временным ссылкам и соблюдайте их срок действия.

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

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

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

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

  • Не захватывайте страницы, к которым у вас нет доступа.
  • Не вставляйте учётные данные в prompts, входы инструментов, URL, issue-отчёты или логи.
  • Храните локальные доступы и секретные ключи в управляемом клиентом хранилище секретов или в приватной конфигурации окружения.
  • Локальный stdio-сервер не отправляет телеметрию. Логирование hosted-сервиса ограничено методами запроса, статусом ответа, временем выполнения и безопасно-закодированными ошибками. Он не должен содержать учётные данные, целевые 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