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:

<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: