Skip to main content
Glama
edkdev

MetaTrader5 MCP Server

by edkdev

MetaTrader5 MCP Server

Сервер, реализующий протокол Model Context Protocol (MCP), предоставляющий торговые интерфейсы для платформы MetaTrader5 (MT5).

Возможности

  • Управление счётом: получение информации о счёте, балансе, средствах, марже

  • Управление позициями: просмотр, изменение и закрытие открытых позиций

  • Операции с ордерами: размещение рыночных/отложенных ордеров, отмена ордеров

  • Рыночные данные: получение информации о символах, текущих цен (тиков)

  • Котировки/свечи: получение OHLCV через start_pos/count или по диапазону дат

  • Индикаторы: вычисление SMA, EMA, RSI, MACD, полос Боллинджера, ATR, стохастика

  • Пакетные индикаторы: вычисление нескольких индикаторов за один вызов

  • Сигнальные инструменты: флаги режима пересечения EMA и оценка конвергенции для входов

Related MCP server: MetaTrader 5 MCP Server

Установка

Установите зависимости с помощью uv:

uv sync

Конфигурация

Переменные окружения теперь настраиваются непосредственно в настройках вашего MCP-клиента (файл .env не требуется).

Claude Desktop / Kiro

Добавьте в файл конфигурации mcp.json:

{
  "mcpServers": {
    "mt5-trading": {
      "command": "uvx",
      "args": ["mt5-mcp"],
      "env": {
        "MT5_LOGIN": "your_account_number",
        "MT5_PASSWORD": "your_password",
        "MT5_SERVER": "your_broker_server",
        "MT5_PATH": "C:\\Program Files\\MetaTrader 5\\terminal64.exe",
        "MT5_TIMEOUT": "60000",
        "DEFAULT_DEVIATION": "20",
        "DEFAULT_MAGIC": "234000"
      }
    }
  }
}

Обязательные переменные окружения:

  • MT5_LOGIN — номер вашего счёта MT5

  • MT5_PASSWORD — пароль от счёта MT5

  • MT5_SERVER — имя сервера вашего брокера

  • MT5_PATH — путь к исполняемому файлу терминала MT5

Необязательные переменные окружения:

  • MT5_TIMEOUT — тайм-аут подключения в миллисекундах (по умолчанию: 60000)

  • DEFAULT_DEVIATION — отклонение цены по умолчанию в пунктах (по умолчанию: 20)

  • DEFAULT_MAGIC — магическое число для ордеров по умолчанию (по умолчанию: 234000)

Альтернатива: локальная разработка

Для локальной разработки можно также запустить напрямую:

# Set environment variables and run
MT5_LOGIN=your_account MT5_PASSWORD=your_pass MT5_SERVER=your_server MT5_PATH="C:\Program Files\MetaTrader 5\terminal64.exe" uv run python mt5_mcp/server.py

Или использовать устаревший метод с каталогом uv:

{
  "mcpServers": {
    "mt5-trading": {
      "command": "uv",
      "args": [
        "--directory",
        "D:\\path\\mt5-mcp",
        "run",
        "python",
        "mt5_mcp/server.py"
      ],
      "env": {
        "MT5_LOGIN": "your_account_number",
        "MT5_PASSWORD": "your_password",
        "MT5_SERVER": "your_broker_server",
        "MT5_PATH": "C:\\Program Files\\MetaTrader 5\\terminal64.exe"
      }
    }
  }
}

Доступные инструменты

Информация о счёте

  • mt5_get_account_info — получить баланс, средства, маржу счёта и т.д.

  • mt5_get_positions — получить открытые позиции (все или отфильтрованные по символу)

  • mt5_get_orders — получить отложенные ордера

Операции с ордерами

  • mt5_place_order — разместить рыночный или отложенный ордер

    • Поддерживает: buy, sell, buy_limit, sell_limit, buy_stop, sell_stop

    • Опционально SL/TP

  • mt5_close_position — закрыть открытую позицию по тикету

  • mt5_cancel_order — отменить отложенный ордер

  • mt5_modify_position — изменить SL/TP открытой позиции

Рыночные данные

  • mt5_get_symbol_info — получить спецификации контракта

  • mt5_get_tick — получить текущие цены bid/ask

Котировки / свечи

  • mt5_get_rates_from_pos — получить OHLCV, начиная с позиции (0 = текущий бар) с start_pos и count

  • mt5_get_rates_range — получить OHLCV в диапазоне дат ISO date_from → date_to

Индикаторы

Все инструменты индикаторов поддерживают как прямую передачу данных (цены закрытия/свечи), так и автоматическое получение через symbol + timeframe с указанием date_from/date_to или start_pos/count. Установите return_last_only=true, чтобы вернуть только последние значения.

  • mt5_calc_sma — простое скользящее среднее

    • Параметры: period (по умолчанию 20)

  • mt5_calc_ema — экспоненциальное скользящее среднее

    • Параметры: period (по умолчанию 20)

  • mt5_calc_rsi — индекс относительной силы

    • Параметры: period (по умолчанию 14)

  • mt5_calc_macd — линия MACD, сигнал, гистограмма

    • Параметры: fast (12), slow (26), signal (9)

  • mt5_calc_bbands — полосы Боллинджера (верхняя/средняя/нижняя)

    • Параметры: period (20), stddev (2.0)

  • mt5_calc_atr — средний истинный диапазон (требуются свечи)

    • Параметры: period (14)

  • mt5_calc_stochastic — стохастический осциллятор %K/%D (требуются свечи)

    • Параметры: k_period (14), d_period (3), smooth_k (1)

Пакетные индикаторы

  • mt5_calc_bundle — вычислить несколько индикаторов за один вызов, используя одни и те же загруженные свечи

    • Аргументы:

      • indicators: массив названий из ["sma","ema","rsi","macd","bbands","atr","stochastic"]

      • Опциональный объект params для переопределения параметров каждого индикатора (например, { "sma": {"period": 50}, "bbands": {"stddev": 2.5} })

      • Поддерживает symbol/timeframe с диапазоном/количеством или прямую передачу candles/closes

      • return_last_only: если true, возвращает только последние значения

Сигнальные инструменты

  • mt5_signal_crossover — пересечение EMA и флаги режима

    • Параметры: fast (по умолчанию 50), slow (200), lookback_bars (200)

    • Возвращает: state (above/below/equal), crossed_up, crossed_down, age_bars, slope_fast, slope_slow, spread, spread_pct, price_above_both, price_below_both, price

  • mt5_signal_confluence — оценка конвергенции для входов

    • Параметры индикаторов: ema_fast (50), ema_slow (200), ema_near (20), rsi_period (14), macd_fast (12), macd_slow (26), macd_signal (9), bb_period (20), bb_stddev (2.0), atr_period (14)

    • Пороговые значения: near_k_atr (0.5), atr_expansion_ratio (1.0), score_threshold (3)

    • Управление: direction (auto|long|short), опционально weights для trend/momentum/volatility/location/trigger

    • Возвращает компонентные флаги и оценки для long/short, а также предполагаемое направление

Пример использования

# In Claude Desktop, you can now ask:

"What's my MT5 account balance?"
"Show me my open positions on EURUSD"
"Place a buy order for 0.1 lot EURUSD at market"
"Close position with ticket 12345"
"Get current price for XAUUSD"

# Indicators (auto-fetch candles)
"Compute RSI(14) on EURUSD H1 using the last 300 bars (latest value only)"
"Compute MACD and Bollinger Bands on EURUSD H4 for September"

# Bundle
"Compute RSI+MACD+BBands (latest values) on EURUSD H1 using last 300 bars"

# Signals
"Give me EMA(50/200) crossover regime info on EURUSD H1"
"Compute confluence score on EURUSD H1 (defaults) and tell me if entry is ready"

Требования

  • ОС Windows (MT5 работает только на Windows)

  • Установленный и запущенный терминал MetaTrader5

  • Python >=3.11

  • Активный торговый счёт MT5

Архитектура

mt5-mcp/
├── mt5_mcp/
│   ├── __init__.py          # Package init
│   ├── server.py            # MCP server with tool definitions
│   ├── mt5_service.py       # MT5 SDK wrapper
│   └── indicators.py        # Pure-Python technical indicators
├── pyproject.toml           # Project dependencies (uv)
├── .env.example             # Environment template
└── README.md

Разработка

Запуск в режиме разработки:

uv run python mt5_mcp/server.py

Лицензия

MIT

Примечания

  • Программное обеспечение предоставляется «как есть», автор не несёт ответственности за любые убытки от торговли. Торговля на Форекс крайне волатильна и рискованна, действуйте с предельной осторожностью.

  • Терминал MT5 должен быть запущен при использовании данного MCP

  • Убедитесь, что на вашем счёте разрешена торговля

  • Сначала протестируйте на демо-счёте, прежде чем использовать с реальными деньгами

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables access to MetaTrader5 market data and trading functionality, including real-time quotes, historical OHLCV data, tick data, symbol information, and technical indicators for forex and other trading instruments.
    22
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to connect to MetaTrader 5 for trading, market data access, and account management through the Model Context Protocol.
    90 PyPI
    231
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI applications to interact with MetaTrader 5 terminals via WebSocket MCP protocol for trading operations and account management.
    4
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with MetaTrader 5 for market data, technical analysis, Fibonacci calculations, and trading via MCP clients such as Claude.
    MIT