akaGelo/tinkoff-invest-mcp
If you are the rightful owner of tinkoff-invest-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
MCP server for interacting with the Tinkoff Invest API.
Tinkoff Invest MCP Server
MCP сервер для работы с Tinkoff Invest API.
Установка
Из исходников
uv tool install git+https://github.com/akaGelo/tinkoff-invest-mcp.git
Для разработки
git clone git@github.com:akaGelo/tinkoff-invest-mcp.git
cd tinkoff-invest-mcp
uv tool install --editable .
Конфигурация
Переменные окружения
Необходимые переменные:
- TINKOFF_TOKEN - API токен от Tinkoff Invest
- TINKOFF_ACCOUNT_ID - ID счета для ограничения операций (обязательно для безопасности)
- TINKOFF_MODE - режим работы:
sandbox(по умолчанию) илиproduction - TINKOFF_APP_NAME - имя приложения для логирования (опционально)
Пример .env файла
TINKOFF_TOKEN=your_api_token_here
TINKOFF_ACCOUNT_ID=your_account_id_here
TINKOFF_MODE=sandbox
TINKOFF_APP_NAME=tinkoff-invest-mcp
Тестирование
Для отладки можно использовать MCP Inspector:
npx @modelcontextprotocol/inspector
Доступные MCP методы
Сервер предоставляет 18 методов для работы с Tinkoff Invest API через протокол MCP.
💰 Портфель и балансы
get_cash_balance
Получить денежный баланс счета.
- Возвращает доступные и заблокированные средства по каждой валюте
get_portfolio
Получить состав портфеля.
- Возвращает все позиции с информацией о количестве, стоимости, средней цене покупки и P&L
📊 Операции и история
get_operations
Получить операции по счету за период.
from_date- начальная дата в формате ISO 8601to_date- конечная дата (опционально)state- фильтр по статусу операции:OPERATION_STATE_EXECUTED- исполненные операцииOPERATION_STATE_CANCELED- отмененные операции
instrument_uid- фильтр по инструменту
📈 Рыночные данные
get_candles
Получить свечи по инструменту за период.
instrument_uid- идентификатор инструментаfrom_date- начальная датаto_date- конечная дата (опционально)interval- интервал свечей:CANDLE_INTERVAL_1_MIN- 1 минутаCANDLE_INTERVAL_5_MIN- 5 минутCANDLE_INTERVAL_15_MIN- 15 минутCANDLE_INTERVAL_HOUR- 1 часCANDLE_INTERVAL_DAY- 1 день
get_last_prices
Получить последние цены по списку инструментов.
instrument_uids- массив идентификаторов инструментов
get_order_book
Получить стакан заявок по инструменту.
instrument_uid- идентификатор инструментаdepth- глубина стакана (по умолчанию 10)
get_trading_schedules
Получить расписание торгов биржи.
exchange- код биржи (по умолчанию "MOEX")MOEX- Московская биржаMOEX_PLUS- MOEX PlusMOEX_EVENING_WEEKEND- Вечерние и выходные торги MOEXSPB- СПБ Биржа
from_date- начальная дата (опционально)to_date- конечная дата (опционально)
get_trading_status
Получить торговый статус инструмента.
instrument_uid- идентификатор инструмента
🛒 Торговые заявки
create_order
Создать торговую заявку.
instrument_id- идентификатор инструментаquantity- количество лотовdirection- направление:ORDER_DIRECTION_BUY- покупкаORDER_DIRECTION_SELL- продажа
order_type- тип заявки:ORDER_TYPE_MARKET- рыночная заявкаORDER_TYPE_LIMIT- лимитная заявка
price- цена (только для лимитных заявок, float)
cancel_order
Отменить торговую заявку.
order_id- идентификатор заявки
get_orders
Получить список активных торговых заявок.
🛑 Стоп-заявки
post_stop_order
Создать стоп-заявку.
instrument_id- идентификатор инструментаquantity- количество лотовdirection- направление:STOP_ORDER_DIRECTION_BUY- покупкаSTOP_ORDER_DIRECTION_SELL- продажа
stop_order_type- тип стоп-заявки:STOP_ORDER_TYPE_TAKE_PROFIT- тейк-профитSTOP_ORDER_TYPE_STOP_LOSS- стоп-лоссSTOP_ORDER_TYPE_STOP_LIMIT- стоп-лимит
stop_price- цена активации (float)expiration_type- тип истечения:STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_CANCEL- до отменыSTOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_DATE- до даты
price- цена исполнения (0 для STOP_LOSS, >0 для TAKE_PROFIT и STOP_LIMIT, float)expire_date- дата истечения (для GOOD_TILL_DATE, опционально)
cancel_stop_order
Отменить стоп-заявку.
stop_order_id- идентификатор стоп-заявки
get_active_stop_orders
Получить список активных стоп-заявок.
🔍 Поиск инструментов
find_instrument
Найти инструмент по запросу.
query- поисковый запрос (тикер, ISIN, FIGI или название)
get_instrument_by_uid
Получить инструмент по его UID.
uid- уникальный идентификатор инструмента
get_shares
Получить список акций.
limit- максимальное количество (по умолчанию 10)offset- смещение для пагинации (по умолчанию 0)
get_bonds
Получить список облигаций.
limit- максимальное количество (по умолчанию 10)offset- смещение для пагинации (по умолчанию 0)
get_etfs
Получить список ETF.
limit- максимальное количество (по умолчанию 10)offset- смещение для пагинации (по умолчанию 0)