FxSocket

官方

对托管的 MetaTrader 4 和 MT5 账户的只读访问:余额和净值、未平仓头寸和挂单、交易历史、品种搜索、实时报价和K线。

你可以用 FxSocket MCP 做什么?

  • 账户概览 — 列出该密钥可见的每个账户,包含平台、服务器、连接状态,以及各币种的余额或净值总计。
  • 未平仓敞口 — 显示各账户的未平仓头寸和挂单,可按品种或类型筛选,并附浮动盈亏、库存费和总计。
  • 交易历史回顾 — 汇总最长 366 天内已平仓交易,包括胜率、净利润、最佳和最差交易,以及按品种的明细。
  • 品种查询 — 在请求价格前查找经纪商的确切品种名称,因为像 EURUSD 这样的名称因经纪商而异。
  • 实时报价与规格 — 获取最多 20 个品种的买价、卖价和点差,以及合约细节,如点值、成交量限制、库存费率和交易时段。
  • 价格历史 — 拉取某品种和周期的 OHLC K 线,每次调用最多 500 根,用于描述趋势。

托管 MCP 服务器

npx add-mcp 'https://mcp.fxsocket.com/mcp'

可安装到 Claude Code、Codex、Cursor 等客户端

文档

MetaTrader MCP 服务器

让 AI 智能体以只读方式访问你的 MetaTrader 4 和 MetaTrader 5 账户。FxSocket MCP 服务器让 Claude、Cursor、VS Code 以及任何其他 Model Context Protocol 客户端能够回答关于你交易的问题:各账户的余额和净值、当前持仓、上个月的表现、实时报价和历史价格。它是只读的。 任何工具都无法下单、修改或平仓。

服务器 URL https://mcp.fxsocket.com/mcp

1. 创建只读 API 密钥

在 API 密钥页面 创建一个只读密钥。它以 fxs_ro_ 开头,可以调用这里的每一个工具,也无法通过任何其他端点进行交易。为它命名,并将其限制为智能体应当看到的账户,这样智能体就永远不会知道其他账户的存在。你的完整 fxs_live_ 密钥也可以使用,但智能体用不上它。

2. 连接你的客户端

接受远程服务器 URL 和请求头的客户端可以直接连接。只能启动本地服务器的客户端(例如 Claude Desktop)则使用 Docker 镜像。

claude mcp add --transport http fxsocket https://mcp.fxsocket.com/mcp \
  --header "X-API-Key: fxs_ro_xxx"
{
  "mcpServers": {
    "fxsocket": {
      "url": "https://mcp.fxsocket.com/mcp",
      "headers": { "X-API-Key": "fxs_ro_xxx" }
    }
  }
}
{
  "servers": {
    "fxsocket": {
      "type": "http",
      "url": "https://mcp.fxsocket.com/mcp",
      "headers": { "X-API-Key": "fxs_ro_xxx" }
    }
  }
}
{
  "mcpServers": {
    "fxsocket": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "FXSOCKET_API_KEY", "fxsocket/mcp"],
      "env": { "FXSOCKET_API_KEY": "fxs_ro_xxx" }
    }
  }
}

任何其他客户端的用法相同:将其指向 https://mcp.fxsocket.com/mcp,并在 X-API-Key 请求头中放入密钥(也接受 Authorization: Bearer),或者将 Docker 镜像作为本地服务器运行。

工具

八个工具,全部为只读。每个工具都围绕一个问题而非一个端点来设计,因此“我的各账户当前有哪些持仓”只需一次调用,就能同时读取每个终端。

  • list_accounts:该密钥可见的每个账户,包括其 id、昵称、平台、服务器、登录名和连接状态,可选包含余额、净值和按币种汇总的合计。智能体首先调用它。
  • get_account:单个账户的完整信息:余额、净值、保证金、保证金水平和杠杆,账户设置(如强制平仓水平),以及终端健康状况。
  • get_open_positions:跨账户的持仓和挂单,可按品种和类型筛选,包含浮动盈亏、库存费和按币种汇总的合计。
  • get_trade_history:某一时间段内的已平仓交易(默认最近 7 天,最多 366 天),包含盈利、亏损、胜率、净利润、最佳和最差交易,以及按品种的明细。
  • search_symbols:经纪商的确切品种名称。在某些经纪商处 EURUSD 是 EURUSD.sd 或 EURUSDm,因此智能体在请求价格前会先查询它。
  • get_quotes:最多 20 个品种的实时买价、卖价和点差。
  • get_symbol_info:合约规格:小数位数、合约大小、每点价值、交易量限制、库存费率、佣金和交易时段。
  • get_price_history:某一品种和时间周期的 OHLC K 线,每次调用最多 500 根。

你可以问什么

  • “我所有账户按币种计算的总净值是多少?”
  • “当前哪些持仓处于亏损状态,亏了多少?”
  • “上个月我在 XAUUSD 上的胜率是多少,最差的一笔交易是什么?”
  • “比较一下我每个经纪商上 EURUSD 的点差。”
  • “拉取 GBPUSD 最近 200 根 H1 K 线并描述趋势。”

设计上只读

服务器无法交易,原因在于其代码能够触及的范围,而非某项设置:每个工具都从终端读取数据,没有任何一个工具能发送订单。因此,即使智能体被误导或被操纵,仍然无法开仓、修改或平仓。

金额以每个账户的入金货币报告,绝不跨币种相加;工具会返回按币种汇总的合计,这样模型就不必自己做这种算术。时间均为经纪商服务器时间,与 API 中其他地方一致。

限制:每用户每分钟 60 次请求,单次回复最多 50 个账户和 300 行订单或交易记录。计数和合计始终覆盖全部数据;只有行列表会被截断。

使用 Docker 在本地运行

fxsocket/mcp 镜像将服务器作为本地 stdio 进程运行,适用于自行启动服务器的客户端。它是一个小型中继,一个无依赖的 Python 文件,将每条消息连同你的密钥转发给 mcp.fxsocket.com。工具和你的数据仍然来自 FxSocket,因此当工具发生变化时,该镜像永远无需更新。已为 amd64 和 arm64 发布。

FXSOCKET_API_KEY=fxs_ro_xxx docker run -i --rm -e FXSOCKET_API_KEY fxsocket/mcp

Docker Hub · GitHub 上的源码(MIT)

协议详情

  • 传输: Streamable HTTP,仅 POST,JSON 响应。无状态,无需保持会话。
  • 协议版本: 2026-07-28(每请求元数据,无握手)以及 2025-03-26 至 2025-11-25(initialize 握手)。
  • 身份验证: 与平台 API相同的 API 密钥,放在 X-API-Key 或 Authorization: Bearer 中。
  • 尚不支持: claude.ai 和 ChatGPT 中的网页连接器,它们使用 OAuth 而非请求头登录。Claude Desktop 目前可通过 Docker 镜像使用。