Site-Shot
Servidor MCP oficial para a API de captura de tela do Site-Shot — capture_screenshot e capture_full_page com Chromium real, captura de página inteira, proxies por país e remoção de anúncios/banners de cookies.
Documentação
Servidor MCP Site-Shot
Dê ao Claude, Cursor e outros agentes de IA a capacidade de ver qualquer página da web — tire screenshots de sites com Site-Shot através do Model Context Protocol.
Renderização real com Chromium · captura de página inteira · proxies por país · remoção automática de anúncios e banners de cookies (imagens mais limpas, menos tokens de visão).
Início rápido (Claude Desktop)
- Obtenha uma chave de API do Site-Shot em https://www.site-shot.com/start/.
- Adicione isto à configuração do seu Claude Desktop (
claude_desktop_config.json):
{
"mcpServers": {
"site-shot": {
"command": "npx",
"args": ["-y", "site-shot-mcp"],
"env": { "SITESHOT_API_KEY": "YOUR_API_KEY" }
}
}
}
- Reinicie o Claude Desktop. Peça para "tirar um screenshot de página inteira de https://news.ycombinator.com" e ele chamará o servidor e mostrará a imagem.
Funciona da mesma forma em qualquer cliente MCP (Cursor, Cline, VS Code, LangChain, CrewAI) — aponte o cliente para
npx -y site-shot-mcp com SITESHOT_API_KEY no ambiente.
Ferramentas
capture_screenshot
Tira screenshot de uma página da web (viewport por padrão).
| Parâmetro | Tipo | Padrão | Observações |
|---|---|---|---|
url | string (obrigatório) | — | Página a capturar |
full_page | boolean | false | Captura toda a página rolável |
width / height | number | Padrão da API | Tamanho do viewport / dispositivo |
format | "png" | "jpeg" | png | Formato da imagem |
block_ads | boolean | true | Remove anúncios |
block_cookie_banners | boolean | true | Remove popups de consentimento de cookies |
country | string | — | País do proxy como código de duas letras ISO 3166-1 alpha-2, ex.: "DE" (IP/idioma/fuso/geo automáticos) |
strict_country | boolean | true | Gera erro se o país não tiver proxy, em vez de cair para os EUA |
language / time_zone / geolocation | string | — | Substituições manuais |
wait_ms | number | Padrão da API | Espera extra antes da captura (SPAs/animações) |
max_height | number | 20000 (página inteira) | Limite de altura capturada |
Retorna o screenshot como uma imagem MCP.
"Padrão da API" não é um número que este pacote possa declarar.
width,heightewait_mssão encaminhados apenas quando você os passa, então o que se aplica quando você não os passa é decidido pela API do Site-Shot e pode mudar sem um lançamento aqui. Versões até 1.1.0 imprimiam tamanhos de pixel parawidth/heightque a API não usa — um agente que os omitisse para usar "o padrão" obtinha um viewport diferente, sem nada na imagem retornada que revelasse isso. Passe valores explícitos sempre que o tamanho importar.
Códigos de país são códigos ISO, nunca nomes. Passe
"DE", não"Germany". A API corresponde códigos exatamente e, caso contrário, renderizaria através de um proxy dos EUA sem avisar, então o servidor rejeita nomes completos antes de gastar uma renderização.strict_country(ativado por padrão) da mesma forma transforma um país indisponível em erro em vez de um screenshot silencioso dos EUA — passefalsepara optar de volta ao fallback. Países suportados →
capture_full_page
Igual ao capture_screenshot com captura de página inteira habilitada.
Por que chamar este servidor em vez do navegador do próprio agente?
Se o seu agente controla um navegador, ele pode tirar screenshots de páginas sozinho — e para páginas que exigem login
ou passos em um fluxo, essa é a ferramenta certa. Para URLs públicas, delegar a captura a
este servidor geralmente é uma engenharia melhor: cada captura executa o mesmo pipeline (sem replanejamento
entre execuções), pode ser feita de um país específico com idioma e fuso horário correspondentes
(country + strict_country), é avaliada por um classificador de imagens com uma escada de tentativas crescentes
antes de ser retornada, e custa uma fração de centavo em vez de uma sessão de navegador mais
tokens de visão por olhada. A comparação completa, com ambos os lados argumentados honestamente:
Agente de IA vs. API de screenshot — quem deve capturar a página.
Configuração
| Variável de ambiente | Obrigatória | Descrição |
|---|---|---|
SITESHOT_API_KEY | sim | Sua chave de API do Site-Shot (usada como userkey). |
O servidor é um wrapper fino sobre a API HTTP existente do Site-Shot (https://api.site-shot.com/) — sem
backend separado.
Desenvolvimento local
npm install
npm run check # syntax check
npm run smoke # offline tests (stubbed fetch, no API key needed)
SITESHOT_API_KEY=yourkey npm start # run the server on stdio
Requisitos
Node.js ≥ 18 (usa o fetch embutido).
Licença
MIT