t-invest-mcp-server

prikotov/t-invest-mcp-server

3.3

If you are the rightful owner of t-invest-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

This project is a console application based on Symfony, implementing a Model Context Protocol (MCP) server for T-Invest API.

Tools
  1. get_accounts

    Returns a list of user accounts.

  2. get_portfolio

    Returns the client's portfolio.

Сервер 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:

<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. Полный текст лицензии см. в файле .

Поддержка

Для вопросов и предложений: