bcs-mcp

bcs-mcp

Enables AI assistants to interact with BCS brokerage accounts for portfolio viewing, quotes, order book, candles, position analysis, and rebalancing planning using natural language, with read-only mode by default and optional trade execution with confirmation.

Category
访问服务器

README

bcs-mcp

Твой портфель БКС Мир инвестиций — в диалоге с AI.

MCP-сервер, который подключает Claude (Claude Code, Claude Desktop — и любой другой MCP-клиент) к BCS Trade API. Смотри портфель, котировки, стакан, свечи, анализируй позиции и планируй ребалансировку — обычными фразами, на русском.

Это не торговый робот и не «сигналы». Решения всегда принимаешь ты — сервер лишь даёт модели безопасный доступ к данным твоего брокерского счёта.

Собран по образу и подобию t-invest-mcp (аналогичный сервер для Т-Инвестиций) — та же модель безопасности и файловых выгрузок.

Демо: портфель БКС на естественном языке — вопросы и покупка с подтверждением

Почему это безопасно

  • Read-only по умолчанию. Торговые операции даже не регистрируются, пока ты их явно не включишь. Достаточно токена «только для чтения».
  • Сделки — только с твоего подтверждения. Если включишь торговлю, перед каждой заявкой сервер показывает диалог «Купить N шт. X?» — без явного «да» заявка не уйдёт.
  • У БКС нет песочницы — поэтому торговый режим включай осознанно: каждая заявка реальная.
  • Токен живёт в переменной окружения и никогда не попадает в код, логи и ответы сервера. Быстрый старт ниже кладёт его в конфиг клиента — для постоянного использования держи токен в системном keychain, рецепт: docs/secure-token.md.

Быстрый старт (5 минут)

Нужен Node.js ≥ 22 и брокерский счёт в БКС.

  1. Токен. Войди в веб-версию БКС Мир инвестиций → «Профиль» → «Управление счетами» → нажми на брокерский счёт → «Токены API» → «Выпустить токен», тип «Только для чтения». Токен показывается один раз; живёт 90 дней. Токен привязан ровно к одному счёту.

  2. Подключение к Claude Code — одной командой, установка не нужна (пакет bcs-mcp подтянется из npm):

    claude mcp add bcs \
      -e BCS_REFRESH_TOKEN=<ваш-токен> \
      -- npx -y bcs-mcp
    

    Для Claude Desktop тот же блок добавляется в Settings → Developer → Edit Config. Этот JSON подходит и любому другому MCP-клиенту (Cursor, VS Code, Windsurf и др.) — меняется только место, куда его вписать:

    {
      "mcpServers": {
        "bcs": {
          "command": "npx",
          "args": ["-y", "bcs-mcp"],
          "env": { "BCS_REFRESH_TOKEN": "<ваш-токен>" }
        }
      }
    }
    

    <details><summary>Вариант из исходников (для разработки)</summary>

    git clone https://github.com/human-turn/bcs-mcp && cd bcs-mcp
    npm install && npm run build
    # далее в командах выше вместо "npx -y bcs-mcp" → "node /path/to/bcs-mcp/dist/index.js"
    

    </details>

    В такой минимальной конфигурации сервер строго read-only: смотреть и анализировать можно всё, торговать — нельзя (торговые операции даже не регистрируются). Торговля и файловые выгрузки включаются переменными в env — см. Переменные окружения, каждая выключена по умолчанию.

  3. Проверка: спроси «покажи мой портфель БКС».

Готовое из коробки: slash-команды

В Claude Code появляются как /bcs:<имя>:

Демо: квартальный ритуал одной командой

Команда Что делает
portfolio_review Полный обзор: структура, концентрация, риски
rebalance_check Дрейф от целевых долей + план сделок в лотах (без исполнения)
invest_cash <сумма> Пришла зарплата: куда докупить, чтобы приблизиться к целям
bond_picker <сумма> <горизонт> Скрининг каталога облигаций: рейтинг, купон, доходность, лесенка
fire_progress Прогресс к целям (FIRE) из portfolio-target.json: прогноз, требуемый взнос
position_deep_dive <тикер> Разбор бумаги: карточка, динамика, моя позиция
trades_review [дней] Мои сделки за период: обороты, средние цены, комиссии
weekly [сумма] Недельный ритуал: дайджест + план докупок
quarterly Обзор портфеля + проверка ребалансировки
feedback [тема] Репорт о проблеме для разработчиков (без токена и личных данных)

Все команды анализируют и предлагают — ни одна не совершает сделок сама. Целевые доли для ребалансировки задаются файлом portfolio-target.json в корне проекта (эталон — MCP-ресурс bcs://portfolio-target/example, формат совместим с t-invest-mcp).

Дивиденды и купоны BCS Trade API не отдаёт — рядом можно подключить публичный moex-mcp (MOEX ISS): команды это учитывают.

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

Переменная Значение Описание
BCS_REFRESH_TOKEN обязательна Refresh-токен из ЛК БКС (90 дней, привязан к счёту)
BCS_ALLOW_TRADING true/false Регистрирует place/edit/cancel_order. Нужен токен «для торговли и чтения». РЕАЛЬНЫЕ деньги!
BCS_CONFIRM off Отключает elicitation-подтверждение сделок (по умолчанию включено; выключать не рекомендуется — песочницы нет)
BCS_OUTPUT_DIR путь Корень для файловых выгрузок outputPath (по умолчанию — cwd сервера)

Tools

Read-only (всегда):

Tool Описание
get_portfolio Портфель: позиции с P&L, долями, стоимостью в RUB/USD/EUR; итоги по классам (срез term, по умолчанию T0)
get_limits Денежные и депо-лимиты: свободные средства по валютам (free = quantity − locked; снимок на начало дня)
get_quotes Котировки (батч): bid/offer, last, open/high/low, изменение за день
get_order_book Стакан L2 (глубина 20)
get_recent_trades Лента обезличенных сделок: новейшие limit (расширяемое окно), период from/to; полный период в файл — через outputPath
get_candles Свечи OHLCV (M1…MN); с outputPath — весь период чанками
find_instrument Карточки по тикерам/ISIN: лот, classCode, купоны, дивдоходность, рейтинги (одна карточка на бумагу; allBoards — все площадки)
get_instruments_by_type Каталог инструментов типа (акции/облигации/ETF/фьючерсы…), пагинация
get_trading_schedule Сессии инструмента на сегодня (МСК, отсортированы)
get_trading_status Открыт/закрыт инструмент сейчас + кросс-чек с расписанием (warning при расхождении)
get_discounts Маржинальные дисконты (long/short)
get_orders Список заявок (данные с 26.01.2026)
get_order_status Статус заявки по UUID или биржевому номеру
get_trades Мои исполненные сделки (данные с 26.01.2026)
get_server_info Диагностика сервера (для фидбэка)

Торговые (BCS_ALLOW_TRADING=true): place_order, edit_order, cancel_order. Важно: количество в заявках — в штуках, не в лотах (лот — lotSize из find_instrument).

Выгрузка в файл

Каждый read-tool принимает outputPath (путь относительно BCS_OUTPUT_DIR) и outputFormat (json/csv). Сервер пишет результат на диск, в диалог возвращает summary. Для get_candles и get_instruments_by_type это включает выкачивание полного периода/каталога чанками. Запись возможна строго внутри корня выгрузок.

Ограничения BCS Trade API

  • Нет истории денежных операций (полученные дивиденды, комиссии, пополнения) — только биржевые сделки. XIRR и налоговые отчёты поэтому невозможны.
  • Нет песочницы.
  • Один токен = один счёт (несколько счетов — несколько инстансов сервера).
  • Списки заявок/сделок — только с 26.01.2026.

Disclaimer

Не является индивидуальной инвестиционной рекомендацией. Все торговые решения вы принимаете самостоятельно. place_order оперирует реальными деньгами — используйте BCS_ALLOW_TRADING=true осознанно и держите подтверждение сделок включённым.

License

Apache 2.0

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选