mcpsnoop CLI
Прозрачный прокси между ИИ-клиентом и MCP-сервером: показывает каждый кадр JSON-RPC в терминале, проверяет запись в CI и экспортирует спаны
- 367 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Видит весь обмен между клиентом и MCP-сервером, включая аргументы вызовов, ответы и заголовки авторизации, и пишет его на диск
- Переписывает конфигурацию Claude Desktop командой wrap и встает прокси перед сервером
- Экспорт в OpenTelemetry и действие GitHub Actions отправляют записанные данные во внешние системы
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/mcpsnoopОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Видит весь обмен между клиентом и MCP-сервером, включая аргументы вызовов, ответы и заголовки авторизации, и пишет его на диск
- Переписывает конфигурацию Claude Desktop командой wrap и встает прокси перед сервером
- Экспорт в OpenTelemetry и действие GitHub Actions отправляют записанные данные во внешние системы
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
mcpsnoop встает в канал между вашим ИИ-клиентом и MCP-сервером и записывает каждый кадр JSON-RPC, не меняя ни клиент, ни сервер. Автор называет его Wireshark для MCP. Официальный MCP Inspector подключается как свой собственный клиент, поэтому не видит, что на самом деле отправляет сервису Cursor, Claude Code или Codex, и не покажет вызов, который модель не сделала или сделала с неверными аргументами. mcpsnoop сидит в реальной цепочке данных. Запуск простой. В конфигурации клиента команду сервера оборачивают так: `mcpsnoop -- node build/index.js`, а потом команда `mcpsnoop` без аргументов открывает интерфейс в терминале. Для Claude Desktop команда `mcpsnoop wrap my-server` сама правит файл настроек и делает резервную копию, а `mcpsnoop unwrap` возвращает все назад. Для сервера по Streamable HTTP работает обратный прокси `mcpsnoop http --target http://localhost:3000/mcp --listen :7000`, в потоке видны статусы ответов, включая 401 и 403. Дальше начинается инженерная часть. `mcpsnoop check` проваливает сборку CI на ошибках, нарушенных схемах результата, зависших или повторно выполненных вызовах и смене определений инструментов, а `mcpsnoop replay` воспроизводит записанную сессию клиента против каждой сборки без модели и ключа API. `mcpsnoop export` выводит json, html, `har` и спаны OpenTelemetry по конвенциям для MCP, есть метрики для Prometheus и действие GitHub Actions, которое отправляет находки в раздел безопасности репозитория. Команды `mock`, `diff`, `stats` и `clients` помогают сравнивать сессии и клиенты.
Для кого. Для авторов MCP-серверов и инженеров, которые подключают серверы в Cursor, Claude Code и Codex и хотят видеть реальный обмен и ловить регрессии в CI.
Подходит, если
- Инструмент вашего сервера молча не вызывается моделью, и нужно увидеть, что клиент в действительности отправил
- Возможности клиента и сервера расходятся либо вызов завис, и в логах пусто
- Нужно записать одну сессию настоящим клиентом, сохранить в репозитории и проигрывать против каждой сборки в CI без модели
- Вам нужно отследить, не изменились ли определения инструментов сервера после обновления, и провалить сборку при расхождении
- Нужно отправить вызовы MCP как спаны OpenTelemetry в вашу систему трассировки или как метрики в Prometheus
Не подходит, если
- Нужно вручную попробовать сервер из браузера: для этого подходит официальный MCP Inspector, который работает как отдельный клиент
- Нужно сканировать серверы и скиллы на внедрение промптов и уязвимости до установки: mcpsnoop наблюдает за работой, определения заранее он не анализирует
- Вы не можете менять конфигурацию клиента: чтобы поставить mcpsnoop в канал, команду сервера нужно обернуть
- Нужно проксировать трафик удаленного сервера с OAuth: инструмент показывает заголовок 401, но не заменяет клиент авторизации
Пример запроса к агенту
Оберни мой MCP-сервер в mcpsnoop, запусти сессию в Claude Code и покажи, какие вызовы инструментов клиент реально отправил и были ли среди них ошибкиОграничения
- Для сервера по stdio команду нужно обернуть в конфигурации клиента, а после правки Claude Desktop перезапустить, потому что MCP-серверы запускаются один раз при старте.
- Команда `mcpsnoop wrap` переписывает запись одного сервера в claude_desktop_config.json и порядок ключей внутри нее становится алфавитным. Резервная копия сохраняется рядом.
- Действие GitHub Actions требует права security-events: write, иначе отправка отчета вернет ошибку 403. В репозитории без code scanning отправку отключают параметром upload-sarif.
- Версию действия закрепляют вручную: плавающей метки v1 нет. Если проверку выполнить не удалось, задание завершается ошибкой.
- Сессии хранятся на диске, и старые записи чистит команда `mcpsnoop prune`.
Как отключить. Верните команду сервера в конфигурации клиента без обертки или выполните `mcpsnoop unwrap my-server` для Claude Desktop: файл настроек восстановится из резервной копии, а копия удалится, когда не останется обернутых серверов. После этого перезапустите клиент. Установленную программу снимает менеджер пакетов, например `npm uninstall -g mcpsnoop` или `brew uninstall mcpsnoop`.
Частые вопросы
Как подключить mcpsnoop к MCP-серверу в Claude Desktop?
Выполните mcpsnoop wrap my-server: команда найдет claude_desktop_config.json, сделает резервную копию и перепишет только запись этого сервера. Затем перезапустите Claude Desktop и откройте интерфейс командой mcpsnoop. Вернуть все назад поможет mcpsnoop unwrap my-server.
Чем mcpsnoop отличается от MCP Inspector?
MCP Inspector подключается к серверу как собственный клиент и видит только свои вызовы. mcpsnoop встает между вашим настоящим клиентом и сервером, поэтому показывает, что на самом деле отправляют Cursor, Claude Code или Codex, включая вызов, который модель не сделала или сделала с неверными аргументами.
Как проверять MCP-сервер в CI с помощью mcpsnoop?
Запишите одну сессию настоящим клиентом, сохраните файл в репозитории и подключите действие kerlenton/mcpsnoop с параметрами `replay` и `server`. Оно воспроизведет сессию против каждой сборки без модели и ключа API, проверит результат и провалит задание, если сервер стал хуже, чем в записи.
Как посмотреть трафик сервера по HTTP?
Запустите обратный прокси mcpsnoop http --target http://localhost:3000/mcp --listen :7000 и направьте клиент на порт 7000. В потоке видны статусы ответов, в том числе 401 с заголовком WWW-Authenticate и 403 при отклоненном Origin. Фильтры `status:401` и `status:err` сужают список в интерфейсе.
Можно ли отправлять данные mcpsnoop в систему трассировки?
Да. Команда `mcpsnoop export -T otlp -o trace.json` готовит спаны из записи, а флаг --otlp-endpoint отправляет их по мере завершения вызовов. Вызов инструмента приходит спаном вида tools/call search с атрибутами mcp.method.name и gen_ai.tool.name. Метрики для Prometheus включает --metrics-listen.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыКонсольный отладчик MCP-серверов от Giant Swarm: REPL для инструментов, OAuth 2.1 и режим MCP-сервера для Cursor
MCP-сервер, который один раз строит граф кода проекта и отдает агенту готовые ответы вместо повторного перечитывания файлов
Локальный инструмент для проверки и отладки MCP-серверов: чат с инструментами, просмотр вызовов и прогоны оценок по разным клиентам
Консольный инспектор HTTP-серверов MCP: покажет инструменты, схемы, промпты и ресурсы и вызовет любой инструмент вручную.
CLI openmcp и расширение VS Code для отладки MCP-серверов: проверка инструментов, промптов и ресурсов, чат с моделью, тесты
Асинхронный MCP-клиент на Python с командной строкой и веб-интерфейсом подключает Claude к серверам по stdio и SSE.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| mcpsnoop (эта карточка) | нет | 367 | ||
| MCP Scanner | да | 1 109 | статическая проверка MCP-серверов от Cisco, а вызовы живого клиента не наблюдает | |
| Charles MCP Server | нет | API-ключ | 330 | MCP-сервер для Charles Proxy: агент читает HTTP-трафик, кадров MCP там нет |
Коротко о README
README объясняет проблему отладки MCP и показывает использование в CI, экспорт в OpenTelemetry и быстрый старт. Затем идут установка через npm, Homebrew и Go, таблица команд, сравнение с Inspector, Snyk Agent Scan, MCP Observatory и `mcprec`, схема работы и подробный раздел о действии GitHub Actions.