Site-Shot
Servidor MCP oficial para la API de captura de pantalla de sitios web Site-Shot — capture_screenshot y capture_full_page con Chromium real, captura de página completa, proxies por país y eliminación de anuncios y banners de cookies.
Documentación
Servidor MCP de Site-Shot
Dale a Claude, Cursor y otros agentes de IA la capacidad de ver cualquier página web — toma capturas de pantalla de sitios web con Site-Shot a través del Protocolo de Contexto de Modelo.
Renderizado real de Chromium · captura de página completa · proxies por país · eliminación automática de anuncios y banners de cookies (imágenes más limpias, menos tokens de visión).
Inicio rápido (Claude Desktop)
- Obtén una clave de API de Site-Shot en https://www.site-shot.com/start/.
- Añade esto a tu configuración de Claude Desktop (
claude_desktop_config.json):
{
"mcpServers": {
"site-shot": {
"command": "npx",
"args": ["-y", "site-shot-mcp"],
"env": { "SITESHOT_API_KEY": "YOUR_API_KEY" }
}
}
}
- Reinicia Claude Desktop. Pídele que "tome una captura de pantalla de página completa de https://news.ycombinator.com" y llamará al servidor y te mostrará la imagen.
Funciona igual en cualquier cliente MCP (Cursor, Cline, VS Code, LangChain, CrewAI) — apunta el cliente a
npx -y site-shot-mcp con SITESHOT_API_KEY en el entorno.
Herramientas
capture_screenshot
Captura una página web (viewport por defecto).
| Parámetro | Tipo | Predeterminado | Notas |
|---|---|---|---|
url | string (obligatorio) | — | Página a capturar |
full_page | boolean | false | Captura toda la página desplazable |
width / height | number | Predeterminado de la API | Tamaño del viewport / dispositivo |
format | "png" | "jpeg" | png | Formato de imagen |
block_ads | boolean | true | Eliminar anuncios |
block_cookie_banners | boolean | true | Eliminar ventanas emergentes de consentimiento de cookies |
country | string | — | País del proxy como código de dos letras ISO 3166-1 alpha-2, p. ej. "DE" (IP/idioma/zona horaria/geo automáticos) |
strict_country | boolean | true | Error si el país no tiene proxy, en lugar de recurrir a EE. UU. |
language / time_zone / geolocation | string | — | Anulaciones manuales |
wait_ms | number | Predeterminado de la API | Espera adicional antes de la captura (SPAs/animaciones) |
max_height | number | 20000 (página completa) | Límite de altura capturada |
Devuelve la captura de pantalla como una imagen MCP.
"Predeterminado de la API" no es un número que este paquete pueda declarar.
width,heightywait_msse reenvían solo cuando los pasas, así que lo que aplique cuando no los pasas lo decide la API de Site-Shot y puede cambiar sin una versión aquí. Las versiones hasta 1.1.0 imprimían tamaños de píxeles parawidth/heightque la API no usa — un agente que los omitiera para tomar "el predeterminado" obtenía un viewport diferente, sin nada en la imagen devuelta que lo revelara. Pasa valores explícitos siempre que el tamaño importe.
Los códigos de país son códigos ISO, nunca nombres. Pasa
"DE", no"Germany". La API compara códigos exactamente y de lo contrario renderizaría a través de un proxy de EE. UU. sin decírtelo, así que el servidor rechaza nombres completos antes de gastar un renderizado.strict_country(activado por defecto) igualmente convierte un país no disponible en un error en lugar de una captura silenciosa de EE. UU. — pasafalsepara volver a optar por la alternativa. Países compatibles →
capture_full_page
Igual que capture_screenshot con la captura de página completa habilitada.
¿Por qué llamar a este servidor en lugar del navegador del propio agente?
Si tu agente controla un navegador, puede capturar páginas él mismo — y para páginas que requieren inicio de sesión
o pasos a través de un flujo, esa es la herramienta adecuada. Para URLs públicas, delegar la captura a
este servidor suele ser mejor ingeniería: cada captura ejecuta el mismo pipeline (sin replanificación
entre ejecuciones), puede tomarse desde un país específico con idioma y zona horaria coincidentes
(country + strict_country), es evaluada por un clasificador de imágenes con una escalera de reintentos
detrás antes de devolverse, y cuesta una fracción de centavo en lugar de una sesión de navegador más
tokens de visión por mirada. La comparación completa, ambos sentidos argumentados honestamente:
Agente de IA vs. API de capturas — quién debería capturar la página.
Configuración
| Variable de entorno | Obligatoria | Descripción |
|---|---|---|
SITESHOT_API_KEY | sí | Tu clave de API de Site-Shot (usada como userkey). |
El servidor es un envoltorio ligero sobre la API HTTP existente de Site-Shot (https://api.site-shot.com/) — sin
backend separado.
Desarrollo 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 el fetch integrado).
Licencia
MIT