Skip to main content
Glama

caido-screenshot-mcp

Un servidor MCP que captura capturas de pantalla formateadas de los pares de petición/respuesta de Caido Replay, manejando el plugin Screenshot Mode.

Caido no tiene una API de capturas de pantalla: Screenshot Mode es un plugin solo de frontend que renderiza el DOM a un PNG en el navegador. Este servidor lo alcanza a través del Chrome DevTools Protocol, hace clic en la exportación del propio plugin e intercepta la imagen resultante antes de que Electron pueda abrir un diálogo de guardado. La salida es la salida real del plugin, escrita directamente en el disco.

Requisitos

  • Node >= 22 (usa el WebSocket integrado; no hay dependencias npm)

  • Caido de escritorio

  • El plugin Screenshot Mode instalado en Caido

  • Caido lanzado con --remote-debugging-port (ver más abajo)

Related MCP server: MCP Browser Screenshot Server

Instalación

git clone <this-repo> caido-screenshot-mcp
cd caido-screenshot-mcp
npm link            # optional: puts `caido-screenshot` on your PATH

No hay paso de npm install — no hay dependencias.

Iniciar Caido con el puerto de depuración

El plugin se renderiza dentro de la ventana de Caido, por lo que el servidor necesita comunicarse con esa ventana. Lanzar Caido normalmente deja el puerto cerrado y todas las llamadas fallarán.

caido-screenshot launch          # quits nothing; starts Caido with the port open

O manualmente:

# macOS
open -a Caido --args --remote-debugging-port=9222
# Linux
caido --remote-debugging-port=9222
# Windows
"%LOCALAPPDATA%\Programs\Caido\Caido.exe" --remote-debugging-port=9222

Comprueba todo de una vez:

caido-screenshot doctor

Uso con Claude Code

claude mcp add caido-screenshot --scope user -- node /absolute/path/to/caido-screenshot-mcp/src/server.mjs

Reinicia Claude Code. Luego solo pregunta: "captura la sesión actual de Caido replay".

Uso con cualquier cliente MCP

{
  "mcpServers": {
    "caido-screenshot": {
      "command": "node",
      "args": ["/absolute/path/to/caido-screenshot-mcp/src/server.mjs"]
    }
  }
}

Herramienta: caido_screenshot

Parámetro

Tipo

Descripción

out_path

string

Dónde guardar el PNG. Por defecto ~/Downloads/caido-screenshot-<timestamp>.png

collection

string

Colección de Replay que contiene la sesión. Se expande automáticamente.

session

string

Sesión de Replay a seleccionar primero, por nombre en la barra lateral (p. ej. GET /login)

session_id

string

ID exacto de la sesión de Replay. Preferido porque es inequívoco.

require_response

boolean

Rechazar sesiones solo de petición y vistas previas obsoletas. Por defecto true.

inline

boolean

También devolver la imagen en el resultado (grande). Por defecto false.

Ejemplos

Una vez que el servidor está registrado, nunca nombras la herramienta. Describe lo que quieres en inglés sencillo y el agente lo recoge.

Solo capturar lo que está en pantalla

captura la petición actual de Caido replay

El agente llama a caido_screenshot y responde con la ruta guardada:

Saved /Users/you/Downloads/caido-screenshot-2026-08-22T13-40-11-002Z.png (438 KB)

Enviar una petición y luego capturarla

Este es el caso común. Combínalo con el servidor MCP oficial de Caido, que puede enviar peticiones — este servidor captura el resultado.

envía un GET a https://httpbin.org/get en Caido replay y captúralo

El agente envía la petición, mapea la entrada de Replay devuelta a la sesión poblada y captura ese ID de sesión exacto:

Paso

Herramienta

Servidor

1

caido_send_request

caido

2

caido_list_replay_sessions

caido

3

caido_screenshot(session_id: ...)

caido-screenshot

Empareja caido_send_request.entryId con caido_list_replay_sessions[].activeEntryId. No crees una nueva sesión a partir de requestSourceId para evidencia de respuesta: Caido siembra la plantilla de petición pero no copia la respuesta completada.

Enviar una petición cruda que escribiste

Pega el HTTP crudo y di lo que quieres:

envía esto en Caido replay y captúralo:

POST /post HTTP/1.1
Host: httpbin.org
Content-Type: application/json

{"user":"demo","token":"abc123"}

Seleccionar una sesión específica

Las sesiones se nombran según la línea de petición en la barra lateral de Caido, así que GET /, POST /login y así sucesivamente:

captura la sesión de replay "POST /login", apilada

Eso se convierte en caido_screenshot(session: "POST /login"). Cada captura usa Side by Side.

Para automatización fiable, usa el ID de sesión:

caido_screenshot(session_id: "67", require_response: true)

Si la sesión está dentro de una colección diferente o colapsada, nombra ambas:

captura "01 admin create private conversation" de la colección "OBS AI Assistant IDOR - Fresh Evidence"

Eso se convierte en caido_screenshot(collection: "OBS AI Assistant IDOR - Fresh Evidence", session: "01 admin create private conversation"). La herramienta expande la colección antes de seleccionar la sesión y la captura en Side by Side.

Aviso: caido_send_request nombra automáticamente las sesiones a partir de la línea de petición, así que varios objetivos pueden terminar llamándose GET /. Renombra una sesión en Caido antes de capturarla si necesitas referirte a ella sin ambigüedad.

Guardar en un lugar específico

captúralo y guárdalo en ~/reports/login-flow.png

Usarlo desde Codex

Inicia una sesión interactiva y pregunta de la misma manera:

codex
> screenshot the current Caido replay session

Codex pide aprobación la primera vez. Para omitir el aviso para esta herramienta, añade a ~/.codex/config.toml:

[mcp_servers.caido-screenshot.tools.caido_screenshot]
approval_mode = "auto"   # auto | prompt | writes | approve

codex exec (no interactivo) no funcionará — fuerza approval: never y rechaza todas las llamadas a herramientas MCP, independientemente de la configuración por herramienta. Usa una sesión interactiva.

CLI

caido-screenshot                                   # current session -> ~/Downloads
caido-screenshot shot.png                          # explicit path
caido-screenshot shot.png --session "GET /login"
caido-screenshot shot.png --session-id 67
caido-screenshot shot.png --collection "Fresh Evidence" --session "01 admin request"
caido-screenshot doctor
caido-screenshot launch

Entorno

Variable

Por defecto

Descripción

CAIDO_CDP_PORT

9222

Puerto de depuración remota de Caido

CAIDO_CDP_TIMEOUT_MS

45000

Tiempo de espera de CDP por llamada

Limitaciones conocidas

Estas son propiedades del plugin, no de este servidor:

  • El contenido largo se corta. Los editores de Caido son CodeMirror, que solo renderiza las líneas visibles. Cualquier cosa más alta que la ventana de Caido no está en el DOM y no se puede capturar. Las respuestas muy largas pueden salir en blanco; el servidor da error en lugar de escribir un archivo casi vacío.

  • Las cabeceras pueden omitirse. La renderización de DOM a imagen a veces omite líneas, con huecos visibles en los números de línea. Trata estas imágenes como ilustrativas, no como evidencia byte exacta — usa la exportación de peticiones de Caido cuando la precisión importe.

  • El diseño está fijado a Side by Side. El servidor deliberadamente no expone ninguna opción de diseño o disposición para que cada captura de evidencia tenga el mismo formato listo para informes.

  • Las capturas de pantalla no están redactadas. Lo que esté en pantalla — Authorization, Cookie, Set-Cookie — se captura completo. Revisa antes de compartir.

  • Las sesiones de Replay solo de petición se rechazan por defecto. Screenshot Mode puede conservar su vista previa anterior cuando la sesión seleccionada no tiene respuesta. Pasa --allow-no-response solo cuando una captura solo de petición sea intencional.

Solución de problemas

Mensaje

Causa

Cannot reach Caido's debug port

Caido no se lanzó con --remote-debugging-port. Ciérralo y ejecuta caido-screenshot launch.

Caido is showing the instance picker

Haz clic en Connect en tu instancia local en la ventana de Caido.

No Screenshot button in the Replay toolbar

No hay una sesión de Replay abierta, o el plugin Screenshot Mode no está instalado/habilitado.

No Replay collection matching "..."

Usa el nombre exacto de la colección que se muestra en la barra lateral de Replay.

No Replay session matching "..."

La herramienta expande collection cuando se proporciona, luego lista los nombres de sesión visibles si no aparece una coincidencia exacta.

has no rendered response

La sesión seleccionada se sembró desde una petición o no se ha completado. Captura la sesión cuyo activeEntryId sea igual al entryId del resultado de envío.

preview is stale

Screenshot Mode mostró una URL diferente. No se guardó nada; reintenta usando el session_id poblado.

returned an empty image

Contenido demasiado largo para renderizar. Captura una petición/respuesta más corta.

Licencia

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Capture screenshots, detect visual regressions between page versions, and analyze with AI.

  • Screenshots, PDFs and Markdown from any URL or HTML for AI agents, via the SnapForge API

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

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jayjpatel9717/Caido-Screenshot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server