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.

Документация Traffic Jam. Собрано с помощью Hugo.