T-Invest MCP Server
Um servidor MCP para interagir com a API T-Invest, fornecendo acesso a dados de investimentos e financeiros.
Documentação
Servidor MCP para T-Invest API
O projeto contém um aplicativo de console baseado em Symfony, que implementa um servidor MCP (Model Context Protocol). O servidor fornece ferramentas para trabalhar com a T-Invest API.
O servidor utiliza a biblioteca logiscape/mcp-sdk-php
Configuração
{
"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>"
}
}
}
}
onde - T-Invest REST API Endpoint:
- https://invest-public-api.tinkoff.ru/rest/ - serviço de produção
- https://sandbox-invest-public-api.tinkoff.ru/rest/ - sandbox.
<YOUR_TOKEN> - token da API REST T-Invest. As instruções para obter o token podem ser encontradas aqui.
<YOUR_ACCOUNT_ID> - número da conta na T-Invest à qual o MCP Server se conecta.
Recursos (Tools)
get_accounts- retorna a lista de contas do usuário;get_portfolio- retorna o portfólio do cliente. Suporta filtragem por ticker;get_asset_fundamentals- retorna os indicadores fundamentais das empresas para os tickers fornecidos;
Informações para desenvolvedores
Requisitos
- PHP versão 8.3 ou superior;
- Composer.
O aplicativo pode ser executado localmente ou em Docker.
Instalação
Clone o repositório e instale as dependências:
composer install
Execução
Localmente
bin/server
Ou da forma tradicional:
php bin/console app:mcp-server
Ou usando podman:
podman run --rm -i t-invest-mcp-server bin/console app:mcp-server
O servidor exibe a lista de ferramentas disponíveis e permite chamar cada uma delas. Você pode verificar usando:
podman-compose run --rm t-invest-mcp-server bin/console app:mcp-client --via=console
A opção --via permite escolher o modo de execução do servidor (console, podman ou docker). Por padrão, é usado console.
Docker (Podman)
O projeto contém Dockerfile e compose.yaml. Para compilar e executar o contêiner, execute:
podman build -t t-invest-mcp-server .
Makefile
Para automatizar tarefas comuns, é usado Make. Principais objetivos:
make help # вывести справку
make build # собрать Docker-образ
make push # отправить образ в репозиторий
make cache-clear # очистить кэш приложения
make test-all # запустить тесты и пример клиента
make tests # запустить юнит тесты
make psalm # статический анализ
make phpcs # проверка стиля кода
Testes
Executando testes localmente:
./bin/phpunit
Ou com um único comando via Make:
make tests
Ou via docker:
docker-compose run --rm t-invest-mcp-server bin/phpunit
Ou via podman:
podman-compose run --rm t-invest-mcp-server bin/phpunit
Os testes conectam o cliente ao servidor e chamam suas ferramentas.
Estrutura do projeto
src/- código-fonte do aplicativo;src/Tool- código-fonte das Tools;bin/- scripts de console;config/- configuração do Symfony;tests/- testes de integração.var/log- logs do aplicativo.
Licença
O projeto é distribuído sob a licença MIT. O texto completo da licença está no arquivo LICENSE.
Suporte
Para dúvidas e sugestões:
- Issues
- Email: prikotov@gmail.com