T-Bank Invest (read-only)

io.github.Sicnessv1.0.0Updated Oct 2, 2026

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

VerifiedSTDIODesktop onlyFinanceData & Analytics

Overview

AI-generated overview

Read-only access to a T-Bank (Tinkoff) Invest account: portfolios, operations, instruments, market data and analytics.

What it does
Connects an assistant to the T-Bank Invest API in read-only mode. It exposes tools for accounts and portfolios, operation history with filters and pagination, instrument lookup by ticker, name, ISIN or FIGI, bond coupons and events, dividends, market data such as candles, order book and last prices, plus technical indicators and fundamental metrics. It also lists active orders and trading schedules. The server cannot place trades, withdraw funds or change account settings.
When to use it
Useful when you want an assistant to review your T-Bank brokerage portfolio, summarize operations, dividends or coupons, look up instrument details, or run technical and fundamental analysis on Russian market securities without giving it trading rights.
Requirements
Runs locally over stdio, normally launched with uvx from the PyPI package t-bank-invest-mcp-read-only (uv selects Python 3.11+ and installs dependencies). Requires a T-Invest API token supplied through the environment variable TBANK_INVEST_TOKEN; the server does not load a .env file, so the variable must be exported or set in the MCP client configuration. Network access to the T-Bank API is needed.
Before you install
The token is stored in plain text in the MCP client configuration, so a read-only token is recommended and it can be limited to a single account. The server only calls read methods, but it does read portfolio, position and operation data from your brokerage account. Some instrument directory tools return very large responses (up to about 2.4 MB) that clients may save to a file or reject.

Installation

In SourceWeft

  1. Open T-Bank Invest (read-only) in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

Source: README.md at commit db6b79d

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v1.0.0LatestOct 2, 2026