T-Invest MCP Server

An MCP server for interacting with the T-Invest API, providing access to investment and financial data.

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

Поддержка

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

Máy chủ liên quan

NotebookLM Web Importer

Nhập trang web và video YouTube vào NotebookLM chỉ với một cú nhấp. Được tin dùng bởi hơn 200.000 người dùng.

Cài đặt tiện ích Chrome