Skip to content

BCS Trade API integration MCP with market/private data, signals, and vector search.

License

Notifications You must be signed in to change notification settings

plagness/BCS-MCP

BCS-MCP

Version Runtime Database MCP

Автономный MCP-сервис для интеграции BCS Trade API с LLM.

Сервис собирает рыночные и приватные данные, хранит их в PostgreSQL/pgvector и предоставляет инструменты через MCP.

Quick Start API Map Changelog

✨ Возможности

📈 Данные и хранение

  • Рыночные потоки: котировки, стакан, сделки, свечи.
  • Приватные данные: портфель, заявки, сделки, лимиты.
  • Разделение данных по схемам:
    • bcs_market — рыночные данные;
    • bcs_private — приватные данные.

🧠 LLM-ready слой

  • Семантический поиск по истории через embeddings (llm_mcp default, Ollama fallback).
  • Логи решений и контекст для последующего анализа.
  • Local-first подход: максимум вычислений на стороне БД/скриптов, минимум токенов LLM.

🧮 Скрипты и сигналы

  • Встроенные математические скрипты (SMA/EMA/RSI, комиссии, сессии, риск).
  • Каталог скриптов и запуск серверных расчётов без вывода сырых рядов в LLM.
  • signals.run сохраняет heuristic сигнал и дополняет direction.llm (enrichment без миграции схемы).

🧱 Архитектура

  • server/ — Node.js MCP server (tools + HTTP endpoints)
  • worker/ — Python ingestion/streams/embeddings
  • db/init/ — SQL инициализация и схемы

Один контейнер (Dockerfile) содержит server + worker.

🚀 Быстрый старт

cd bcs-mcp
cp .env.example .env
# заполните BCS_REFRESH_TOKEN

docker compose -f compose.yml up -d

Проверка:

curl http://127.0.0.1:3332/health
curl http://127.0.0.1:3332/tools

🔧 Ключевые переменные окружения

  • BCS_REFRESH_TOKEN — обязательный refresh-token
  • BCS_CLIENT_IDtrade-api-read или trade-api-write
  • BCS_ALLOW_WRITE — включение торговых операций
  • BCS_DB_HOST — в compose: bcsdb
  • BCS_DB_PORT — в compose внутри сети: 5432
  • MCP_PORT — порт MCP внутри контейнера (3333), наружу опубликован 3332
  • OLLAMA_EMBED_MODEL — модель embeddings
  • LLM_BACKEND=llm_mcp|ollama, LLM_MCP_BASE_URL, LLM_MCP_PROVIDER, LLM_BACKEND_FALLBACK_OLLAMA

🧰 MCP-инструменты (группы)

  • market.* — выборки, latest, aggregate, snapshot, compute
  • private.* — портфель/сделки/PnL/решения
  • selected_assets.* — watchlist
  • embedding.* — очередь и поиск
  • scripts.*, signals.run — локальные расчёты
  • bcs.* — прямые вызовы BCS REST

📚 Документация

  • docs/bcs_api_reference.md — карта API и MCP-инструментов
  • CHANGELOG.md — история изменений
  • VERSION — текущая версия модуля

📁 Структура

bcs-mcp/
├── server/
├── worker/
├── scripts/
├── db/init/
├── compose.yml
└── Dockerfile

🧭 Public Git Standards

  • Версия в VERSION строго в формате YYYY.MM.x.
  • Любые изменения фиксируются в CHANGELOG.md.
  • Секреты не хранятся в git: только .env.example, рабочие значения в локальном .env.
  • Перед релизом выполняются docker compose config и базовый smoke (/health, /tools).

🔐 Безопасность

  • Торговые действия выполняются только при BCS_ALLOW_WRITE=1.
  • Для HTTP MCP можно включить MCP_HTTP_TOKEN.
  • Реальные секреты хранятся только в локальном .env.

About

BCS Trade API integration MCP with market/private data, signals, and vector search.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published