← 返回目录
M

MetaTrader MCP Server

社区
用自然语言连接 AI 与 MetaTrader 5,获取行情并执行交易。
GitHub 源仓库 ↗
★ 774 Stars 分类 · 其他 热门 源版本 bd2ff591e32c
46FMRS · D
可靠性
7/20
安全与权限
3/20
维护活跃度
10/20
文档质量
14/20
安装易用性
12/20

这是一个由独立仓库维护的 MetaTrader 5 MCP 桥接服务器,功能覆盖账户、行情、订单、持仓和历史交易;README 标注版本 0.5.1、MIT 许可和 Active Development。它同时提供 REST API 与 WebSocket 行情服务,但实盘交易风险高,且远程 SSE 不自带身份验证。

查看 FMRS 评分方法 →

MetaTrader MCP Server 将 AI 助手连接到 MetaTrader 5,支持账户查询、实时与历史市场数据、订单执行、持仓管理和交易历史查询。它可作为 MCP 服务器、REST API 或 WebSocket 行情流使用,并支持 stdio、SSE 和 streamable-http 传输。

工具能力

get_account_info
获取账户余额、净值、利润、保证金水平、杠杆和货币等信息。
get_symbols
列出可用交易品种。
get_symbol_price
获取指定品种的当前买价和卖价。
get_candles_latest
获取近期 OHLCV 价格蜡烛数据。
get_candles_by_date
按日期范围获取历史蜡烛数据。
get_symbol_info
获取指定品种的详细信息。
place_market_order
执行即时买入或卖出订单。
place_pending_order
创建限价单或止损挂单。
modify_position
修改持仓的止损或止盈。
modify_pending_order
修改挂单参数。
get_all_positions
查看所有开放持仓。
get_positions_by_symbol
按交易品种筛选持仓。
get_positions_by_id
获取指定持仓详情。
close_position
平仓指定持仓。
close_all_positions
平掉所有开放持仓。
close_all_positions_by_symbol
平掉指定品种的所有持仓。
close_all_profitable_positions
平掉所有盈利持仓。
close_all_losing_positions
平掉所有亏损持仓。
get_all_pending_orders
列出所有挂单。
get_pending_orders_by_symbol
按交易品种筛选挂单。
cancel_pending_order
取消指定挂单。
cancel_all_pending_orders
取消所有挂单。
cancel_pending_orders_by_symbol
取消指定品种的挂单。
get_deals
获取历史已完成交易。
get_orders
获取历史订单记录。

安装接入

安装 Python 3.10 或更高版本、MetaTrader 5 和演示或实盘账户。运行 pip install metatrader-mcp-server,并在 MetaTrader 5 的 Tools → Options → Expert Advisors 中启用 Allow algorithmic trading。将 install_config 中的登录号、密码和服务器名替换为实际值,保存到 Claude Desktop 配置文件后重启 Claude Desktop。若终端安装路径非标准位置,可添加 --path 参数。

claude_desktop_config.json
{"mcpServers":{"metatrader":{"command":"metatrader-mcp-server","args":["--login","YOUR_MT5_LOGIN","--password","YOUR_MT5_PASSWORD","--server","YOUR_MT5_SERVER","--transport","stdio"]}}}

选型与风险

适合谁

  • 希望用 AI 辅助 MetaTrader 5 操作的交易者。
  • 构建交易机器人或市场分析工具的开发者。
  • 需要快速访问 MetaTrader 5 行情数据的分析师。

不适合谁

  • 不理解金融交易风险的用户。
  • 需要无风险交易建议或自动盈利保证的用户。
  • 不具备 MetaTrader 5 终端、账户凭据或算法交易权限的用户。

所需权限

  • 需要 MetaTrader 5 终端和交易账户登录号、密码及服务器名。
  • 需要在 MetaTrader 5 中启用算法交易。
  • 具备交易权限的账户可被用于下单、修改订单和关闭持仓。
  • 远程 SSE 使用时需要网络访问;该协议本身不包含身份验证。

风险与副作用

  • 金融交易可能造成重大损失,开发者不对交易结果负责。
  • AI 请求可能触发真实订单、订单修改或持仓关闭。
  • 将 SSE 暴露到网络而未限制访问可能允许未经授权的调用。
  • 实盘账户、保证金不足、市场关闭或品种不可用可能导致操作失败。

常见排障

  1. 连接失败时确认 MT5 终端正在运行、算法交易已启用且账户凭据正确。
  2. 模块未找到时确认已安装 metatrader-mcp-server 且 Python 版本至少为 3.10。
  3. 订单执行失败时确认品种存在、市场开放且保证金充足。
  4. 若终端路径非标准位置,使用 --path 指定 terminal64.exe。
  5. 远程 SSE 部署时使用防火墙、带身份验证的反向代理或 SSH 隧道限制访问。

使用场景

用自然语言查询账户和市场数据。
通过 AI 执行、修改和关闭交易。
构建交易机器人、分析工具或实时行情仪表板。
通过 WebSocket 监控实时 tick 数据。

支持客户端

Claude Desktop完整支持
Claude Code完整支持
Open WebUI部分支持
ChatGPT via Open WebUI部分支持