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:

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