MetaTrader 5 MCP Server

MetaTrader 5 MCP Server

Qoyyuum

研究与数据
访问服务器

README

MetaTrader 5 MCP 服务器

一个用于与 MetaTrader 5 交易平台交互的模型上下文协议 (MCP) 服务器。该服务器为 AI 助手提供工具和资源,以访问市场数据、执行交易操作和分析交易历史。

功能

  • 市场数据访问: 获取历史价格数据、报价和交易品种信息
  • 交易操作: 下单、管理仓位和跟踪交易历史
  • 账户管理: 访问账户信息和终端状态
  • AI 友好提示: 用于常见交易任务的预定义对话模板
  • 全面的文档: 使用 MetaTrader 5 API 的详细指南

前提条件

  • Python 3.8 或更高版本
  • 已安装 MetaTrader 5 终端
  • MetaTrader 5 账户(模拟或真实)

安装

  1. 安装所需的依赖项:
pip install -r requirements.txt
  1. 确保 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 文件。

致谢

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

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

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

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

本地
Python