MetaTrader 5 MCP Server
Qoyyuum
README
MetaTrader 5 MCP 服务器
一个用于与 MetaTrader 5 交易平台交互的模型上下文协议 (MCP) 服务器。该服务器为 AI 助手提供工具和资源,以访问市场数据、执行交易操作和分析交易历史。
功能
- 市场数据访问: 获取历史价格数据、报价和交易品种信息
- 交易操作: 下单、管理仓位和跟踪交易历史
- 账户管理: 访问账户信息和终端状态
- AI 友好提示: 用于常见交易任务的预定义对话模板
- 全面的文档: 使用 MetaTrader 5 API 的详细指南
前提条件
- Python 3.8 或更高版本
- 已安装 MetaTrader 5 终端
- MetaTrader 5 账户(模拟或真实)
安装
- 安装所需的依赖项:
pip install -r requirements.txt
- 确保 MetaTrader 5 终端已安装并正在运行。
用法
在开发模式下运行服务器
要在开发模式下运行服务器并进行热重载:
fastmcp dev main.py
这将启动 MCP 服务器并提供一个检查器界面,用于测试工具和资源。
为 Claude Desktop 安装服务器
要安装服务器以与 Claude Desktop 一起使用:
fastmcp install main.py
将服务器与 AI 助手一起使用
服务器运行后,AI 助手可以使用以下工具和资源:
连接管理
initialize()
: 初始化 MetaTrader 5 终端login(account, password, server)
: 登录到交易账户shutdown()
: 关闭与终端的连接
市场数据访问
get_symbols()
: 获取所有可用的交易品种get_symbol_info(symbol)
: 获取有关特定交易品种的信息copy_rates_from_pos(symbol, timeframe, start_pos, count)
: 获取历史价格数据copy_ticks_from_pos(symbol, start_pos, count, flags)
: 获取历史报价数据
交易操作
order_send(request)
: 发送交易订单positions_get(symbol, group)
: 获取未平仓位orders_get(symbol, group)
: 获取活动订单history_orders_get(...)
: 获取历史订单history_deals_get(...)
: 获取历史成交
示例工作流程
连接和获取市场数据
# 初始化 MT5
initialize()
# 登录到您的交易账户
login(account=123456, password="your_password", server="your_server")
# 获取可用的交易品种
symbols = get_symbols()
# 获取 EURUSD 的最新价格数据
rates = copy_rates_from_pos(symbol="EURUSD", timeframe=15, start_pos=0, count=100)
# 关闭连接
shutdown()
下单交易
# 初始化并登录
initialize()
login(account=123456, password="your_password", server="your_server")
# 创建订单请求
request = OrderRequest(
action=mt5.TRADE_ACTION_DEAL,
symbol="EURUSD",
volume=0.1,
type=mt5.ORDER_TYPE_BUY,
price=1.1,
deviation=20,
magic=123456,
comment="Buy order",
type_time=mt5.ORDER_TIME_GTC,
type_filling=mt5.ORDER_FILLING_IOC
)
# 发送订单
result = order_send(request)
# 关闭连接
shutdown()
资源
该服务器提供以下资源来帮助 AI 助手了解如何使用 MetaTrader 5 API:
mt5://getting_started
: 使用 MetaTrader 5 API 的基本工作流程mt5://trading_guide
: 下单和管理交易的指南mt5://market_data_guide
: 访问和分析市场数据的指南mt5://timeframes
: 有关可用时间范围的信息mt5://tick_flags
: 有关报价标志的信息mt5://order_types
: 有关订单类型的信息mt5://order_filling_types
: 有关订单填充类型的信息mt5://order_time_types
: 有关订单时间类型的信息mt5://trade_actions
: 有关交易请求操作的信息
提示
该服务器提供以下提示来帮助 AI 助手与用户交互:
connect_to_mt5(account, password, server)
: 连接到 MetaTrader 5 并登录analyze_market_data(symbol, timeframe)
: 分析特定交易品种的市场数据place_trade(symbol, order_type, volume)
: 为特定交易品种下单manage_positions()
: 管理未平仓位analyze_trading_history(days)
: 分析交易历史
许可证
该项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。
致谢
- MetaQuotes 提供的 MetaTrader 5 平台
- FastMCP 提供的 MCP 服务器实现
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

Cryo MCP Server
一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。