T-Bank Invest (read-only)

io.github.Sicnessv1.0.0更新於 Oct 2, 2026

Read-only T-Bank (Tinkoff) Invest API: portfolio, operations, instruments, market data.

已驗證STDIO僅桌面Data & AnalyticsFinance

概覽

AI 產生的概覽

以唯讀方式存取 T-Bank(Tinkoff)投資帳戶:投資組合、操作紀錄、金融工具、行情與分析。

功能
讓助理以唯讀方式連接 T-Bank Invest API。提供的工具涵蓋帳戶與投資組合、可篩選與分頁的操作歷史、依代碼、名稱、ISIN 或 FIGI 查詢金融工具、債券票息與事件、股利、K 線、委託簿與最新成交價等行情資料,以及技術指標與基本面指標。也可查看目前有效委託與交易時間表。伺服器無法下單、提領資金或變更帳戶設定。
適用情境
適合讓助理檢視 T-Bank 證券帳戶的投資組合、彙整操作紀錄、股利或票息,查詢金融工具細節,或對俄羅斯市場證券進行技術與基本面分析,同時不授予交易權限。
執行需求
透過 stdio 在本機執行,通常以 uvx 從 PyPI 套件 t-bank-invest-mcp-read-only 啟動(uv 會自動選擇 Python 3.11+ 並安裝相依套件)。需要 T-Invest API 權杖,透過環境變數 TBANK_INVEST_TOKEN 提供;伺服器不會載入 .env 檔案,因此須在 shell 中匯出或在 MCP 用戶端設定中指定。需要連線至 T-Bank API 的網路。
安裝前請注意
權杖會以明文存放在 MCP 用戶端設定中,建議只申請唯讀權杖,並可將其限制在單一帳戶。伺服器只呼叫讀取方法,但會讀取券商帳戶的投資組合、持倉與操作資料。部分金融工具目錄工具回傳內容很大(最大約 2.4 MB),用戶端可能將其存成檔案或直接拒絕。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 T-Bank Invest (read-only),將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

T-Bank Invest MCP Server (read-only)

[Tests] [PyPI]

MCP-сервер для работы с инвестиционным портфелем Т-Банка (Тинькофф) через AI-ассистентов. Предоставляет только чтение — сервер не может совершать сделки, выводить средства или изменять настройки счёта.

Возможности

  • Портфель и счета — просмотр счетов, позиций, доходности, маржинальных показателей
  • История операций — сделки, дивиденды, купоны, налоги, комиссии с фильтрацией и пагинацией
  • Поиск инструментов — по тикеру, названию, ISIN, FIGI; детальная информация по акциям, облигациям, ETF, валютам, фьючерсам
  • Рыночные данные — свечи (OHLCV), стакан заявок, статус торгов, цены закрытия
  • Аналитика — технический анализ (SMA, EMA, RSI, MACD, Bollinger Bands), фундаментальные показатели (P/E, EPS, ROE), консенсус-прогнозы аналитиков, а также get_stock_snapshot — сводка по тикеру одним вызовом (фундаментал + изменение цены + консенсус)
  • Облигации — купонный календарь, НКД, события (амортизации, оферты)
  • Дивиденды — история и предстоящие выплаты

Требования

  • uv — запускает сервер одной командой: сам подбирает Python 3.11+ и ставит зависимости в изолированное окружение
  • Токен T-Invest API — выпустить на tbank.ru/invest/settings/api

Какой токен выпускать

Выпускайте токен только для чтения (readonly). Сервер вызывает только методы чтения, права на сделки ему не нужны, а с таким токеном торговые поручения невозможны уже на стороне Т-Банка — это вторая линия защиты помимо кода сервера. Токен можно дополнительно ограничить одним счётом.

MCP-клиенты хранят токен в своей конфигурации открытым текстом — ещё одна причина не давать ему прав на сделки.

Подключение

Сервер опубликован на PyPI: клонировать репозиторий не нужно, uvx скачает и запустит его сам. Токен передаётся через переменную окружения TBANK_INVEST_TOKEN в конфигурации MCP-клиента.

Claude Code

bash
claude mcp add t-bank-invest -e TBANK_INVEST_TOKEN=your_token_here -- uvx t-bank-invest-mcp-read-only

По умолчанию сервер подключается только к текущему проекту; чтобы он был доступен во всех проектах, добавьте --scope user. С --scope project конфигурация вместе с токеном записывается в .mcp.json в корне проекта — не коммитьте этот файл.

Claude Desktop

Добавьте сервер в claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\) и перезапустите приложение:

json
{  "mcpServers": {    "t-bank-invest": {      "command": "uvx",      "args": ["t-bank-invest-mcp-read-only"],      "env": {        "TBANK_INVEST_TOKEN": "your_token_here"      }    }  }}

Если Claude Desktop не находит uvx, укажите в command полный путь к нему (его покажет which uvx).

Другие MCP-клиенты

Сервер работает по stdio. В любом клиенте укажите ту же команду, те же аргументы и переменную окружения, что в примере для Claude Desktop.

Сервер также есть в реестре MCP-серверов под именем io.github.Sicness/t-bank-invest-mcp-read-only.

Конкретная версия

uvx берёт последнюю версию с PyPI и обновляется сам. Чтобы закрепить версию, укажите её после имени — [email protected]; что менялось от версии к версии — в истории изменений.

Ещё не выпущенное состояние ветки main: uvx --from git+https://github.com/Sicness/t-bank-invest-mcp-read-only t-bank-invest-mcp-read-only.

Установка из исходников

Для разработки или если uv не подходит:

bash
git clone https://github.com/Sicness/t-bank-invest-mcp-read-only.gitcd t-bank-invest-mcp-read-onlypython3 -m venv .venvsource .venv/bin/activatepip install -e ".[test]"

В конфигурации MCP-клиента тогда указывается полный путь к команде: /path/to/t-bank-invest-mcp-read-only/.venv/bin/t-bank-invest-mcp-read-only, без args.

Запуск напрямую

Сервер не загружает .env файл — переменную нужно экспортировать в shell:

bash
export TBANK_INVEST_TOKEN=your_token_hereuvx t-bank-invest-mcp-read-only

Из установленного окружения то же самое делает команда t-bank-invest-mcp-read-only или python -m tbank_invest_mcp.

Доступные инструменты

Счета и пользователь

ИнструментОписание
get_accountsСписок инвестиционных счетов
get_user_infoТариф, статус квал. инвестора, уровень риска
get_margin_attributesМаржинальные показатели счёта

Портфель и позиции

ИнструментОписание
get_portfolioПолный портфель с ценами и доходностью; у позиций опущены нулевые поля
get_positionsБалансы позиций без расчёта цен
get_withdraw_limitsДоступные средства для вывода

Операции

ИнструментОписание
get_operationsИстория операций за период
get_operations_by_cursorИстория операций с пагинацией и расширенными фильтрами

Инструменты

ИнструментОписание
find_instrumentПоиск по тикеру, названию, ISIN, FIGI. По умолчанию — только торгуемые через API бумаги, не больше 20; есть фильтр по типу инструмента
get_instrument_byДетальная информация по идентификатору
get_bond_byИнформация об облигации
get_share_byИнформация об акции
get_etf_byИнформация об ETF/фонде
get_currency_byИнформация о валютном инструменте
get_future_byИнформация о фьючерсном контракте
get_bond_couponsКупонный календарь облигации
get_bond_eventsСобытия облигации: купоны, оферты, погашение, конвертации; фильтр по типу и периоду
get_dividendsИстория и будущие дивиденды
get_accrued_interestsНКД (накопленный купонный доход)
get_asset_fundamentalsP/E, EPS, ROE, капитализация
get_consensus_forecastsКонсенсус-прогноз аналитиков по одному инструменту (сканирует страницы и фильтрует по instrument_id — UID инструмента или актива, т.к. сам API не умеет фильтровать на своей стороне)
get_forecast_byПрогнозы инвестдомов по инструменту
get_asset_reportsДаты отчётностей эмитента
get_stock_snapshotСводка по акции одним вызовом: резолвит тикер → UID → UID актива и объединяет фундаментал, изменение цены за N торговых сессий и консенсус-прогноз
get_favoritesИзбранные инструменты пользователя
get_trading_schedulesРасписание торгов бирж

Рыночные данные

ИнструментОписание
get_candlesИсторические свечи (OHLCV) строками [время, open, high, low, close, объём, покупки, продажи]
get_last_pricesПоследние цены сделок
get_close_pricesЦены закрытия предыдущей сессии
get_order_bookСтакан заявок (bids/asks)
get_trading_statusТекущий статус торгов
get_tech_analysisТехнические индикаторы (SMA, EMA, RSI, MACD, BB)

Заявки

ИнструментОписание
get_ordersАктивные заявки на счёте
get_order_stateСтатус конкретной заявки

Списки инструментов

ИнструментОписание
list_sharesПолный справочник акций — около 2 МБ
list_bondsПолный справочник облигаций — около 2,4 МБ
list_etfsПолный справочник ETF/фондов — около 300 КБ
list_currenciesВсе валютные инструменты — около 13 КБ
list_futuresПолный справочник фьючерсов — около 700 КБ

Справочники, кроме валютного, — выгрузки для скриптов: в контекст модели они не помещаются, клиент сохранит такой ответ в файл или отклонит его. Чтобы найти бумагу, используйте find_instrument.

Формат данных

Ответы рассчитаны на то, что их читает модель, поэтому сервер не пересылает ответ API как есть:

  • Цены и суммы — обычные числа, а не пары units/nano. Валюта указана один раз, в поле currency того же объекта; сумма в другой валюте записана как {"value": ..., "currency": ...}.
  • В списках позиций, операций и событий облигаций опущены нулевые и пустые поля. Отсутствие поля означает ноль, «нет» или пусто.
  • Инструмент можно назвать как угодно: тикером, FIGI, ISIN или UID — в любом параметре, который принимает инструмент. Если под одним тикером торгуются разные бумаги (T — это и Т-Технологии, и AT&T), сервер попросит уточнить в виде ТИКЕР_КЛАСС, например T_TQBR. По названию ищет find_instrument.
  • Даты — в UTC. Дата без времени в to_date включает весь этот день.

Примеры запросов к ассистенту

  • «Покажи мой портфель и общую доходность»
  • «Какие дивиденды я получил за последний год?»
  • «Найди облигации Газпрома и покажи купонный календарь»
  • «Сравни P/E Сбера и ВТБ»
  • «Дай сводку по SBER: фундаментал, динамика цены, консенсус аналитиков»
  • «Построй RSI для AAPL за последние 3 месяца»
  • «Какие у меня активные заявки?»

Лицензия

MIT

來源:README.md,提交 db6b79d

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v1.0.0最新Oct 2, 2026