Сервер 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) |
| Только PDF | pdfPaperFormat (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