Об этом проекте
MCP Inspector — это инструмент для разработчиков, предназначенный для инспекции и тестирования серверов Model Context Protocol (MCP). Он поставляется как единый npm-пакет `@modelcontextprotocol/inspector` и предоставляет один глобальный бинарный файл `mcp-inspector`, который работает в трёх режимах:
- **Web** — одностраничное приложение на Vite + React + Mantine с бэкендом на Node.js, предоставляющее визуальный интерфейс для инспекции серверов.
- **CLI** — скриптуемый клиент командной строки, предназначенный для автоматизации, CI-конвейеров и быстрых циклов обратной связи агентов.
- **TUI** — интерактивный терминальный интерфейс, созданный на Ink для пользователей, предпочитающих работу в терминале.
Все три режима вызываются через один и тот же бинарный файл с флагами:
```bash
npx @modelcontextprotocol/inspector # веб-интерфейс (по умолчанию)
npx @modelcontextprotocol/inspector --cli # режим CLI
npx @modelcontextprotocol/inspector --tui # режим TUI
```
## Архитектура
Проект не является npm-воркспейсом. Каждый клиент в каталоге `clients/` имеет собственные `package.json` и `node_modules`. Общий код находится в `core/` и используется через алиас сборки `@inspector/core`. Runtime-зависимости, импортируемые из `core/`, объявляются один раз в корне репозитория, тогда как каждый клиент объявляет только свой UI-стек, пакеты, встраиваемые бандлером, и инструменты разработки. Пакеты `clients/cli` и `clients/launcher` не имеют собственных runtime-зависимостей.
## Структура проекта
- `clients/web/` — веб-клиент (Vite + React + Mantine). Каталог `src/` содержит браузерное приложение; `server/` — бэкенд на Node.
- `clients/cli/` — клиент CLI, собираемый с помощью tsup с использованием алиаса `@inspector/core`.
- `clients/tui/` — клиент TUI, построенный на Ink + React и собираемый с помощью tsup.
- `clients/launcher/` — общий лаунчер, предоставляющий бинарный файл `mcp-inspector` и выполняющий диспетчеризацию к соответствующему клиенту.
- `core/` — общий код, используемый через алиас `@inspector/core`; не имеет `package.json`.
- `test-servers/` — композируемые тестовые серверы MCP и фикстуры, используемые в интеграционных и smoke-тестах.
- `scripts/` — корневые инструменты сборки и верификации, включая каскады установки, smoke-тесты и автоматизацию CI.
- `docs/` — руководства, ориентированные на задачи, охватывающие архитектуру, тестирование, контроль качества, хранение секретов, миграцию, использование Docker и многое другое.
- `specification/` — спецификации проектирования и сборки.
- `.claude/skills/` — навыки агентов, каждый в своём каталоге, загружаемые по требованию по имени процедуры.
## Рабочий процесс разработки
Требуется Node `>=22.19.0`. После выполнения `npm install` в корне репозитория (скрипт postinstall каскадно применяется к каждому клиенту) запустите `npm run build`, чтобы последовательно скомпилировать web, CLI, TUI и лаунчер. Для быстрой веб-разработки можно запустить Vite напрямую из `clients/web` для быстрой горячей замены модулей без пересборки лаунчера.
Обязательный предпуш-гейт — `npm run local:gate`, который последовательно выполняет проверки форматирования, линтинг, проверку типов, сборки, модульные тесты, проверку покрытия (порог 90% на файл), smoke-тесты и тесты Storybook. Это локально повторяет полную проверку GitHub CI.
## Основные моменты документации
- **Архитектура** — подробности об общем пакете `@inspector/core` и компонентной модели веб-клиента.
- **Тестирование и гейт качества** — описание того, что проверяет каждый скрипт валидации, и разделение гейтов CI и локального.
- **Хранение секретов** — как управляются секреты в связках ключей ОС, текстовых файлах и хранилищах в памяти, включая шифрование и блокировки.
- **Smoke-тестирование сервера MCP** — рабочий процесс connect → list → call → assert для shell- или CI-задач, с выводом JSON и сопоставлением кодов выхода.
- **Миграция с v1 на v2** — изменения флагов CLI, разделение `--config` и `--catalog`, повышение версии Node и переименования переменных окружения.
- **Дорожная карта** — шестимесячный план, согласованный с опубликованной дорожной картой MCP, охватывающий соответствие спецификации, поддержку официальных расширений и улучшения опыта.
## Участие в разработке
Вклад следует рабочему процессу, основанному на задачах. Вся работа должна отслеживаться на доске проекта v2, PR открываются против `v2/main` и связываются через `Closes #<issue>`. Внешний вклад принимается в виде задач, а не pull request. Файл `AGENTS.md` определяет правила проекта как для людей, так и для ИИ-контрибьюторов, охватывая версионирование, стандарты TypeScript, соглашения Mantine/React и требования к тестированию. Файл `CLAUDE.md` служит точкой входа для Claude Code, автоматически загружая `AGENTS.md`, чтобы и агенты, и люди работали из одного источника истины.
## Лицензия
Проект MCP переходит с MIT на Apache-2.0. Новый вклад лицензируется под Apache-2.0, документация (за исключением спецификаций) — под CC-BY-4.0, а устаревший вклад, не давший согласия на перелицензирование, остаётся под MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.