T-Invest MCP Server
Un servidor MCP para interactuar con la API de T-Invest, que proporciona acceso a datos de inversión y financieros.
Documentación
Servidor MCP para T-Invest API
El proyecto contiene una aplicación de consola basada en Symfony, que implementa un servidor MCP (Model Context Protocol). El servidor proporciona herramientas para trabajar con T-Invest API.
El servidor utiliza la biblioteca logiscape/mcp-sdk-php
Configuración
{
"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>"
}
}
}
}
donde - T-Invest REST API Endpoint:
- https://invest-public-api.tinkoff.ru/rest/ - servicio de producción
- https://sandbox-invest-public-api.tinkoff.ru/rest/ - sandbox.
<YOUR_TOKEN> - token de T-Invest REST API. Las instrucciones para obtener el token se pueden consultar aquí.
<YOUR_ACCOUNT_ID> - número de cuenta en T-Invest al que se conecta el MCP Server.
Funcionalidades (Tools)
get_accounts- devuelve la lista de cuentas del usuario;get_portfolio- devuelve el portafolio del cliente. Admite filtrado por ticker;get_asset_fundamentals- devuelve los indicadores fundamentales de las empresas según los tickers especificados;
Información para desarrolladores
Requisitos
- PHP versión 8.3 o superior;
- Composer.
La aplicación se puede ejecutar tanto localmente como en Docker.
Instalación
Clone el repositorio e instale las dependencias:
composer install
Ejecución
Localmente
bin/server
O de la forma tradicional:
php bin/console app:mcp-server
O con podman:
podman run --rm -i t-invest-mcp-server bin/console app:mcp-server
El servidor muestra la lista de herramientas disponibles y permite invocar cada una de ellas. Se puede verificar con:
podman-compose run --rm t-invest-mcp-server bin/console app:mcp-client --via=console
La opción --via permite elegir el modo de ejecución del servidor (console, podman o docker). Por defecto se utiliza console.
Docker (Podman)
El proyecto incluye Dockerfile y compose.yaml. Para compilar y ejecutar el contenedor, ejecute:
podman build -t t-invest-mcp-server .
Makefile
Para automatizar tareas típicas se utiliza Make. Objetivos principales:
make help # вывести справку
make build # собрать Docker-образ
make push # отправить образ в репозиторий
make cache-clear # очистить кэш приложения
make test-all # запустить тесты и пример клиента
make tests # запустить юнит тесты
make psalm # статический анализ
make phpcs # проверка стиля кода
Pruebas
Ejecución de pruebas localmente:
./bin/phpunit
O con un solo comando a través de Make:
make tests
O mediante docker:
docker-compose run --rm t-invest-mcp-server bin/phpunit
O mediante podman:
podman-compose run --rm t-invest-mcp-server bin/phpunit
Las pruebas conectan el cliente al servidor e invocan sus herramientas.
Estructura del proyecto
src/- código fuente de la aplicación;src/Tool- código fuente de Tools;bin/- scripts de consola;config/- configuración de Symfony;tests/- pruebas de integración.var/log- registros de la aplicación.
Licencia
El proyecto se distribuye bajo los términos de la licencia MIT. El texto completo de la licencia se encuentra en el archivo LICENSE.
Soporte
Para preguntas y sugerencias:
- Issues
- Correo electrónico: prikotov@gmail.com