Skip to main content
Glama

caido-screenshot-mcp

MCP-сервер, который делает форматированные скриншоты пар запрос/ответ Replay из Caido, управляя плагином Screenshot Mode.

У Caido нет API для скриншотов — Screenshot Mode это плагин только для фронтенда, который рендерит DOM в PNG в браузере. Этот сервер обращается к нему через Chrome DevTools Protocol, нажимает собственную кнопку экспорта плагина и перехватывает результирующее изображение до того, как Electron откроет диалог сохранения. Результат — это настоящий вывод плагина, записанный прямо на диск.

Требования

  • Node >= 22 (использует встроенный WebSocket; npm-зависимостей нет)

  • Caido desktop

  • Плагин Screenshot Mode установлен в Caido

  • Caido запущен с --remote-debugging-port (см. ниже)

Related MCP server: MCP Browser Screenshot Server

Установка

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

Шаг npm install не нужен — зависимостей нет.

Запуск Caido с отладочным портом

Плагин рендерится внутри окна Caido, поэтому серверу нужно общаться с этим окном. При обычном запуске Caido порт остаётся закрытым, и все вызовы будут завершаться ошибкой.

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

Или вручную:

# 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

Проверьте всё сразу:

caido-screenshot doctor

Использование с Claude Code

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

Перезапустите Claude Code. Затем просто попросите: "сделай скриншот текущей replay-сессии Caido".

Использование с любым MCP-клиентом

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

Инструмент: caido_screenshot

Параметр

Тип

Описание

out_path

string

Куда сохранить PNG. По умолчанию ~/Downloads/caido-screenshot-<timestamp>.png

collection

string

Replay-коллекция, содержащая сессию. Раскрывается автоматически.

session

string

Replay-сессия для выбора в первую очередь, по имени на боковой панели (например, GET /login)

session_id

string

Точный ID Replay-сессии. Предпочтителен, так как однозначен.

require_response

boolean

Отклонять сессии только с запросом и устаревшие превью. По умолчанию true.

inline

boolean

Также возвращать изображение в результате (большой). По умолчанию false

Примеры

Как только сервер зарегистрирован, вам не нужно называть инструмент. Опишите, что вы хотите, простым английским, и агент сам его вызовет.

Просто захватить то, что на экране

сделай скриншот текущего Caido replay запроса

Агент вызывает caido_screenshot и отвечает сохранённым путём:

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

Отправить запрос, затем сделать скриншот

Это частый сценарий. Объедините его с официальным Caido MCP-сервером, который умеет отправлять запросы, — этот сервер захватывает результат.

отправь GET на https://httpbin.org/get в Caido replay и сделай скриншот

Агент отправляет запрос, сопоставляет возвращённую Replay-запись с заполненной сессией и захватывает именно этот ID сессии:

Шаг

Инструмент

Сервер

1

caido_send_request

caido

2

caido_list_replay_sessions

caido

3

caido_screenshot(session_id: ...)

caido-screenshot

Сопоставьте caido_send_request.entryId с caido_list_replay_sessions[].activeEntryId. Не создавайте новую сессию из requestSourceId для доказательства ответа: Caido заполняет шаблон запроса, но не копирует завершённый ответ.

Отправить сырой запрос, который вы написали

Вставьте сырой HTTP и скажите, что хотите:

отправь это в Caido replay и сделай скриншот:

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

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

Выбрать конкретную сессию

Сессии называются по строке запроса на боковой панели Caido, например GET /, POST /login и так далее:

сделай скриншот replay-сессии "POST /login", рядом

Это превращается в caido_screenshot(session: "POST /login"). Каждый захват использует Side by Side.

Для надёжной автоматизации используйте ID сессии:

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

Если сессия находится в другой или свёрнутой коллекции, укажите обе:

сделай скриншот "01 admin create private conversation" из коллекции "OBS AI Assistant IDOR - Fresh Evidence"

Это превращается в caido_screenshot(collection: "OBS AI Assistant IDOR - Fresh Evidence", session: "01 admin create private conversation"). Инструмент раскрывает коллекцию перед выбором сессии и захватывает её в режиме Side by Side.

Внимание: caido_send_request автоматически называет сессии по строке запроса, поэтому несколько целей могут называться GET /. Переименуйте сессию в Caido перед захватом, если вам нужно однозначно на неё ссылаться.

Сохранить в определённое место

сделай скриншот и сохрани в ~/reports/login-flow.png

Использование из Codex

Запустите интерактивную сессию и спросите так же:

codex
> screenshot the current Caido replay session

Codex запросит подтверждение в первый раз. Чтобы пропустить запрос для этого инструмента, добавьте в ~/.codex/config.toml:

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

codex exec (неинтерактивный) не будет работать — он принудительно устанавливает approval: never и отклоняет все вызовы MCP-инструментов, независимо от настроек конкретного инструмента. Используйте интерактивную сессию.

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

Переменные окружения

Переменная

По умолчанию

Описание

CAIDO_CDP_PORT

9222

Порт удалённой отладки Caido

CAIDO_CDP_TIMEOUT_MS

45000

Тайм-аут CDP на вызов

Известные ограничения

Это свойства плагина, а не этого сервера:

  • Длинный контент обрезается. Редакторы Caido основаны на CodeMirror, который рендерит только видимые строки. Всё, что выше окна Caido, отсутствует в DOM и не может быть захвачено. Очень длинные ответы могут получиться пустыми; сервер выдаёт ошибку вместо записи почти пустого файла.

  • Заголовки могут теряться. Рендер DOM-в-изображение иногда пропускает строки, с видимыми пробелами в номерах строк. Относитесь к таким изображениям как к иллюстративным, а не как к побайтово точным доказательствам — используйте собственный экспорт запросов Caido, когда важна точность.

  • Макет зафиксирован как Side by Side. Сервер намеренно не предоставляет опций макета или расположения, чтобы каждый скриншот-доказательство имел одинаковый готовый к отчёту формат.

  • Скриншоты не редактируются. Всё, что на экране — Authorization, Cookie, Set-Cookie — захватывается полностью. Проверяйте перед публикацией.

  • Replay-сессии только с запросом отклоняются по умолчанию. Screenshot Mode может сохранять предыдущее превью, если у выбранной сессии нет ответа. Передавайте --allow-no-response только когда скриншот только запроса намеренный.

Устранение неполадок

Сообщение

Причина

Cannot reach Caido's debug port

Caido запущен без --remote-debugging-port. Завершите его и выполните caido-screenshot launch.

Caido is showing the instance picker

Нажмите Connect на локальном экземпляре в окне Caido.

No Screenshot button in the Replay toolbar

Не открыта ни одна Replay-сессия, либо плагин Screenshot Mode не установлен/не включён.

No Replay collection matching "..."

Используйте точное имя коллекции, показанное на боковой панели Replay.

No Replay session matching "..."

Инструмент раскрывает collection, если он указан, затем выводит список видимых имён сессий, если точное совпадение не найдено.

has no rendered response

Выбранная сессия была создана из запроса или не завершена. Захватите сессию, чей activeEntryId равен entryId результата отправки.

preview is stale

Screenshot Mode показал другой URL. Ничего не сохранено; повторите попытку, используя заполненный session_id.

returned an empty image

Контент слишком длинный для рендеринга. Захватите более короткий запрос/ответ.

Лицензия

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