
Сервер 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: prikotov@gmail.com
This tool doesn't publish a standard install command — the repository README on GitHub covers its setup.
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under MIT— you can use, modify, and redistribute it under that license's terms.
View the full license file on GitHub →