mcpField
F
FxSocket

FxSocket

远程服务
fxsocket.com金融数据02 天前更新

关于 FxSocket

FxSocket MCP 通过 FxSocket 为 AI 助手提供 MetaTrader 4 和 5 账户的只读访问,可查看余额、持仓、交易历史和市场数据,不能下单、修改或平仓。

主要功能

  1. 01列出可访问的交易账户
  2. 02读取账户余额与状态
  3. 03查看持仓和挂单
  4. 04查看已平仓交易与表现
  5. 05查询报价和品种规格
  6. 06获取历史价格蜡烛图

适用场景

  1. 01检查账户余额与净值
  2. 02查看持仓和浮动盈亏
  3. 03按时间段分析已平仓交易
  4. 04查看报价与历史蜡烛图

MCP 相关

FxSocket 向 MCP 客户端提供账户和市场数据工具。客户端可通过带有 X-API-Key 请求头的远程 MCP 端点连接,也可运行本地 stdio 中继;所有访问均为只读。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.fxsocket.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://mcp.fxsocket.com/mcp需要授权
安装包
ocidocker.io/fxsocket/mcp:1.0.1

工具

详细介绍

FxSocket MCP

Docker Hub CI License: MIT

让 Claude、Cursor、VS Code 和其他 MCP 客户端读取你在 FxSocket 上的 MetaTrader 4 和 5 账户:余额、未平仓头寸、已平仓交易(含胜率和盈亏)、报价、品种规格和价格历史。它仅支持只读。 无法下单、修改订单或平仓。

此镜像将 FxSocket 的 MCP 服务作为本地 stdio 服务运行,适用于自行启动服务的客户端(Claude Desktop、Docker 的 MCP Toolkit,或任何通过 command 配置的客户端)。它会使用你的 API 密钥,将每条消息转发到 https://mcp.fxsocket.com/mcp。这些工具运行在 FxSocket 上,与账户连接的交易终端位于同一处,因此镜像体积小巧,且工具发生变化时无需更新。

如果你的客户端支持填写远程服务 URL 和请求头,就可以跳过此镜像:将其指向 https://mcp.fxsocket.com/mcp,并在 X-API-Key 请求头中填写你的密钥。

1. 获取 API 密钥

在 app.fxsocket.com/dashboard/api-key 创建一个只读密钥(fxs_ro_...)。创建一个仅限部分账户使用的命名密钥,可将 Agent 的访问范围精确限制在这些账户。完整的 fxs_live_... 密钥也能使用,但 Agent 并不需要它。

2. 添加到客户端

Claude Desktop(进入 Settings、Developer、Edit Config,然后重启):

{
  "mcpServers": {
    "fxsocket": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "FXSOCKET_API_KEY", "fxsocket/mcp"],
      "env": { "FXSOCKET_API_KEY": "fxs_ro_..." }
    }
  }
}

Claude Code:

claude mcp add fxsocket -e FXSOCKET_API_KEY=fxs_ro_... -- docker run -i --rm -e FXSOCKET_API_KEY fxsocket/mcp

Cursor(~/.cursor/mcp.json):

{
  "mcpServers": {
    "fxsocket": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "FXSOCKET_API_KEY", "fxsocket/mcp"],
      "env": { "FXSOCKET_API_KEY": "fxs_ro_..." }
    }
  }
}

VS Code(.vscode/mcp.json,会提示输入一次密钥):

{
  "inputs": [
    { "type": "promptString", "id": "fxsocket-key", "description": "FxSocket API key", "password": true }
  ],
  "servers": {
    "fxsocket": {
      "type": "stdio",
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "FXSOCKET_API_KEY", "fxsocket/mcp"],
      "env": { "FXSOCKET_API_KEY": "${input:fxsocket-key}" }
    }
  }
}

-e FXSOCKET_API_KEY 不带值时,会从客户端的 env 传递该变量,因此密钥不会出现在进程列表中。

不使用 Docker: 此转发程序是一个无需依赖的单文件程序。下载 fxsocket_mcp.py,并将 python3(3.10 或更高版本)设为命令,将该文件的路径作为参数,同时保留相同的 env。

工具

工具可查询的信息
list_accounts密钥可访问的所有账户,可选择附带每种货币的余额、净值和总额。请先调用。
get_account单个账户的完整信息:摘要、经纪商信息和交易终端状态。
get_open_positions所有账户的未平仓头寸和挂单,含浮动盈亏和隔夜利息。
get_trade_history指定时段内的已平仓交易,含盈利次数、亏损次数、胜率、净盈亏和按品种分类的明细。
search_symbols查找经纪商使用的准确品种名称(EURUSD、EURUSD.sd、EURUSDm...)。
get_quotes最多 20 个品种的实时买价/卖价和点差。
get_symbol_info合约规格:小数位数、合约大小、交易量限制、隔夜利息、交易时段。
get_price_history某个品种和时间周期的 OHLC 蜡烛图数据。

金额以各账户的存款货币计,不会跨货币求和。时间均为经纪商服务器时间。

配置

变量默认值
FXSOCKET_API_KEY(必需)你的 FxSocket API 密钥。
FXSOCKET_MCP_URLhttps://mcp.fxsocket.com/mcp要转发到的服务。仅允许使用指向 localhost 的普通 http。
FXSOCKET_MCP_TIMEOUT120等待单次回复的秒数。
FXSOCKET_MCP_LOGinfoerror、warning、info 或 debug。日志输出到 stderr。

FxSocket 对每位用户每分钟最多允许 60 次 MCP 请求。

工作原理

客户端会将以换行符分隔的 JSON-RPC 写入容器的标准输入。中继会通过保持活动状态的 HTTPS 连接,将每条消息 POST 到 MCP 端点,添加 API 密钥和协议要求的标头,并将回复写入标准输出。它支持两个协议时期:

  • **2026-07-28:**协议版本会随每个请求的 _meta 一起传递,中继会将其映射到 MCP-Protocol-Version、Mcp-Method 和 Mcp-Name 标头(以及任何 x-mcp-header 工具参数)。
  • **2025-03-26 到 2025-11-25:**客户端会通过 initialize 握手,中继从那时起会将协商后的版本作为 MCP-Protocol-Version 发送。

如果 FxSocket 拒绝密钥,中继仍会根据服务的公开卡片 (https://mcp.fxsocket.com/.well-known/mcp/server-card.json)响应 initialize 和 tools/list,因此使用占位密钥启动它的目录和检查器仍能看到这些工具。每次工具调用仍需要有效密钥,否则会返回拒绝响应。

请求会并发运行。客户端发来的 notifications/cancelled 会关闭该请求的连接,这也是 Streamable HTTP 的取消方式。HTTP 故障(密钥无效、触发速率限制或网络问题)会以 JSON-RPC 错误返回,并说明需要修复的问题,而不会让客户端一直等待。

开发

python3 -m unittest discover -s tests
docker build -t fxsocket/mcp:dev .

测试会将中继作为子进程,连接到本地桩服务器运行,因此会覆盖真实的标准输入输出和 HTTP 路径。

要发布版本,请在 fxsocket_mcp.py 中更新 __version__,然后推送匹配的标签(git tag v1.0.1 && git push --tags)。publish 工作流会构建 linux/amd64 和 linux/arm64,并推送 fxsocket/mcp:<version>、:<major>.<minor> 和 :latest;dockerhub-overview 工作流会将此 README 复制到 Docker Hub 页面。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。