Barfinex

Как работает Barfinex

Barfinex и MCP (AI-инструменты)

Предоставление API Barfinex Provider AI-ассистентам через Model Context Protocol. Инструменты по Swagger, режимы запуска и настройка.

Что такое Provider MCP?

Provider MCP — это MCP-сервер (Model Context Protocol), который предоставляет REST API Barfinex Provider в виде инструментов для AI-клиентов (Cursor, Claude и др.). AI может работать с вашим Provider — счета, ордера, свечи, детекторы, реплей и т.д. — через структурированные вызовы инструментов, а не через произвольные HTTP-запросы в промптах.

  • Источник истины — OpenAPI Provider (GET /docs-json) определяет, какие MCP-инструменты доступны. Новые эндпоинты Provider могут появляться в инструментах без ручного кодирования.
  • Транспорт — stdio (MCP-сервер запускается как процесс).

Модель инструментов

Статические инструменты (всегда доступны)

  • provider_health — Проверка Provider через GET /api/options
  • provider_openapi — Получить текущий OpenAPI-документ
  • provider_refresh_openapi_tools — Обновить OpenAPI и пересобрать динамические инструменты
  • provider_request — Универсальный HTTP fallback

Динамические инструменты (по Swagger)

После запуска (или после refresh) MCP-сервер регистрирует по одному инструменту на операцию OpenAPI:

  • Имя: provider_<operationId> (или из method + path, если operationId нет)
  • Методы: GET, POST, PUT, PATCH, DELETE
  • Входы: pathParams, query, body, headers, bearerToken

Таким образом появляются инструменты вроде provider_getAccounts, provider_getCandles и т.д., соответствующие API Provider.


Режимы запуска

  • Только MCP — Запуск только MCP-сервера (например npm run start:mcp:provider:dev в репозитории trading.apps).
  • Provider + MCP — Запуск Provider и MCP (удобно для разработки).
  • Полный стек (Provider + Detector + MCP) — Для разработки с доступом к детектору.

Точные команды зависят от вашей сборки Barfinex/trading.apps; см. скрипты в репозитории (например start:provider:dev, start:ai-stack:dev).


Переменные окружения

  • PROVIDER_API_URL — Базовый URL API Provider (например http://localhost:8080/api или http://localhost:8081/api).
  • PROVIDER_BEARER_TOKEN — Токен для аутентификации в API Provider (должен совпадать с apiToken в Provider).
  • PROVIDER_MCP_TIMEOUT_MS — Таймаут запросов (по умолчанию 15000).
  • PROVIDER_MCP_INSECURE_TLS — Установите true для локального HTTPS с самоподписанным сертификатом при необходимости.

Аутентификация

Маршруты Provider под /api/* защищены API-токеном. Передавайте токен в вызовах MCP через параметр bearerToken инструмента или задайте PROVIDER_BEARER_TOKEN в окружении процесса MCP, чтобы все вызовы использовали его.


Пример конфигурации MCP-клиента

Для Cursor-совместимого stdio MCP-клиента настройте сервер примерно так (пути и имена скриптов зависят от репозитория):

{
  "mcpServers": {
    "barfinex-provider": {
      "command": "npm",
      "args": ["run", "start:mcp:provider:dev"],
      "cwd": "/path/to/trading.apps",
      "env": {
        "PROVIDER_API_URL": "http://localhost:8081/api",
        "PROVIDER_BEARER_TOKEN": "your_token_if_required"
      }
    }
  }
}

Ограничения

  • В виде инструментов доступны только REST-операции из Swagger; события WebSocket не являются MCP-инструментами.
  • Методы вроде HEAD, OPTIONS могут не регистрироваться автоматически.
  • Если при старте Provider недоступен, доступны только статические инструменты до ручного вызова provider_refresh_openapi_tools после поднятия Provider.

Устранение неполадок

  • Connection refused при старте — Сначала запустите Provider, затем выполните provider_refresh_openapi_tools.
  • Вижны только статические инструменты — Не удалось загрузить OpenAPI; вручную вызовите refresh после того, как Provider станет доступен.
  • Ошибки сертификата HTTPS (локально) — Установите PROVIDER_MCP_INSECURE_TLS=true для локальной разработки.

Полный API Provider — в Справочнике API Provider. Архитектура Barfinex — в Архитектура Barfinex.

Давайте свяжемся

Есть вопросы или хотите узнать больше о Barfinex? Напишите нам.