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 镜像使用。