Screenshot Scout

oficial

Captura capturas de pantalla de páginas web como imágenes o PDFs con Screenshot Scout.

¿Qué puedes hacer con Screenshot Scout MCP?

  • Capturas de página completa o de viewport — Solicita un PNG, JPEG, WebP, GIF, TIFF o PDF de cualquier URL mediante capture_screenshot, con el modo fullPage opcional.
  • Control de elementos e interacción — Apunta a un selector específico, oculta elementos con hideSelectors, haz clic en elementos mediante clickSelectors y bloquea banners de cookies, anuncios o widgets de chat.
  • Simulación de dispositivo y ubicación — Especifica un device, dimensiones de viewport, country y colorScheme (oscuro/claro) para imitar diferentes contextos de navegación.
  • Generación de PDF con opciones de diseño — Crea PDFs con pdfPaperFormat, pdfLandscape, pdfPrintBackground, márgenes personalizados y pdfScale para documentos listos para imprimir.
  • Ajuste de tamaño de salida y calidad — Ajusta imageWidth, imageHeight e imageQuality (para JPEG/WebP) para controlar el tamaño de archivo y la resolución.
  • Caché y entrega de resultados — Habilita cache con un cacheTtl y elige resultMode para obtener imágenes en línea o solo URLs temporales.

Documentación

Servidor MCP de Screenshot Scout

Usa Screenshot Scout desde un cliente MCP para capturar páginas web HTTP o HTTPS como imágenes o PDFs.

Este servidor expone una herramienta, capture_screenshot. Admite capturas de página completa y de elementos, controles de dispositivo y viewport, selección de ubicación, opciones de interacción y bloqueo de página, tamaño y calidad de imagen, diseño de PDF, caché, URLs de resultados temporales y contenido de imagen MCP elegible.

Lo que necesitas

  • Una cuenta de Screenshot Scout y una clave de acceso desde la página de claves API.
  • Node.js 22 o superior para la instalación npm/stdio. El runtime MCPB de Claude Desktop está incluido con Claude.
  • La clave secreta opcional solo cuando tu clave API seleccionada requiere solicitudes firmadas de Screenshot Scout.

Cada captura usa tu cuenta de Screenshot Scout y está sujeta a su plan, cuota y límites de tasa.

Stdio local con npm

Comienza con esta configuración stdio local:

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

Si la clave de acceso requiere firma de solicitudes, añade la clave secreta localmente:

"SCREENSHOTSCOUT_SECRET_KEY": "YOUR_SECRET_KEY"

Mantén los archivos de configuración personales fuera del control de versiones. Las credenciales son valores de entorno del proceso, no argumentos de herramientas. Consulta las configuraciones de copiar y pegar específicas para clientes para Claude Desktop, Claude Code, Cursor, VS Code/GitHub Copilot, Devin y Cline.

Ejecutar desde una copia del código fuente

npm ci
npm run build

Apunta el cliente a la ruta absoluta de dist/stdio.js con node, y proporciona las mismas variables de entorno mostradas arriba.

Claude Desktop MCPB

Para instalar la extensión de Claude Desktop:

  1. Descarga screenshotscout-mcp-<version>.mcpb desde el release de GitHub de esa versión.
  2. En Claude Desktop, abre Configuración → Extensiones → Configuración avanzada y elige Instalar extensión….
  3. Selecciona el archivo descargado.
  4. Introduce la clave de acceso requerida. Introduce la clave secreta solo para una clave API que requiera solicitudes firmadas.

Claude Desktop trata ambos campos como configuraciones sensibles. El MCPB v0.1.0 es compatible con Windows.

HTTP Streamable alojado

El endpoint alojado de clave API está disponible en:

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

Está destinado únicamente a clientes que puedan adjuntar un encabezado HTTP estático:

Authorization: Bearer YOUR_ACCESS_KEY

El endpoint acepta únicamente una clave de acceso. Nunca envíes una clave secreta de Screenshot Scout a él, y nunca pongas ninguna de las claves en la URL o en un argumento de herramienta. Los clientes que no puedan adjuntar un encabezado Bearer estático no pueden usar este endpoint.

Las claves API que requieren firmas de solicitud deben usar en su lugar stdio local o MCPB, o usar una clave de acceso sin firmar dedicada para el endpoint alojado.

Stdio local con Docker

Construye la imagen de producción desde una copia del código fuente:

docker build --tag screenshotscout-mcp:local .

Pasa las credenciales desde el entorno local y mantén stdin adjunto para el tráfico 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 sigue siendo opcional. La imagen se ejecuta como un usuario sin privilegios y contiene solo el servidor stdio compilado y sus dependencias de producción. No declara ningún puerto ni verificación de salud del contenedor: un cliente MCP es dueño del proceso stdio y verifica la disponibilidad completando la inicialización de MCP. La imagen y sus metadatos del Catálogo MCP de Docker en docker-mcp-catalog.yaml son preparación local; estos comandos no implican ninguna imagen pública.

Herramienta: capture_screenshot

capture_screenshot envía una solicitud de captura para la URL y las opciones proporcionadas. La página web de destino es externa, y su contenido devuelto debe tratarse como no confiable.

Entradas

Solo se requiere url. Las capturas usan un viewport de 1280×720 por defecto. Cuando no se especifica ningún formato, la herramienta devuelve JPEG con calidad 60. resultMode tiene como valor predeterminado "auto".

GrupoEntradas
Destino y salidaurl; format (png, jpg, jpeg, webp, gif, tiff, pdf); resultMode (auto, url_only)
Ubicación y viewportcountry (código de país de dos letras), device, deviceViewportWidth, deviceViewportHeight, colorScheme (auto, dark, light), fullPage
Preparación de páginablockCookieBanners, blockAds, blockChatWidgets, selector, hideSelectors, clickSelectors
TemporizaciónwaitUntil (load, domcontentloaded, networkidle0, networkidle2), delay (0–30 segundos), navigationTimeout (5–90 segundos), timeout (1–240 segundos)
Cachécache, cacheTtl (14.400–2.592.000 segundos)
Redimensionamiento de salidaimageWidth, imageHeight (1–8.192; disponible para imágenes y PDFs)
Solo imagenimageQuality (0–100, solo JPEG/WebP)
Solo PDFpdfPaperFormat (letter, legal, tabloid, a4, a3, content), pdfLandscape, pdfPrintBackground, pdfMargin, campos de margen por lado, pdfScale (mayor que 0 y como máximo 3)

Cuando se proporcionan ambas dimensiones de salida, su producto no puede superar los 64.000.000 de píxeles. Los márgenes de PDF aceptan valores no negativos en px, in, mm o cm. imageQuality requiere salida JPEG o WebP, y las opciones solo de PDF requieren format: "pdf".

Resultados

  • PNG, JPEG, WebP y GIF pueden incluirse como contenido de imagen MCP cuando resultMode es auto, el tipo MIME es elegible, las dimensiones son conocidas y de como máximo 8.000 píxeles por lado, los datos sin procesar son de como máximo 5 MiB, y el resultado serializado completo cabe en el límite actual de 128.000 bytes del servidor.
  • Una captura que no es elegible para incrustarse sigue siendo exitosa y devuelve su URL temporal más un motivo de omisión accionable.
  • TIFF es solo URL.
  • Los bytes de PDF nunca se incrustan. Un resultado PDF incluye texto seguro y metadatos estructurados, además de un enlace de recurso cuando Screenshot Scout proporciona una URL de resultado.
  • resultMode: "url_only" omite los bytes de imagen para todos los formatos.

Los clientes MCP controlan si el contenido de imagen devuelto o los enlaces de recursos se muestran o se ponen a disposición de un modelo.

Los metadatos estructurados pueden incluir screenshotUrl, screenshotUrlExpiresAt, cacheStatus, format, mimeType, imageWidth, imageHeight, inlineImageIncluded y inlineImageOmissionReason.

Trata las URLs de resultados como enlaces sensibles y temporales, y respeta su caducidad informada.

Ejemplos de indicaciones

  • "Captura https://example.com como PNG de página completa en modo oscuro. Devuelve solo una URL."
  • "Toma una captura JPEG de 1280×720 de https://example.com/pricing, bloquea banners de cookies y anuncios, y usa calidad 80."
  • "Crea un PDF A4 de https://example.com/report con fondos habilitados y márgenes de 10 mm."

Privacidad y seguridad

El servidor envía la URL de destino y las opciones de captura seleccionadas a Screenshot Scout, que carga el sitio web de destino. Revisa la política de privacidad de Screenshot Scout antes de capturar material privado o regulado.

  • No captures páginas a las que no estés autorizado a acceder.
  • No pegues credenciales en indicaciones, entradas de herramientas, URLs, informes de problemas o registros.
  • Mantén las claves de acceso y secretas locales en almacenamiento de secretos gestionado por el cliente o en configuración de entorno privada.
  • El servidor stdio local no añade telemetría. El registro de aplicaciones para el servicio alojado se limita al método de solicitud, estado de respuesta, duración y errores inesperados saneados. Está diseñado para no incluir credenciales, URLs de destino, URLs de capturas, contenido de solicitudes o respuestas, ni bytes de imagen.
  • Revisa cada destino y solicitud de captura antes de permitir el uso de la herramienta. La herramienta es de mundo abierto, consume cuota e interactúa con un sitio web externo.
  • Informa vulnerabilidades de forma privada como se describe en SECURITY.md.

Desarrollo

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

Licencia

MIT © Oleksii Velykyi