About
Tbank / ТБанк (Tinkoff/Тинькофф) инвестиции MCP сервер
README
MCP сервер для работы с API Тинькофф Инвестиций через Model Context Protocol. Предоставляет инструменты для чтения рыночных данных, выполнения торговых операций и тестирования в песочнице.
Особенности
- Полная поддержка Tinkoff Invest API - доступ ко всем основным сервисам
- MCP совместимость - работает с любыми MCP клиентами
- Модульная архитектура - разделение на профили для разных типов операций
- Sandbox режим - безопасное тестирование с виртуальными деньгами
- Spring Boot - надежная и масштабируемая основа
Возможности
📊 Чтение данных (read-mcp)
- Инструменты: информация о брендах, фундаментальные метрики, отчеты эмитентов, консенсус прогнозы
- Рыночные данные: свечи, стаканы, статусы торгов, последние сделки
- Пользовательские данные: аккаунты, тарифы и лимиты
💼 Торговля (trade-mcp)
- Обычные ордеры: рыночные, лимитные и лучших цен
- Стоп-ордеры: с различными типами триггеров и сроками действия
🧪 Sandbox (sandbox-mcp)
- Полный набор инструментов для тестирования с виртуальными деньгами
- Управление счетами: открытие, закрытие, пополнение
- Тестирование стратегий без риска реальных денег
Быстрый старт
Предварительные требования
- Java 21 или выше
- Токен Tinkoff Invest API (получить в личном кабинете)
Установка
- Клонируйте репозиторий:
git clone https://github.com/Sprytin/tinkoff-investments-mcp-server.git
cd tinkoff-investments-mcp-server
- Настройте токен:
Отредактируйте
src/main/resources/application.yml:
tinkoff:
token: "ВСТАВИТЬ_ВАШ_ТОКЕН"
- Соберите проект:
./gradlew build
Использование с MCP клиентами
Claude Desktop
Добавьте в конфигурацию claude_desktop_config.json:
{
"mcpServers": {
"tinkoff-invest": {
"command": "java",
"args": ["-jar", "/path/to/rich-0.0.1-SNAPSHOT.jar"],
"env": {
"SPRING_PROFILES_ACTIVE": "read-mcp,sandbox-mcp"
}
}
}
}
Другие MCP клиенты
Сервер использует STDIO транспорт, поэтому совместим с любыми MCP клиентами, поддерживающими этот протокол.
Конфигурация
Профили Spring
Сервер поддерживает следующие профили:
read-mcp- инструменты чтения данныхtrade-mcp- торговые инструменты (требует торговый токен)sandbox-mcp- sandbox инструменты
По умолчанию активированы все профили: read-mcp,trade-mcp,sandbox-mcp
Параметры конфигурации
spring:
application:
name: rich
ai:
mcp:
server:
name: rich-mcp-server # Имя сервера
version: 1.0.0 # Версия
type: SYNC # Тип сервера
transport: STDIO # Транспорт STDIO
profiles:
active: read-mcp,trade-mcp,sandbox-mcp # Активные профили
tinkoff:
token: "ВАШ_ТОКЕН" # Токен API
app-name: rich-mcp-server # Имя приложения
target: invest-public-api.tinkoff.ru:443 # Адрес API
API Инструменты
Чтение данных
Инструменты (InstrumentsTools)
getBrandBy(uid)- информация о брендеgetBrands()- список брендовgetAssetFundamentals(assetUids)- фундаментальные метрикиgetAssetReports(instrumentId, from, to)- отчеты эмитентовgetConsensusForecasts(limit, pageNumber)- консенсус прогнозыgetForecastBy(instrumentId)- прогнозы по инструментуgetRiskRates()- параметры риска
Рыночные данные (MarketDataTools)
getCandles(instrumentId, from, to, interval)- исторические свечиgetOrderBook(instrumentId, depth)- стакан котировокgetTradingStatuses(instrumentIds)- статусы торговgetLastTrades(instrumentId, from, to)- последние сделкиgetClosePrices(instrumentId, from, to)- цены закрытияgetTradingStatus(instrumentId)- статус торгов по инструменту
Пользовательские данные (UsersTools)
getUserTariff()- тариф и лимитыgetAccounts()- список аккаунтов
Торговля
Обычные ордеры (OrdersTools)
postOrder(accountId, instrumentId, quantity, direction, orderType, limitPriceUnits?, limitPriceNano?)- создать ордерpostOrderAsync(...)- создать ордер асинхронно
Стоп-ордеры (StopOrdersTools)
postStopOrder(accountId, instrumentId, direction, stopOrderType, expirationType, priceUnits, priceNano, stopPriceUnits, stopPriceNano, quantity)- создать стоп-ордерgetStopOrders(accountId)- список стоп-ордеровcancelStopOrder(accountId, stopOrderId)- отменить стоп-ордер
Sandbox
Полный набор инструментов для тестирования:
- Управление счетами:
openSandboxAccount,closeSandboxAccount,getSandboxAccounts - Финансы:
sandboxPayIn,getSandboxWithdrawLimits - Ордеры:
postSandboxOrder,replaceSandboxOrder,cancelSandboxOrder,getSandboxOrders,getSandboxOrderState - Портфель:
getSandboxPortfolio,getSandboxPositions - Операции:
getSandboxOperations,getSandboxOperationsByCursor - Анализ:
getSandboxMaxLots
Примеры использования
Получение рыночных данных
// Исторические свечи за последний час
getCandles("BBG004730N88", 1704067200, 1704070800, CANDLE_INTERVAL_1_MIN)
// Стакан котировок
getOrderBook("BBG004730N88", 20)
// Статус торгов
getTradingStatus("BBG004730N88")
Создание ордера
// Лимитный ордер на покупку
postOrder(
accountId = "1234567890",
instrumentId = "BBG004730N88",
quantity = 10,
direction = ORDER_DIRECTION_BUY,
orderType = ORDER_TYPE_LIMIT,
limitPriceUnits = 150,
limitPriceNano = 500000000
)
Работа с sandbox
// Открыть sandbox счет
val account = openSandboxAccount()
// Пополнить счет
sandboxPayIn(account.accountId, 100000, 0, "rub")
// Создать тестовый ордер
postSandboxOrder(
accountId = account.accountId,
instrumentId = "BBG004730N88",
quantity = 1,
direction = ORDER_DIRECTION_BUY,
orderType = ORDER_TYPE_MARKET
)
Разработка
Структура проекта
src/main/kotlin/tech/sprytin/rich/
├── api/ # Интерфейсы
├── config/ # Конфигурация
├── read/ # Инструменты чтения
├── trade/ # Торговые инструменты
└── sandbox/ # Sandbox инструменты
Сборка и тестирование
# Сборка
./gradlew build
# Тестирование
./gradlew test
# Запуск в режиме разработки
./gradlew bootRun
Безопасность
- Никогда не храните токены в коде - используйте переменные окружения или конфигурационные файлы
- Используйте sandbox для тестирования - перед реальной торговлей проверяйте стратегии
- Следуйте лимитам API - проверяйте тариф с помощью
getUserTariff()
Лицензия
MIT License - см. LICENSE файл.
Changelog
История изменений доступна в CHANGELOG.md.
Поддержка
Contributing
Приветствуются contributions! Пожалуйста, читайте CONTRIBUTING.md перед созданием PR.
Installing Tinkoff Investments
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/Sprytin/tinkoff-investments-mcp-serverFAQ
Is Tinkoff Investments MCP free?
Yes, Tinkoff Investments MCP is free — one-click install via Unyly at no cost.
Does Tinkoff Investments need an API key?
No, Tinkoff Investments runs without API keys or environment variables.
Is Tinkoff Investments hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Tinkoff Investments in Claude Desktop, Claude Code or Cursor?
Open Tinkoff Investments on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Tinkoff Investments with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
