T-Invest MCP Server
An MCP server for interacting with the T-Invest API, providing access to investment and financial data.
Сервер MCP для T-Invest API
Проект содержит консольное приложение на базе Symfony, реализующее сервер MCP (Model Context Protocol). Сервер предоставляет инструменты для работы с T-Invest API.
Сервер использует библиотеку logiscape/mcp-sdk-php
Конфигурация
{
"mcpServers": {
"t-invest": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"APP_T_INVEST_BASE_URL",
"-e",
"APP_T_INVEST_TOKEN",
"-e",
"APP_T_INVEST_ACCOUNT_ID",
"prikotov/t-invest-mcp-server:latest",
"bin/server"
],
"env": {
"APP_T_INVEST_BASE_URL": "<API ENDPOINT>",
"APP_T_INVEST_TOKEN": "<YOUR_TOKEN>",
"APP_T_INVEST_ACCOUNT_ID": "<YOUR_ACCOUNT_ID>"
}
}
}
}
где - T-Invest REST API Endpoint:
- https://invest-public-api.tinkoff.ru/rest/ - продовый сервис
- https://sandbox-invest-public-api.tinkoff.ru/rest/ - песочница.
<YOUR_TOKEN> - токен T-Invest REST API. С инструкцией получения токена можно ознакомиться тут.
<YOUR_ACCOUNT_ID> - номер счета в T-Invest к которому подключается MCP Server.
Возможности (Tools)
get_accounts- возвращает список счетов пользователя;get_portfolio- возвращает портфель клиента. Поддерживает фильтрацию по тикеру;get_asset_fundamentals- возвращает фундаментальные показатели компаний по заданным тикерам;
Информация для разработчиков
Требования
- PHP версии 8.3 и выше;
- Composer.
Приложение можно запустить как локально, так и в Docker.
Установка
Склонируйте репозиторий и установите зависимости:
composer install
Запуск
Локально
bin/server
Либо традиционным способом:
php bin/console app:mcp-server
Либо с помощью podman:
podman run --rm -i t-invest-mcp-server bin/console app:mcp-server
Сервер выводит список доступных инструментов и позволяет вызывать каждый из них. Проверить можно с помощью:
podman-compose run --rm t-invest-mcp-server bin/console app:mcp-client --via=console
Опция --via позволяет выбрать способ запуска сервера (console, podman или docker). По умолчанию используется console.
Docker (Podman)
В проекте присутствуют Dockerfile и compose.yaml. Чтобы собрать и запустить контейнер, выполните:
podman build -t t-invest-mcp-server .
Makefile
Для автоматизации типовых задач используется Make. Основные цели:
make help # вывести справку
make build # собрать Docker-образ
make push # отправить образ в репозиторий
make cache-clear # очистить кэш приложения
make test-all # запустить тесты и пример клиента
make tests # запустить юнит тесты
make psalm # статический анализ
make phpcs # проверка стиля кода
Тесты
Запуск тестов локально:
./bin/phpunit
Или одной командой через Make:
make tests
Или через docker:
docker-compose run --rm t-invest-mcp-server bin/phpunit
Или через podman:
podman-compose run --rm t-invest-mcp-server bin/phpunit
Тесты подключают клиента к серверу и вызывают его инструменты.
Структура проекта
src/- исходный код приложения;src/Tool- исходный код Tools;bin/- консольные скрипты;config/- конфигурация Symfony;tests/- интеграционные тесты.var/log- логи приложения.
Лицензия
Проект распространяется на условиях лицензии MIT. Полный текст лицензии см. в файле LICENSE.
Поддержка
Для вопросов и предложений:
- Issues
- Email: [email protected]
関連サーバー
CipherTrust Manager
Interact with CipherTrust Manager resources using the ksctl command-line interface.
YouTube MCP
Manage YouTube videos, create Shorts, and get analytics using the YouTube API.
Axiom
Query and analyze your Axiom logs, traces, and all other event data in natural language
CData QuickBooks Time
Access and manage QuickBooks Time data through the CData MCP Server, powered by the CData JDBC Driver.
AWS Cognito MCP Server
An MCP server for AWS Cognito, providing authentication and user management.
Cumulocity MCP Server
Access the Cumulocity IoT platform to manage devices, measurements, and alarms.
CoinStats
Access cryptocurrency market data, portfolio tracking, and news from the CoinStats API.
LlamaCloud
Connect to and manage data indexes on the LlamaCloud platform.
Cloud PC Management
Manage Azure Cloud PCs using the Microsoft Graph API.
Terra
Access and manage wearable and health app data through the Terra API.