Finam MCP Server
Finam MCP Server
MCP (Model Context Protocol) сервер для интеграции с торговой платформой Finam через Trade API.
Комплексный MCP-сервер для Finam Trade API, позволяющий осуществлять торговые операции через AI-ассистентов, таких как Claude Desktop и Cursor, используя естественный язык.
Содержание
- Предварительные требования
- Быстрая установка
- Получение API ключей
- Возможности
- Примеры запросов
- Доступные инструменты
- Конфигурация MCP клиентов
- Важные особенности
Предварительные требования
Для настройки и запуска Finam MCP Server вам потребуется:
- Терминал (macOS/Linux) | Command Prompt или PowerShell (Windows)
- Python 3.12+ (Проверьте официальное руководство по установке и подтвердите версию командой:
python3 --versionв терминале) - uv (Установите используя официальное руководство)
uv можно установить через менеджер пакетов (например, Homebrew) или напрямую используя curl | sh
- Finam Trade API ключи (бесплатный демо-счёт доступен)
- MCP клиент (Claude Desktop, Cursor, VS Code и т.д.)
Быстрая установка
Выберите подходящий способ установки для вашего MCP-клиента:
- Claude Desktop - Локальная установка: используйте
uvx→ см. Настройка Claude Desktop - Cursor - Локальная установка: используйте
uvx→ см. Настройка Cursor - VS Code - Локальная установка: используйте
uvx→ см. Настройка VS Code
- macOS Finder: Command + Shift + .
- Linux файловые менеджеры: Ctrl + H
- Windows File Explorer: Alt, V, H
- Терминал (macOS/Linux):
ls -a
Метод 1: Быстрая установка с uvx из PyPI
Примечание: Использование MCP-сервера требует установки и настройки как самого MCP-сервера, так и MCP-клиента.
# Установка из PyPI
uvx finam-mcp-server@latest
Примечание: Если у вас ещё нет uv, установите его сначала и перезапустите терминал, чтобы uv/uvx стали доступны. См. официальное руководство: https://docs.astral.sh/uv/getting-started/installation/
Затем добавьте в конфигурацию вашего MCP-клиента:
Расположение конфигурационных файлов:
- Claude Desktop:
~/Library/Application Support/Claude/claudedesktopconfig.json(Mac) или%APPDATA%\Claude\claudedesktopconfig.json(Windows) - Cursor:
~/.cursor/mcp.json(Mac/Linux) или%USERPROFILE%\.cursor\mcp.json(Windows)
{ "mcpServers": { "finam": { "command": "uvx", "args": ["finam-mcp-server@latest"], "env": { "FINAMAPIKEY": "ваш-api-ключ", "FINAMACCOUNTID": "ваш-account-id" } } } }
Метод 2: Установка из исходников с помощью uv
Клонируйте репозиторий и перейдите в директорию:
git clone https://github.com/Alexander-Panov/finam-mcp.git cd finam-mcp
Установите зависимости:
# С использованием uv (рекомендуется) uv sync
Или pip
pip install -e .
Структура проекта
После установки/клонирования и активации виртуального окружения структура директорий должна выглядеть так:
finam-mcp/ ← Рабочая директория (корень проекта) ├── src/ ← Исходный код пакета │ ├── init.py │ ├── cli.py ← Интерфейс командной строки │ ├── config.py ← Управление конфигурацией │ ├── main.py ← Главный MCP-сервер │ ├── middleware.py ← Middleware для аутентификации │ ├── servers/ ← Специализированные MCP-серверы │ │ ├── account.py ← Операции со счётом │ │ ├── assets.py ← Работа с инструментами │ │ ├── market_data.py ← Рыночные данные │ │ └── order.py ← Торговые операции │ └── tradeapi/ ← Обёртки над Finam Trade API │ ├── finam.py ← Основной клиент │ └── order/ ← Модели и клиент для ордеров ├── tests/ ← Тесты ├── .venv/ ← Виртуальное окружение ├── fastmcp.json ← Конфигурация FastMCP ├── pyproject.toml ← Конфигурация пакета ├── README.md └── LICENSE
Получение API ключей
- Посетите Личный кабинет Finam Trade
- Создайте демо-счёт (или используйте реальный счёт)
- Сгенерируйте API ключи в разделе "Токены"
Полезные ссылки
Возможности
Сервер предоставляет доступ к следующим функциям Finam Trade API:
- Управление счётом
- Работа с активами
- Рыночные данные
- Управление ордерами
Примеры запросов
Базовая торговля
- Какой у меня текущий баланс счёта на Finam?
- Покажи мои текущие позиции на счёте Finam.
- Купи 10 акций Сбербанка по рыночной цене.
- Продай 5 акций Газпрома с лимитной ценой 150 рублей.
- Отмени все открытые ордера.
- Покажи все мои активные заявки.
Рыночные данные
- Покажи дневную историю цен Сбербанка за последние 5 торговых дней.
- Какая была цена закрытия Газпрома вчера?
- Получи последний бар для Лукойла.
- Покажи текущую котировку для Яндекса.
- Получи 5-минутные свечи для Сбербанка за последние 2 часа.
Информация об активах
- Найди информацию об инструменте SBER@MOEX.
- Покажи все доступные акции на Московской бирже.
- Получи расписание торгов на сегодня.
Доступные инструменты
Счёт и позиции
getaccountinfo()- Просмотр баланса и статуса счётаget_transactions()- История транзакцийget_trades()- История сделок
Активы
get_assets()- Список всех торговых инструментов с фильтрациейgetassetparams()- Параметры конкретного инструментаget_exchanges()- Список биржgetexchangeinfo()- Информация о конкретной биржеgetoptionboards()- Информация о площадках опционовgettradeschedule()- Расписание торговых сессий
Рыночные данные
get_candles()- Исторические свечи с различными таймфреймамиget_quotes()- Текущие котировкиgetorderbook()- Стакан заявокgetlasttrades()- Последние сделки
Торговля (Ордера)
get_orders()- Получение всех или отфильтрованных ордеровplace_order()- Размещение ордера (market, limit, stop)cancel_order()- Отмена конкретного ордераcancelallorders()- Отмена всех открытых ордеров
Конфигурация MCP клиентов
Ниже вы найдёте пошаговые руководства для подключения Finam MCP сервера к различным MCP клиентам.
Примечание: Предполагается, что все предварительные требования установлены.
Метод: uvx (Рекомендуется)
Простой и современный подход:
- Откройте Claude Desktop → Settings → Developer → Edit Config
- Добавьте эту конфигурацию:
{
"mcpServers": {
"finam": {
"type": "stdio",
"command": "uvx",
"args": ["finam-mcp-server@latest"],
"env": {
"FINAMAPIKEY": "ваш-api-ключ",
"FINAMACCOUNTID": "ваш-account-id"
}
}
}
}
- Перезапустите Claude Desktop и начинайте торговать!
Примечание: Предполагается, что все предварительные требования установлены.
Официальная документация по настройке MCP в Cursor: https://docs.cursor.com/context/mcp
Использование JSON конфигурации
Откройте и отредактируйте ~/.cursor/mcp.json (macOS/Linux) или %USERPROFILE%\.cursor\mcp.json (Windows):
{
"mcpServers": {
"finam": {
"type": "stdio",
"command": "uvx",
"args": ["finam-mcp-server@latest"],
"env": {
"FINAMAPIKEY": "ваш-api-ключ",
"FINAMACCOUNTID": "ваш-account-id"
}
}
}
}
VS Code поддерживает MCP серверы через режим агента GitHub Copilot. Официальная документация: https://code.visualstudio.com/docs/copilot/chat/mcp-servers
Примечание: Предполагается, что все предварительные требования установлены.
1. Включите поддержку MCP в VS Code
- Откройте настройки VS Code (Ctrl/Cmd + ,)
- Найдите "chat.mcp.enabled" и отметьте галочку для включения поддержки MCP
- Найдите "github.copilot.chat.experimental.mcp" и отметьте галочку для использования файлов инструкций
2. Настройте MCP сервер (рекомендуется uvx)
Рекомендация: Используйте конфигурацию для конкретного workspace (.vscode/mcp.json) вместо общей конфигурации пользователя.
Для настроек workspace:
- Создайте
.vscode/mcp.jsonв корне вашего проекта - Добавьте конфигурацию Finam MCP сервера вручную в файл mcp.json:
{
"mcp": {
"servers": {
"finam": {
"type": "stdio",
"command": "uvx",
"args": ["finam-mcp-server@latest"],
"env": {
"FINAMAPIKEY": "ваш-api-ключ",
"FINAMACCOUNTID": "ваш-account-id"
}
}
}
}
}
Тестирование с MCP Inspector
MCP Inspector позволяет интерактивно тестировать все инструменты сервера:
npx @modelcontextprotocol/inspector
Подключитесь к серверу, используя адрес: http://localhost:3000/mcp и добавив заголовки с ключом Finam API и Account ID.
Важные особенности
Формат символов инструментов
Все инструменты указываются в формате ТИКЕР@MIC:
SBER@MOEX- Сбербанк на Московской биржеGAZP@MOEX- Газпром на Московской бирже- По умолчанию используются биржи:
MOEX,SPBE
Формат времени
API требует даты и время в формате ISO 8601:
2024-01-15T10:30:00Z2024-01-15T10:30:00+03:00
TimeFrame для свечей
Доступные таймфреймы из finamtradeapi.instruments.TimeFrame:
M1,M5,M15,M30- минутыH1,H4- часыD1- деньW1- неделя
Использование FastMCP конфигурации
Проект поддерживает декларативную конфигурацию через fastmcp.json:
# Запуск с автоматическим обнаружением fastmcp.json
fastmcp run
Или явное указание файла
fastmcp run fastmcp.json
Для разработки с Inspector UI
fastmcp dev
Технологии
- Python 3.12+
- FastMCP - фреймворк для создания MCP-серверов
- FinamTradeApiPy - Python-обёртка для Finam Trade API
Поддержка
По вопросам и предложениям создавайте Issue в репозитории.
Отказ от ответственности
Не является инвестиционной рекомендацией. Все торговые операции осуществляются на ваш страх и риск. Автор не несёт ответственности за возможные убытки при использовании данного сервера. Тщательно проверяйте все действия, предлагаемые AI-ассистентом, особенно для сложных торговых операций.
Лицензия
MIT License - см. файл LICENSE для деталей.