交易工具服务器

Capital.com MCP Server 是一个自托管的模型上下文协议(MCP)服务器,用于通过Python和FastMCP框架提供42种安全的交易和市场数据工具,支持多种MCP客户端。

  • by SimonTarara62
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 SimonTarara62/capitalcom-mcp-server

使用说明

Capital.com MCP服务器

自托管 模型上下文协议(MCP) 服务器 Capital.com开放 API,用Python编写 FastMCP它 暴露 42个安全、有保护的交易和市场数据工具 --两相 执行、分配、演示优先——通过stdio或HTTP传输到任何MCP客户端。建造 在测试 capitalcom-cli 代理引擎(SDK)。

适用于 克劳德桌面·克劳德代码·光标·VS代码(复制品)· Windsurf·ChatGPT——任何MCP客户端。

⚠️ 非官方和教育。 不隶属于Capital.com。交易是 有风险,这不是财务建议。交易是 默认情况下禁用; 所有交易都是两阶段的(预览→ 确认→ 执行)与排外主义者和 尺寸/速率限制。从a开始 演示 账户Apache-2.0已获得许可。

安装

不需要克隆-- uvx 在一个孤立的、一次性的环境中运行它 始终获取最新测试版本:

uvx capitalcom-mcp --help        # smoke test

或者使用pipx安装一个持久命令:

pipx install capitalcom-mcp

生产/实际资金使用

uvx capitalcom-mcp 总是运行 最新的 出版发行。那很好 为了尝试,但为了生产或真正的金钱使用, 准确无误 版本 因此,意外更新无法更改您下方的工具行为:

{
  "mcpServers": {
    "capitalcom": {
      "command": "uvx",
      "args": ["capitalcom-mcp==0.3.4"],
      "env": { "CAP_ENV_FILE": "/Users/you/.config/capital-mcp/.env" }
    }
  }
}

CLI表单为 uvx capitalcom-mcp==0.3.4 run …。固定到您拥有的版本 审阅后,在阅读后故意磕碰 更新日志.

1.添加您的凭据(一次)

在Capital.com应用程序中获取API密钥: 设置→ API集成 (制作a 演示 键优先)。然后运行向导——它会写一个 0600 文件和打印 确切的客户端代码片段:

uvx capitalcom-mcp init

这写道 ~/.config/capital-mcp/.env.随时验证(不打印机密):

uvx capitalcom-mcp doctor

检查完整的有效配置(编辑、离线)或确认您的 凭据实际进行身份验证:

uvx capitalcom-mcp config          # effective settings + credential source
uvx capitalcom-mcp doctor --login  # verify authentication against the API

更喜欢秘密经理?集 CAP_API_KEY_CMD / CAP_IDENTIFIER_CMD / CAP_API_PASSWORD_CMD 打印秘密的命令(例如。 op read op://vault/..., pass ...).秘密在发射时就被窃取了,而且永远不会 写入磁盘或客户端配置。

2.将服务器添加到客户端

每个客户端都使用相同的 command/args/env 形状。粘贴 "CAP_ENV_FILE": "<path from init>" 在客户端文件之外保密;或 放 CAP_API_KEY/CAP_IDENTIFIER/CAP_API_PASSWORD 直接在 env.

克劳德桌面版

~/Library/Application Support/Claude/claude_desktop_config.json (macOS)/ %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "capitalcom": {
      "command": "uvx",
      "args": ["capitalcom-mcp"],
      "env": { "CAP_ENV_FILE": "/Users/you/.config/capital-mcp/.env" }
    }
  }
}

Claude 代码

claude mcp add --transport stdio \
  --env CAP_ENV_FILE=/Users/you/.config/capital-mcp/.env \
  capitalcom -- uvx capitalcom-mcp

光标

~/.cursor/mcp.json (全球)或 .cursor/mcp.json (项目):

{
  "mcpServers": {
    "capitalcom": {
      "command": "uvx",
      "args": ["capitalcom-mcp"],
      "env": { "CAP_ENV_FILE": "/Users/you/.config/capital-mcp/.env" }
    }
  }
}

VS代码(副本)

.vscode/mcp.json --注意根键是 servers 和 type: "stdio":

{
  "servers": {
    "capitalcom": {
      "type": "stdio",
      "command": "uvx",
      "args": ["capitalcom-mcp"],
      "env": { "CAP_ENV_FILE": "/Users/you/.config/capital-mcp/.env" }
    }
  }
}

帆板运动

~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "capitalcom": {
      "command": "uvx",
      "args": ["capitalcom-mcp"],
      "env": { "CAP_ENV_FILE": "/Users/you/.config/capital-mcp/.env" }
    }
  }
}

ChatGPT

ChatGPT需要 远程 服务器(不支持stdio)--请参阅 远程/VPS主机。一旦您的服务器可以通过以下方式访问 HTTPS,启用 开发人员模式 (设置→ 连接器→ 高级)并添加 以结尾的服务器URL /mcpChatGPT 深度研究 连接器调用2 只读工具, search 和 fetch,该服务器实现;全定制 工具需要开发人员模式。

远程/VPS主机

使用可流式传输的HTTP而不是stdio运行:

CAP_ENV_FILE=/home/you/.config/capital-mcp/.env \
  capitalcom-mcp run --transport http --host 0.0.0.0 --port 8000
# endpoint: http://<host>:8000/mcp

或者通过env(在systemd中很方便): CAP_MCP_TRANSPORT=http, CAP_MCP_HOST, CAP_MCP_PORT。将其置于TLS终止反向代理之后,以供任何公共使用。

里面有什么——工具、资源和提示

此服务器公开 42工具, 4资源,以及 7个引导提示.全部 工具名称带有前缀 cap_ 除了两个ChatGPT深度研究适配器 (search, fetch).突变工具需要 confirm=true交易分为两个阶段。 整个表面是一个稳定的契约——见 API稳定性.

会话和帐户

工具 它做什么
cap_session_status 当前登录/会话状态。
cap_session_login 身份验证(可选 force=true).
cap_session_ping 保持活力/活性检查。
cap_session_logout 结束会话。
cap_session_switch_account 切换活动交易账户。
cap_account_list 列出帐户和活动帐户id
cap_account_preferences_get 读取账户偏好(例如对冲模式)。
cap_account_preferences_set 更新首选项(confirm 需要)。
cap_account_history_activity 帐户活动历史记录。
cap_account_history_transactions 交易历史。
cap_account_demo_topup 充值a 演示 平衡(confirm 需要)。

市场数据

工具 它做什么
cap_market_search 按术语搜索工具。
cap_market_get EPIC的完整市场详情+快照。
cap_market_navigation_root 顶级市场导航节点。
cap_market_navigation_node 深入到导航节点。
cap_market_prices 历史悠久的OHLC蜡烛。
cap_market_sentiment 客户多头/空头头寸。

交易(阅读→ 预览→ 执行→ 管理)

工具 它做什么
cap_trade_positions_list 空缺职位。
cap_trade_positions_get 按交易id列出一个职位
cap_trade_orders_list 工作(待定)订单。
cap_trade_confirm_get 通过引用获取交易确认。
cap_trade_confirm_wait 投票,直到交易确认(或超时)。
cap_trade_preview_position 第一阶段:确认市场头寸(不执行)。
cap_trade_preview_working_order 第一阶段:验证工作订单。
cap_trade_execute_position 第2阶段:执行预览位置(confirm).
cap_trade_execute_working_order 第2阶段:放置预览的工作订单(confirm).
cap_trade_positions_close 关闭头寸(confirm).
cap_trade_orders_cancel 取消工作订单(confirm).
cap_trade_positions_amend 修改仓位的止损/限制(confirm).
cap_trade_orders_amend 修改工作指令(confirm).

收看列表

工具 它做什么
cap_watchlists_list 列出观察名单。
cap_watchlists_get 获得一个观察名单的市场。
cap_watchlists_create 创建观察名单(confirm).
cap_watchlists_add_market 添加EPIC(confirm).
cap_watchlists_remove_market 移除EPIC(confirm).
cap_watchlists_delete 删除监视列表(confirm).

流媒体(WebSocket;需要 CAP_WS_ENABLED=true)

工具 它做什么
cap_stream_prices EPIC的实时竞价/询价更新。
cap_stream_candles OHLC蜡烛实时更新。
cap_stream_alerts 阈值价格警报。
cap_stream_portfolio 实时头寸/P&L更新。

ChatGPT深度研究适配器

工具 它做什么
search 只读仪器搜索(ChatGPT连接器合约)。
fetch 按id读取只读仪器(ChatGPT连接器合约)。

资源

URI 返回什么
cap://status 会话/连接状态快照。
cap://risk-policy 主动风险政策(交易标志、上限)。
cap://allowed-epics EPIC交易对手。
cap://market-cache/{epic} EPIC的缓存市场快照。

引导式提示

提示是客户可以按名称启动的可重用工作流。他们发射 一步一步的指导,协调上述工具——它们从不交易 他们自己的。

提示 目的
market_scan 浏览观察名单,寻找机会(价格+情绪)。
trade_proposal 设计一个风险大小的交易,并通过预览进行验证。
execute_trade 安全执行之前预览的交易。
position_review 审查空缺职位和工作订单。
live_price_monitor 流价格和标志阈值变动。
real_time_alerts 配置和观看实时价格警报。
live_portfolio_monitor 流式传输带有阈值的实时投资组合损益。

安全模型

  • 交易除非 CAP_ALLOW_TRADING=true 和 EPIC在 CAP_ALLOWED_EPICS (或 ALL).
  • 分两个阶段执行; confirm=true 突变所必需的。
  • 规模、未平仓合约和每日订单上限; CAP_DRY_RUN=true 阻止所有 处决。A. TIMEOUT 确认是模棱两可的——调和,不要盲目重试。

发展

make install   # editable MCP + capitalcom-cli SDK from PyPI
make check     # ruff + mypy + pytest (offline; no network/credentials)

端到端试驾 每 工具通过MCP对抗 演示 API (阅读、监视列表、帐户切换、预览/执行/修改/关闭/取消、流媒体)。 他们下了真正的演示订单,并自行清理,所以使用演示 .env 启用交易+流媒体:

# demo .env: CAP_ALLOW_TRADING=true, CAP_ALLOWED_EPICS=GOLD, CAP_WS_ENABLED=true
CAP_MCP_E2E=1 pytest -m e2e -v

贡献

欢迎捐款——这是一个社区项目。从...开始 贡献.md,浏览 好的第一个问题,并查看 路线图 因为它要去哪里。建筑和工作 “添加工具”示例在 docs/extending.md.

许可证

阿帕奇-2.0。看 许可证 和 通知.