Инспектируйте, отлаживайте и визуально тестируйте серверы Model Context Protocol (MCP) из веб-интерфейса, CLI или TUI, с исследованием инструментов/ресурсов, логированием запросов и поддержкой OAuth.
Инструмент для разработчиков, предназначенный для инспектирования серверов Model Context Protocol (MCP). Поставляется в виде единого пакета @modelcontextprotocol/inspector, который предоставляет три способа инспектирования сервера:
Все три режима запускаются через единый глобальный бинарник mcp-inspector:
npx @modelcontextprotocol/inspector # web UI (по умолчанию)
npx @modelcontextprotocol/inspector --cli # CLI
npx @modelcontextprotocol/inspector --tui # TUI
Обновляетесь с v1? Прочитайте руководство по миграции v1 → v2 — сопоставление флагов CLI, новое разделение
--configи , повышение требований к версии Node и то, что больше не поставляется.
--catalogСтатус репозитория. Это линия v2 Inspector. Активная разработка ведётся в ветке
v2/main(ветка разработки — все PR для v2 направляются в неё), которая сливается вmainпри выпуске milestone-версий;main— ветка по умолчанию, содержащая последнюю выпущенную v2, публикуемую в npm под тегомlatest. Легаси-линия v1 живёт в веткеv1/main— только исправления безопасности, публикуемые напрямую из этой ветки в npm под тегомv1-latest(npx @modelcontextprotocol/inspector@v1-latest). Соглашения по веткам и доскам см. вAGENTS.md.
Требуется Node >=22.19.0.
npm install # в корне репозитория; postinstall каскадно выполняется во всех клиентах
npm run build # web → cli → tui → launcher
Для повседневной итерации в режиме web запускайте Vite напрямую — быстрый HMR, сборка launcher не требуется:
cd clients/web && npm run dev
Скрипты, управляемые launcher, запускают собранный launcher, поэтому сначала выполните сборку:
npm run web # продакшн web-launcher против clients/web/dist
npm run web:dev # web-launcher в режиме --dev (Vite)
v2 не является npm workspace — каждый клиент в clients/* имеет собственный package.json и node_modules, а общий код находится в core/ и подключается через алиас сборки @inspector/core. Каждая зависимость времени выполнения, которую импортирует core/, объявляется один раз, в корневом package.json репозитория, и каждый клиент объявляет только то, что потребляет именно этот клиент — его UI-стек, пакеты, инлайняемые бандлером, его инструменты разработки — благодаря чему clients/cli и clients/launcher не имеют собственных зависимостей времени выполнения. Что это означает при добавлении зависимости (корень или клиент, dependencies или devDependencies, а также списки external бандлера) описано в навыке local-dev.
inspector/
├── clients/
│ ├── web/ Веб-клиент (Vite + React + Mantine). src/ = браузерное приложение; server/ = Node-бэкенд
│ ├── cli/ CLI-клиент (tsup-бандл, алиас @inspector/core)
│ ├── tui/ TUI-клиент (Ink + React, tsup-бандл)
│ └── launcher/ Общий launcher — предоставляет бинарник `mcp-inspector`, распределяет по web/cli/tui
├── core/ Общий код, подключаемый через алиас `@inspector/core` (без package.json)
├── test-servers/ Компонуемые MCP-тестовые серверы + фикстуры для интеграционных и смоук-тестов
├── scripts/ Корневые скрипты сборки/проверки (каскад установки, смоуки, защитные проверки verify:*)
│ и автоматизация репозитория, запускаемая из CI (зависимости, алерты Dependabot и обходы SDK)
├── docs/ Руководства, ориентированные на задачи — см. ниже
├── specification/ Спецификации дизайна/сборки
├── .claude/skills/ Навыки агентов: процедуры репозитория, вызываемые по имени
├── AGENTS.md Правила внесения вклада для агентов И людей
└── README.md Вы находитесь здесь
У каждого клиента есть собственный README с деталями, специфичными для клиента: web · cli · tui · launcher.
| Руководство | Охватывает |
|---|---|
| Архитектура | Общий пакет @inspector/core и подход веб-клиента «глупые компоненты» + Storybook |
| Тестирование и шлюз качества | Что покрывает каждый скрипт validate / coverage / smoke / verify:*, разделение GitHub-CI и локального шлюза, поддерживаемые браузеры |
| Написание навыка | Как написать описание навыка, которое действительно срабатывает, и eval-кейсы, которые его измеряют — работающие формы кейсов и цикл настройки |
| Тестовые серверы | Компонуемые тестовые серверы и демонстрационная конфигурация для каждой функции — что запускать, на что нажимать и что делала сломанная сборка |
| Публикация | Что попадает в tarball, инварианты упаковки и pack:verify |
| Docker | Запуск контейнерного образа — порты, тома и куда помещаются секреты |
| Миграция с v1 на v2 | Сопоставление флагов CLI, --config против --catalog, повышение требований к Node, переименования env-переменных |
| Конфигурация MCP-сервера | К каким серверам подключается Inspector и формат файла конфигурации |
| Ревью MCP-приложения | Рецепт «сначала CLI → одноразовый web» для автоматизированного ревью инструментов приложения |
| Смоук-тестирование MCP-сервера |
Каждый клиент проходит самопроверку из собственной папки; корневые скрипты объединяют их. Агрегированного корневого скрипта test нет.
npm run validate # быстрый внутренний цикл: format:check + lint + typecheck + build + модульные тесты
npm run coverage # шлюз ≥90% на файл (строки/операторы/функции/ветвления)
npm run local:gate # ОБЯЗАТЕЛЬНО перед пушем — строгое надмножество GitHub CI
npm run local:gate объединяет все проверки ниже, а также смоуки и тесты Storybook. Тестирование и шлюз качества владеет списком этапов и описывает, что покрывает каждый из них и почему два являются локальными; сами правила тестирования находятся в AGENTS.md.
AGENTS.md, CLAUDE.md и навыкиAGENTS.md — это контракт на изменение данной кодовой базы, и он применяется одинаково к людям и ИИ-агентам. Это не шаблонный файл только для агентов — в нём содержатся реальные правила проекта: соглашения о версиях и метках, стандарты TypeScript и Mantine/React, требования к тестированию и покрытию, а также обязательный шлюз перед пушем. Прочитайте его перед внесением изменений и поддерживайте его актуальность при изменении структуры, инструментария или правил.
Процедуры репозитория — многошаговые рецепты с командами и актуальными ID — вместо этого находятся в .claude/skills/, по одному каталогу на процедуру, поэтому они загружаются только тогда, когда задача того требует. Это обычный закоммиченный Markdown: агент, не понимающий навыков, может их прочитать, а AGENTS.md содержит индекс того, что существует. Пользователи Claude Code вызывают их по имени (/release, /issue-triage, …).
CLAUDE.md — это точка входа, которую Claude Code загружает автоматически; он включает AGENTS.md, поэтому агенты и люди работают с одним и тем же источником истины. Если вы используете другого агента, читающего AGENTS.md, вы получаете те же правила.
Ключевое правило, которое стоит здесь выделить: вся работа управляется задачами (issues). Перед началом найдите или создайте отслеживающую задачу на доске проекта v2; открывайте PR против v2/main с пометкой Closes #<issue>. Внешние вклады принимаются в виде задач, а не pull request — см. CONTRIBUTING.md.
MIT.
Рабочий процесс connect → list → call → assert для shell или CI-задачи: --format json + jq, карта кодов выхода и поддержание OAuth неинтерактивным |
| Консолидация launcher и конфигурации | Почему launcher запускает клиент в процессе, а не порождает его |