Об этом проекте

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.