MCP-сервер
Позвольте внешним ИИ-клиентам (Claude Code, Claude Desktop) управлять Traffic Jam через Model Context Protocol.
Пока работает десктопное приложение, оно размещает сервер Model Context Protocol, предоставляющий тот же слой инструментов, что и встроенный ассистент (/docs/ru/ai-assistant/assistant/). Любой MCP-клиент может подключиться и просматривать, инспектировать, повторно отправлять и анализировать ваш захваченный трафик.
Как он размещается
Приложение запускает MCP-сервер как вспомогательный процесс на loopback-адресе, используя streamable HTTP. При старте оно записывает детали подключения в файл обнаружения:
<userData>/mcp-endpoint.json (режим 0600)
На macOS это ~/Library/Application Support/Traffic Jam/mcp-endpoint.json (переопределите каталог через TRAFFIC_JAM_USER_DATA_DIR). Файл содержит:
{
"backendUrl": "http://127.0.0.1:PORT",
"apiToken": "…",
"mcpUrl": "http://127.0.0.1:PORT/mcp"
}
Каждый запрос должен предъявлять токен возможности — либо как X-Traffic-Jam-Token, либо как Authorization: Bearer <token>. Файл удаляется при выходе из приложения.
Подключение Claude Code
Самый быстрый путь — кнопка Копировать конфигурацию MCP в Настройки → Модель ИИ, которая копирует готовый к вставке фрагмент. Или добавьте вручную:
claude mcp add-json traffic-jam '{
"type": "http",
"url": "http://127.0.0.1:PORT/mcp",
"headers": { "X-Traffic-Jam-Token": "TOKEN" }
}'
Замените PORT и TOKEN значениями из mcp-endpoint.json. Тот же объект работает в проектном .mcp.json внутри mcpServers. Затем выполните /mcp в Claude Code, чтобы подтвердить подключение и увидеть инструменты.
Режим stdio (без UI приложения)
Тот же бандл работает автономно через stdio для клиентов, которые предпочитают его, или когда вы хотите указать на бэкенд, запущенный отдельно (npm run dev:api):
TRAFFIC_JAM_BACKEND_URL=http://127.0.0.1:8790 \
TRAFFIC_JAM_API_TOKEN=… \
npm run mcp:stdio
Переменные окружения:
| Переменная | Назначение |
|---|---|
TRAFFIC_JAM_BACKEND_URL | Базовый URL бэкенда (обязательно). |
TRAFFIC_JAM_API_TOKEN | Токен возможности для бэкенда и, в HTTP-режиме, для запросов MCP. |
TRAFFIC_JAM_MCP_PORT | Порт прослушивания HTTP (устанавливается в управляемом приложением режиме). |
Инструменты
Сервер регистрирует те же 25 инструментов, что и ассистент — чтение (list_sessions, get_session, get_request, search_requests, export_har, …), повторная отправка (replay, replay_batch, replay_minimize), анализ (decode_body, conformance_diff, signature_crack, mutation_probe, token_lifecycle, run_recipe, evaluate_computed_template) и авторинг (save_decode_script, save_decode_pipeline, save_recipe). Изменяющие инструменты аннотированы readOnlyHint: false, чтобы клиенты могли их помечать.
Устранение неполадок
| Симптом | Исправление |
|---|---|
Отсутствует mcp-endpoint.json | Десктопное приложение не запущено, или MCP-бандл не собран — выполните npm run build:mcp. |
401 invalid API capability token | Токен в конфигурации вашего клиента не совпадает с mcp-endpoint.json; скопируйте его заново (он меняется при каждом запуске). |
| stdio немедленно завершается | Бэкенд недоступен по TRAFFIC_JAM_BACKEND_URL; запустите приложение или npm run dev:api. |