Screenshot Scout

oficial

Capture screenshots of webpages as images or PDFs with Screenshot Scout.

O que você pode fazer com Screenshot Scout MCP?

  • Capturas de página inteira ou viewport — Solicite um PNG, JPEG, WebP, GIF, TIFF ou PDF de qualquer URL via capture_screenshot, com o modo opcional fullPage.
  • Controle de elementos e interação — Direcione um selector específico, oculte elementos com hideSelectors, clique em elementos via clickSelectors e bloqueie banners de cookies, anúncios ou widgets de chat.
  • Simulação de dispositivo e localização — Especifique um device, dimensões de viewport, country e colorScheme (escuro/claro) para simular diferentes contextos de navegação.
  • Geração de PDF com opções de layout — Crie PDFs com pdfPaperFormat, pdfLandscape, pdfPrintBackground, margens personalizadas e pdfScale para documentos prontos para impressão.
  • Redimensionamento de saída e ajuste de qualidade — Ajuste imageWidth, imageHeight e imageQuality (para JPEG/WebP) para controlar o tamanho do arquivo e a resolução.
  • Cache e entrega de resultados — Ative cache com um cacheTtl e escolha resultMode para obter imagens inline ou URLs temporárias apenas.

Documentação

Servidor MCP Screenshot Scout

Use o Screenshot Scout a partir de um cliente MCP para capturar páginas da web HTTP ou HTTPS como imagens ou PDFs.

Este servidor expõe uma ferramenta, capture_screenshot. Ele suporta capturas de página inteira e de elementos, controles de dispositivo e viewport, seleção de localização, opções de interação e bloqueio de página, dimensionamento e qualidade de imagem, layout de PDF, cache, URLs de resultados temporários e conteúdo de imagem MCP elegível.

O que você precisa

  • Uma conta Screenshot Scout e uma chave de acesso da página de chaves de API.
  • Node.js 22 ou mais recente para instalação via npm/stdio. O runtime MCPB do Claude Desktop é fornecido pelo Claude.
  • A chave secreta opcional apenas quando a chave de API selecionada exigir solicitações assinadas do Screenshot Scout.

Cada captura usa sua conta Screenshot Scout e está sujeita ao seu plano, cota e limites de taxa.

Stdio local com npm

Comece com esta configuração stdio local:

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

Se a chave de acesso exigir assinatura de solicitação, adicione a chave secreta localmente:

"SCREENSHOTSCOUT_SECRET_KEY": "YOUR_SECRET_KEY"

Mantenha arquivos de configuração pessoais fora do controle de versão. As credenciais são valores de ambiente do processo, não argumentos de ferramenta. Veja configurações de copiar e colar específicas do cliente para Claude Desktop, Claude Code, Cursor, VS Code/GitHub Copilot, Devin e Cline.

Executar a partir de um checkout do código-fonte

npm ci
npm run build

Aponte o cliente para o caminho absoluto de dist/stdio.js com node e forneça as mesmas variáveis de ambiente mostradas acima.

Claude Desktop MCPB

Para instalar a extensão Claude Desktop:

  1. Baixe o screenshotscout-mcp-<version>.mcpb do lançamento GitHub dessa versão.
  2. No Claude Desktop, abra Configurações → Extensões → Configurações avançadas e escolha Instalar Extensão….
  3. Selecione o arquivo baixado.
  4. Insira a chave de acesso necessária. Insira a chave secreta apenas para uma chave de API que exija solicitações assinadas.

O Claude Desktop trata ambos os campos como configurações sensíveis. O MCPB v0.1.0 suporta Windows.

HTTP Streamable hospedado

O endpoint hospedado da chave de API está ativo em:

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

Ele é destinado apenas a clientes que podem anexar um cabeçalho HTTP estático:

Authorization: Bearer YOUR_ACCESS_KEY

O endpoint aceita apenas uma chave de acesso. Nunca envie uma chave secreta do Screenshot Scout para ele e nunca coloque nenhuma chave na URL ou em um argumento de ferramenta. Clientes que não podem anexar um cabeçalho Bearer estático não podem usar este endpoint.

Chaves de API que exigem assinaturas de solicitação devem, em vez disso, usar stdio local ou MCPB, ou usar uma chave de acesso não assinada dedicada para o endpoint hospedado.

Stdio local com Docker

Construa a imagem de produção a partir de um checkout do código-fonte:

docker build --tag screenshotscout-mcp:local .

Passe as credenciais do ambiente local e mantenha o stdin anexado para o tráfego 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 permanece opcional. A imagem é executada como um usuário sem privilégios e contém apenas o servidor stdio compilado e suas dependências de produção. Ela não declara porta nem verificação de saúde do contêiner: um cliente MCP é dono do processo stdio e verifica a prontidão concluindo a inicialização do MCP. A imagem e seus metadados do Catálogo MCP do Docker em docker-mcp-catalog.yaml são preparação local; nenhuma imagem pública é implícita por esses comandos.

Ferramenta: capture_screenshot

capture_screenshot envia uma solicitação de captura para a URL fornecida e as opções. A página da web alvo é externa e seu conteúdo retornado deve ser tratado como não confiável.

Entradas

Apenas url é obrigatório. As capturas usam um viewport de 1280×720 por padrão. Quando nenhum formato é especificado, a ferramenta retorna JPEG com qualidade 60. resultMode é padronizado para "auto".

GrupoEntradas
Alvo e saídaurl; format (png, jpg, jpeg, webp, gif, tiff, pdf); resultMode (auto, url_only)
Localização e viewportcountry (código de país de duas letras), device, deviceViewportWidth, deviceViewportHeight, colorScheme (auto, dark, light), fullPage
Preparação da páginablockCookieBanners, blockAds, blockChatWidgets, selector, hideSelectors, clickSelectors
TempowaitUntil (load, domcontentloaded, networkidle0, networkidle2), delay (0–30 segundos), navigationTimeout (5–90 segundos), timeout (1–240 segundos)
Cachecache, cacheTtl (14.400–2.592.000 segundos)
Redimensionamento de saídaimageWidth, imageHeight (1–8.192; disponível para imagens e PDFs)
Somente imagemimageQuality (0–100, somente JPEG/WebP)
Somente PDFpdfPaperFormat (letter, legal, tabloid, a4, a3, content), pdfLandscape, pdfPrintBackground, pdfMargin, campos de margem por lado, pdfScale (maior que 0 e no máximo 3)

Quando ambas as dimensões de saída são fornecidas, o produto delas não pode exceder 64.000.000 pixels. As margens do PDF aceitam valores não negativos em px, in, mm ou cm. imageQuality exige saída JPEG ou WebP, e opções somente PDF exigem format: "pdf".

Resultados

  • PNG, JPEG, WebP e GIF podem ser incluídos como conteúdo de imagem MCP quando resultMode é auto, o tipo MIME é elegível, as dimensões são conhecidas e de no máximo 8.000 pixels por lado, os dados brutos têm no máximo 5 MiB e o resultado serializado completo cabe no limite atual de 128.000 bytes do servidor.
  • Uma captura que não é elegível para incorporação permanece bem-sucedida e retorna sua URL temporária além de um motivo de omissão acionável.
  • TIFF é somente URL.
  • Bytes de PDF nunca são incorporados. Um resultado PDF inclui texto seguro e metadados estruturados, além de um link de recurso quando o Screenshot Scout fornece uma URL de resultado.
  • resultMode: "url_only" omite bytes de imagem para todos os formatos.

Os clientes MCP controlam se o conteúdo de imagem retornado ou links de recurso são exibidos ou disponibilizados para um modelo.

Os metadados estruturados podem incluir screenshotUrl, screenshotUrlExpiresAt, cacheStatus, format, mimeType, imageWidth, imageHeight, inlineImageIncluded e inlineImageOmissionReason.

Trate URLs de resultado como links sensíveis e temporários e respeite a expiração informada.

Exemplos de prompts

  • “Capture https://example.com como um PNG de página inteira no modo escuro. Retorne apenas uma URL.”
  • “Tire um screenshot JPEG 1280×720 de https://example.com/pricing, bloqueie banners de cookies e anúncios e use qualidade 80.”
  • “Crie um PDF A4 de https://example.com/report com fundos habilitados e margens de 10 mm.”

Privacidade e segurança

O servidor envia a URL alvo e as opções de captura selecionadas ao Screenshot Scout, que carrega o site alvo. Revise a política de privacidade do Screenshot Scout antes de capturar material privado ou regulado.

  • Não capture páginas que você não está autorizado a acessar.
  • Não cole credenciais em prompts, entradas de ferramenta, URLs, relatórios de problemas ou logs.
  • Mantenha chaves de acesso locais e secretas em armazenamento de segredos gerenciado pelo cliente ou configuração de ambiente privada.
  • O servidor stdio local não adiciona telemetria. O registro de aplicação para o serviço hospedado é limitado a método de solicitação, status de resposta, duração e erros inesperados sanitizados. Ele é projetado para não incluir credenciais, URLs alvo, URLs de screenshots, conteúdo de solicitação ou resposta ou bytes de imagem.
  • Revise cada alvo e solicitação de captura antes de permitir o uso da ferramenta. A ferramenta é de mundo aberto, consome cota e interage com um site externo.
  • Relate vulnerabilidades de forma privada conforme descrito em SECURITY.md.

Desenvolvimento

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

Licença

MIT © Oleksii Velykyi