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

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

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

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    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.
    21
    MIT
  • F
    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.
    209
  • 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
    C
    maintenance
    Enables interaction with MetaTrader 5 for market data, technical analysis, Fibonacci calculations, and trading via MCP clients such as Claude.
    MIT

View all related MCP servers

Related MCP Connectors

  • Connect any MCP client to MetaTrader 4/5 to read prices, manage positions, and place trades.

  • Hosted MCP for stocks, options, Greeks, brokers, order previews, alerts, and workflows.

  • MCP server for OpenMM — exposes market data, account, trading, and strategy tools to AI agents

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/edkdev/mt5-forex-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server