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

MCP для Codex и Claude Code

Подключите Codex или Claude Code к своему приложению TradeJS, чтобы обсуждать с ассистентом рынок, сигналы стратегий и результаты бэктестов. Через MCP ассистент получает данные из приложения и может запускать бэктесты и диагностику, если вы выдадите соответствующие права.

MCP доступен по адресу https://YOUR_APP_HOST/mcp, где YOUR_APP_HOST нужно заменить на адрес вашего приложения. Посмотреть адрес и список подключений можно в разделе MCP в боковом меню TradeJS.

Подключение Codex​

Выполните в терминале, подставив адрес приложения:

codex mcp add tradejs --url https://YOUR_APP_HOST/mcp
codex mcp login tradejs --scopes market:read,runtime:read,backtests:read,backtests:run,diagnostics:read,diagnostics:run

В браузере войдите в TradeJS и выберите права для ассистента. Для чтения данных достаточно прав с окончанием :read. Права с окончанием :run разрешают запуск задач и изначально не отмечены на странице согласия.

Codex CLI и приложение Codex могут использовать одно подключение. Если инструменты TradeJS не появились, обновите подключение или перезапустите клиент. Отдельный API-ключ не нужен.

Подключение Claude Code​

Выполните в терминале:

claude mcp add --transport http tradejs https://YOUR_APP_HOST/mcp

В Claude Code откройте /mcp, выберите TradeJS и пройдите авторизацию в браузере. Проверьте имя клиента, адрес возврата и запрашиваемые права перед подтверждением. Вход и выдачу прав нужно выполнить самостоятельно.

Первый запрос​

Начните с конкретного вопроса и укажите период. Например:

Покажи сохранённые сигналы стратегии TrendShift на BTCUSDT за последние сутки в развёртывании production.

Ассистенту следует сначала вызвать tradejs_info, чтобы проверить подключение и пользователя. Для вопросов о работающем приложении нужен также runtime_get_status.

Кнопка Copy context for AI на дашборде копирует источник рыночных данных, набор инструментов, выбранную монету, интервал, бэктест и ссылку на страницу. Вставьте скопированный текст в чат и добавьте вопрос. Видимая область графика не копируется. Сохранённые фигуры стратегии ассистент может получить через runtime_get_signal по данным из списка сигналов.

При чтении данных работающего приложения указывайте развёртывание и период. Инструменты принимают окно [startTime,endTime): начало входит в период, конец не входит. Один запрос к спискам может охватывать не более семи дней. Пустая страница не завершает чтение: нужно продолжать до курсора 0. Курсор действует десять минут и требует тех же фильтров.

Отсутствие сохранённых записей само по себе не означает, что стратегия не работала. Счётчики пропуска помогают при диагностике, но для проверки исполнения нужны отчёты с зафиксированными версиями пакетов и конфигурацией.

Права доступа​

ПравоЧто доступно ассистенту
market:readТорговые инструменты, текущие цены, закрытые свечи и индикаторы
runtime:readРазвёртывания, настройки стратегий, сохранённые сигналы, решения, ордера и счётчики пропуска
backtests:readКонфигурации и результаты бэктестов, состояния задач
backtests:runЗапуск и отмена бэктестов, созданных этим клиентом
diagnostics:readПроверенные отчёты, их файлы и состояния задач
diagnostics:runСбор данных о работе приложения, повторное воспроизведение и проверка совпадения результатов, отмена задач этого клиента

Ассистент видит только инструменты, разрешённые при подключении. Для чтения развёртывания торговый счёт должен принадлежать авторизованному пользователю. Через MCP нельзя размещать, отменять или закрывать реальные ордера, менять конфигурацию стратегий, выполнять деплой или отправлять уведомления.

Отозвать доступ можно в разделе MCP. После отзыва токены перестанут работать при следующих запросах. Токен доступа действует 15 минут, а разрешение на подключение действует до 30 дней. При обновлении токена клиент получает новый refresh token.

Бэктесты и диагностика​

backtest_start запускает бэктест по снимку сохранённой именованной конфигурации из Redis. Доступны только кешированные исторические данные, без платных запросов к ИИ, в одном процессе. Один запуск ограничен 90 прошедшими днями, 20 монетами и восемью комбинациями параметров. Краткие результаты сохраняются и в режиме fast.

Перед новой диагностикой проверьте готовые отчёты через diagnostics_list_reports. Если подходящего отчёта нет, diagnostics_start может собрать данные о работе приложения за период до семи дней или повторно воспроизвести работу по проверенному набору данных того же развёртывания.

Запуск возвращает jobId, идентификатор задачи. По нему можно узнать состояние через job_get, прочитать журнал через job_get_logs или отменить задачу через job_cancel. Отключение клиента не отменяет задачу. При повторе идентичного запроса используйте прежний idempotencyKey, чтобы не создать дубликат.

На пользователя разрешены одна активная задача и десять запусков в час. Время выполнения ограничено часом, состояние хранится семь дней. После перезапуска worker прерванные задачи получают статус failed и автоматически не повторяются.

Журнал задачи​

Вызовите job_get_logs с jobId и offset: 0. Параметр limit задаёт число записей от 1 до 100, по умолчанию 50. Для следующей страницы передайте nextOffset; значение null означает конец журнала.

Журнал содержит stdout и stderr со скрытыми секретами, в том числе после ошибки задачи. Сохраняются последние 150 записей длиной до 1 000 символов. Пока задача работает, смещения могут меняться. Поле retainedLines показывает число сохранённых записей.

Файлы отчёта​

diagnostics_get_report возвращает отчёт или его краткое содержание. Для загрузки файлов используйте artifact_get. Он возвращает части в base64 размером до 48 000 байт. Продолжайте с nextOffset до значения null, декодируйте части и соедините байты. Перед анализом проверьте общий размер и SHA-256 из ответа, а также период и версии пакетов в отчёте.

В каталоге доступны завершённые отчёты runtime-evidence и runtime-feedback, прошедшие проверку владельца, доступа, размера и хеша. Размер каждого файла данных или журнала ограничен 64 МиБ. Для более крупных файлов используйте локальные команды TradeJS. Каталог сообщает, если поиск был усечён.

Если подключение не работает​

ПроблемаЧто проверить
Ответ 401Разрешение могло истечь или быть отозвано. Пройдите авторизацию заново самостоятельно.
Ответ 403 для браузерного originСравните адрес запроса с публичным адресом в настройках сервера.
Нет нужного инструментаПроверьте выданные права в разделе MCP.
Не запускается задачаПроверьте доступность фоновых задач через tradejs_info. Если они недоступны, обратитесь к владельцу приложения.

Для работы ассистента с правилами Project используйте AGENTS.md и skill $tradejs-mcp из .codex/skills. В Claude Code файл CLAUDE.md подключает те же инструкции. Обновить установленный набор skills можно командой create-tradejs --update-skills. Если управляемые файлы изменены локально, сначала разберите изменения, затем повторите обновление и проверки Project.