Сценарий из mcp-everything. Актуально на 2026-10-24.
Сводка по брокерским счетам: стоимость портфеля, позиции, доходность — для своего дашборда или отчёта.
import requests
API = "https://invest-public-api.tbank.ru/rest/tinkoff.public.invest.api.contract.v1"
H = {"Authorization": "Bearer <токен>"}
q = lambda m: int(m["units"]) + m["nano"] / 1e9
accounts = requests.post(f"{API}.UsersService/GetAccounts", headers=H, json={}).json()["accounts"]
for acc in accounts:
p = requests.post(f"{API}.OperationsService/GetPortfolio", headers=H, json={"accountId": acc["id"], "currency": "RUB"}).json()
print(acc["name"], q(p["totalAmountPortfolio"]))
https://invest-public-api.tbank.ru/resthttps://sandbox-invest-public-api.tbank.ru/restinvest-public-api.tinkoff.ru:443sandbox-invest-public-api.tinkoff.ru:443Тип: Bearer-токен
Токен выпускается в настройках профиля Т-Инвестиций (https://www.tbank.ru/invest/settings/). Функция «Подтверждение сделок кодом» должна быть отключена. Токен показывается один раз, выпускать можно неограниченное количество. Виды токенов: Readonly (только чтение), Full-access (все методы), токен с доступом к конкретному счёту и Sandbox token (только для песочницы; для обычных методов вернёт ошибку). Токен передаётся в заголовке Authorization в формате Bearer t.QtEo8ahkNFX4RTpbqp0u4z4GDZq27HzUp6AotJASBx7_DVqmqZMHfM2Cy7JmUjS80boI9eVg, в gRPC — в metadata каждого запроса и стрима.
Срок жизни токена — три месяца с даты последнего использования. Неактуальный токен даёт ошибку:
"code": "40003"
"message": "authentication token is missing or invalid"
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
status |
body | v1AccountStatus | нет | Фильтр по статусу счёта |
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
accountId |
body | string | да | Идентификатор счёта пользователя |
currency |
body | PortfolioRequestCurrencyRequest | нет | Валюта расчёта |
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
accountId |
body | string | да | Идентификатор счёта пользователя |
PostOrder и PostStopOrder обязателен orderId — ключ идемпотентности в формате UID до 36 символов; у ReplaceOrder новый ключ передаётся в idempotencyKey.units (строка) и дробная в nano.GetBrokerReport, GetDividendsForeignIssuer и сервис стоп-заявок; для неё нужен отдельный Sandbox token.Если этого недостаточно — официальная документация: https://developer.tbank.ru/invest/intro/intro/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/t-invest.md