Перейти к содержимому

MCP Inspector

Отладка и тестирование MCP серверов — официальный инструмент для разработки и диагностики

MCP Inspector — официальный инструмент для тестирования и отладки MCP серверов. Он позволяет интерактивно исследовать capabilities сервера, вызывать инструменты и диагностировать проблемы.

Inspector состоит из двух компонентов:

┌─────────────────────────────────────────────────────────┐
│ MCP Inspector │
├─────────────────────────┬───────────────────────────────┤
│ MCPI (Client) │ MCPP (Proxy) │
│ React Web UI │ Node.js Server │
│ localhost:6274 │ localhost:6277 │
├─────────────────────────┼───────────────────────────────┤
│ • Интерактивный UI │ • Протокольный мост │
│ • Просмотр tools │ • Управление транспортами │
│ • Вызов методов │ • Логирование сообщений │
│ • История запросов │ • Авторизация │
└─────────────────────────┴───────────────────────────────┘
v
┌─────────────────┐
│ MCP Server │
│ (ваш сервер) │
└─────────────────┘
  • Node.js >= 22.7.5
  • Для некоторых серверов: Python / uvx
Окно терминала
# Запуск Inspector UI (откроется http://localhost:6274)
npx @modelcontextprotocol/inspector
# Запуск с конкретным сервером
npx @modelcontextprotocol/inspector node build/index.js
# Python сервер
npx @modelcontextprotocol/inspector uvx mcp-server-fetch
Окно терминала
# Одна переменная
npx @modelcontextprotocol/inspector -e API_KEY=sk-xxx node server.js
# Несколько переменных
npx @modelcontextprotocol/inspector \
-e API_KEY=sk-xxx \
-e DEBUG=true \
python -m my_server
Окно терминала
# Изменить порты по умолчанию
CLIENT_PORT=8080 SERVER_PORT=9000 npx @modelcontextprotocol/inspector node build/index.js

Resources

Просмотр ресурсов сервера

Tools

Список и вызов инструментов

Prompts

Тестирование подсказок

Logs

JSON-RPC сообщения

ВкладкаОписание
ResourcesСписок ресурсов, чтение содержимого
ToolsВызов инструментов с параметрами
PromptsПолучение prompt с аргументами
MessagesПолный лог JSON-RPC коммуникации
NotificationsServer notifications

Для автоматизации и скриптов используйте CLI режим:

Окно терминала
npx @modelcontextprotocol/inspector --cli node build/index.js \
--method tools/list
Окно терминала
npx @modelcontextprotocol/inspector --cli node build/index.js \
--method tools/call \
--tool-name get_weather \
--tool-arg location=Moscow
Окно терминала
# Список ресурсов
npx @modelcontextprotocol/inspector --cli node build/index.js \
--method resources/list
# Чтение ресурса
npx @modelcontextprotocol/inspector --cli node build/index.js \
--method resources/read \
--resource-uri "file:///project/config.json"
Окно терминала
npx @modelcontextprotocol/inspector --cli https://my-server.example.com \
--transport http \
--method tools/list

Создайте mcp.json для сохранения настроек серверов:

{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/docs"],
"env": {}
},
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
},
"remote-api": {
"type": "sse",
"url": "http://localhost:3000/sse"
},
"http-server": {
"type": "streamable-http",
"url": "http://localhost:3001/mcp"
}
}
}

Запуск с конфигурацией:

Окно терминала
# Запустить конкретный сервер из конфига
npx @modelcontextprotocol/inspector --config mcp.json --server filesystem
# Или выбрать в UI
npx @modelcontextprotocol/inspector --config mcp.json
Окно терминала
docker run --rm \
-p 127.0.0.1:6274:6274 \
-p 127.0.0.1:6277:6277 \
-e HOST=0.0.0.0 \
-e MCP_AUTO_OPEN_ENABLED=false \
ghcr.io/modelcontextprotocol/inspector:latest
version: "3.8"
services:
mcp-inspector:
image: ghcr.io/modelcontextprotocol/inspector:latest
ports:
- "127.0.0.1:6274:6274"
- "127.0.0.1:6277:6277"
environment:
- HOST=0.0.0.0
- MCP_AUTO_OPEN_ENABLED=false
restart: unless-stopped
Окно терминала
# Монтируем сервер и запускаем
docker run --rm -it \
-p 6274:6274 \
-p 6277:6277 \
-v /path/to/server:/app/server \
-e HOST=0.0.0.0 \
ghcr.io/modelcontextprotocol/inspector:latest \
node /app/server/build/index.js

Inspector поддерживает все MCP транспорты:

По умолчанию — запуск сервера как subprocess

Окно терминала
npx @modelcontextprotocol/inspector node server.js

Использует stdin/stdout для коммуникации.

ПеременнаяОписаниеПо умолчанию
CLIENT_PORTПорт Web UI6274
SERVER_PORTПорт Proxy6277
HOSTBind адрес127.0.0.1
MCP_AUTO_OPEN_ENABLEDОткрывать браузерtrue
MCP_SERVER_REQUEST_TIMEOUTТаймаут запроса (ms)300000
MCP_REQUEST_MAX_TOTAL_TIMEOUTМакс. общий таймаут60000
MCP_PROXY_FULL_ADDRESSКастомный адрес proxy""
Окно терминала
MCP_AUTO_OPEN_ENABLED=false npx @modelcontextprotocol/inspector node server.js
  1. Session Token — генерируется при запуске, требуется для доступа
  2. Localhost Binding — по умолчанию привязан к 127.0.0.1
  3. DNS Rebinding Protection — валидация Origin заголовков
  4. CORS Policy — ограничение cross-origin запросов

Для доступа извне (только для разработки!):

Окно терминала
# Разрешить внешние подключения
HOST=0.0.0.0 npx @modelcontextprotocol/inspector node server.js
Окно терминала
# Запуск
npx @modelcontextprotocol/inspector \
npx -y @modelcontextprotocol/server-filesystem /home/user/docs
# В UI:
# 1. Перейти на вкладку Tools
# 2. Выбрать list_directory
# 3. Указать path: /home/user/docs
# 4. Нажать Execute
Окно терминала
npx @modelcontextprotocol/inspector \
uvx mcp-server-git --repository /path/to/repo
# Доступные инструменты:
# - git_status
# - git_log
# - git_diff
Окно терминала
npx @modelcontextprotocol/inspector \
-e MEMORY_FILE_PATH=/tmp/memory.jsonl \
npx -y @modelcontextprotocol/server-memory
# Тест:
# 1. tools/call → create_entities
# 2. tools/call → read_graph
Окно терминала
# Добавить отладочный вывод
DEBUG=* npx @modelcontextprotocol/inspector node --inspect my-server.js
# Просмотр всех JSON-RPC сообщений во вкладке Messages
Окно терминала
# Проверить команду напрямую
node build/index.js
# Проверить права на исполнение
chmod +x server.js
# Проверить зависимости
npm install
Окно терминала
# Увеличить таймаут
MCP_SERVER_REQUEST_TIMEOUT=600000 npx @modelcontextprotocol/inspector ...
Окно терминала
# Использовать другие порты
CLIENT_PORT=7000 SERVER_PORT=7001 npx @modelcontextprotocol/inspector ...
text/event-stream
# Проверить CORS на сервере
# Убедиться что endpoint возвращает правильные заголовки:
# Cache-Control: no-cache
# Connection: keep-alive

MCP Inspector работает совместно с IDE плагинами:

{
"mcpServers": {
"jetbrains": {
"command": "npx",
"args": ["-y", "@jetbrains/mcp-proxy"]
}
}
}

Поддерживаемые IDE: IntelliJ IDEA, PyCharm, WebStorm, PhpStorm, Rider, Android Studio.

VS Code имеет встроенную поддержку MCP через GitHub Copilot расширение.

Оба редактора поддерживают MCP нативно через конфигурацию в настройках.

  1. Запускайте Inspector рядом с IDE — быстрая итерация
  2. Используйте CLI для CI/CD — автоматизация тестов
  3. Сохраняйте конфиги в mcp.json — переиспользуемость
  4. Мониторьте Messages — понимание протокола
  1. Проверяйте capabilities — что сервер объявляет
  2. Тестируйте edge cases — пустые входы, большие данные
  3. Следите за ошибками — JSON-RPC error codes
  4. Логируйте на сервере — stderr для отладки
  1. Не используйте Inspector в prod — только для разработки
  2. Тестируйте с реальными данными — до деплоя
  3. Документируйте tools — описания и примеры
  4. Версионируйте API — breaking changes