ctrader-mcp-server
cTrader MCP 服务器
一个独立的模型上下文协议 (MCP) 服务器,使 AI 助手能够与 cTrader 交易平台进行交互。
🚀 这是什么?
此 MCP 服务器允许像 Claude 这样的 AI 助手通过自然语言对话在 cTrader 上执行交易、分析市场并管理仓位。
对话示例:
“显示我的账户余额” → 获取余额、净值、仓位
“买入 0.01 手 EURUSD,止损设为 1.08” → 下单交易
“计算 GBPUSD 的 RSI” → 分析技术指标
“平掉所有亏损的仓位” → 管理风险
Related MCP server: 3commas-mcp
✨ 功能特性
交易操作
✅ 市价单 - 以当前价格立即执行
✅ 限价单 - 在特定价格水平下单
✅ 止损/止盈单 - 止损或止损入场订单
✅ 仓位管理 - 全部或部分平仓
✅ 订单管理 - 取消挂单
市场数据与分析
✅ 历史数据 - OHLCV K 线(9 个时间周期:M1, M5, M15, M30, H1, H4, D1, W1, MN1)
✅ 技术指标 - RSI, MACD, EMA, SMA, 布林带, ATR, 随机指标
✅ 实时报价 - 订阅实时价格推送
✅ 品种搜索 - 浏览 100 多种交易品种
账户信息
✅ 账户状态 - 余额、净值、保证金、可用保证金
✅ 仓位追踪 - 所有持仓及其盈亏 (P&L)
✅ 订单追踪 - 所有挂单
✅ 盈亏分析 - 详细的盈亏明细
🎯 可用工具(共 14 个)
工具 | 描述 |
| 查看余额、净值、保证金和盈亏 |
| 列出所有持仓及其详情 |
| 显示所有挂单(限价/止损单) |
| 获取详细的盈亏明细 |
| 以当前市价执行交易 |
| 在特定价格下单 |
| 下止损或止损入场订单 |
| 全部或部分平仓 |
| 取消挂单 |
| 浏览可用的交易品种 |
| 获取 OHLCV K 线数据 |
| 计算技术指标 |
| 订阅实时价格更新 |
| 取消订阅价格更新 |
📋 前置要求
Python 3.10 或更高版本
cTrader 账户(模拟或实盘)
cTrader API 凭据
🔧 安装
1. 获取 cTrader API 凭据
创建一个应用程序以获取:
CLIENT_IDCLIENT_SECRET
生成访问令牌:
ACCESS_TOKEN
在 cTrader 中查找您的账户 ID:
ACCOUNT_ID
2. 安装服务器
# Clone or download this repository
cd ctrader-mcp-server
# Run installation script
./install.sh3. 配置凭据
在项目根目录下创建一个 .env 文件:
CLIENT_ID=your_client_id_here
CLIENT_SECRET=your_client_secret_here
ACCESS_TOKEN=your_access_token_here
ACCOUNT_ID=your_account_id_here
HOST=demo重要: 测试时请使用 HOST=demo!
4. 测试服务器
# Activate virtual environment
source venv/bin/activate
# Run tests
python test_server.py你应该看到:
✓ Bot initialized and authenticated
✓ Account status retrieved
✓ Found X EUR symbols
...
All Tests Completed Successfully! ✓🤖 配置 AI 助手
Claude Desktop
找到你的配置文件:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
添加此配置:
{
"mcpServers": {
"ctrader": {
"command": "/absolute/path/to/ctrader-mcp-server/venv/bin/python",
"args": [
"/absolute/path/to/ctrader-mcp-server/server.py"
],
"cwd": "/absolute/path/to/ctrader-mcp-server"
}
}
}重启 Claude Desktop
其他 MCP 客户端
此服务器实现了标准的 MCP 协议,应可与任何兼容 MCP 的客户端配合使用。
💬 对话示例
配置完成后,你可以自然地进行交互:
检查账户:
你: “我的 cTrader 账户里有多少钱?”
AI: “你的账户余额为 10,000 美元,净值为 10,250 美元,有 3 个持仓,总盈亏为 +250 美元。”
下单交易:
你: “买入 0.01 手 EURUSD,止损设为 1.08,止盈设为 1.10”
AI: “订单已执行!以 1.09245 的价格买入 0.01 手 EURUSD,止损设为 1.08000,止盈设为 1.10000。”
分析市场:
你: “计算 15 分钟图表上 GBPUSD 的 RSI”
AI: “M15 周期上 GBPUSD 的 RSI(14) 目前为 65.3,表明该货币对正接近超买区域。”
管理风险:
你: “平掉所有亏损超过 50 美元的仓位”
AI: “发现 1 个亏损超过 50 美元的仓位。已平掉 GBPUSD 仓位(亏损:-$62.50)。”
📚 文档
🔐 安全与保障
模拟交易 vs 实盘交易
默认配置使用 模拟账户
实盘交易请在
.env中显式设置HOST=live在进行实盘交易前,请务必在模拟账户上进行充分测试
风险管理
所有订单均支持止损和止盈
仓位平仓可以是部分或全部
交易量以手为单位(0.01 = 微型手)
凭据安全
凭据存储在
.env文件中(切勿提交到版本控制)环境变量绝不会在日志中泄露
操作前会验证身份验证状态
🚨 重要警告
⚠️ 交易涉及重大风险。你可能会亏损资金。 ⚠️ 请务必先在模拟账户上进行测试 ⚠️ 实盘交易时请从小仓位开始 ⚠️ 使用止损来限制风险 ⚠️ 切勿分享你的凭据或访问令牌
🛠️ 开发
项目结构
ctrader-mcp-server/
├── server.py # Main MCP server
├── ctrader_bot.py # cTrader API wrapper
├── test_server.py # Testing tool
├── install.sh # Installation script
├── requirements.txt # Python dependencies
├── .env.example # Environment template
├── README.md # This file
└── docs/ # Documentation
├── QUICKSTART.md
├── GUIDE.md
├── ARCHITECTURE.md
├── CONFIGURATION.md
└── API.md运行测试
# Basic functionality test
python test_server.py
# Run with specific account
ACCOUNT_ID=12345 python test_server.py
# Test with live account (careful!)
HOST=live python test_server.py添加新工具
要添加新工具:
在
server.py的handle_list_tools()中添加工具定义在
_execute_tool()中实现处理程序如有必要,在
ctrader_bot.py中添加相应方法更新文档
📊 性能
启动时间: 5-10 秒(身份验证 + 品种加载)
订单执行: <100ms(市价单)
历史数据: 1-5 秒(100 根 K 线)
指标计算: <1 秒
内存占用: ~50-100 MB
🌐 速率限制
cTrader API 强制执行:
50 次请求/秒(交易操作)
5 次请求/秒(历史数据)
服务器会自动遵守这些限制。
🐛 故障排除
“Bot not ready” 错误
检查
.env文件中的凭据验证互联网连接
确保 cTrader 账户处于活跃状态
检查服务器日志以查看身份验证错误
找不到品种
使用
list_symbols工具查看可用品种品种名称区分大小写
不同经纪商可能有不同的品种名称
订单被拒绝
检查账户余额和保证金
验证品种是否可交易
确保交易量满足最低要求
检查市场是否开放
连接问题
验证 API 凭据是否正确
检查账户是否活跃
确保没有防火墙阻止 5035 (模拟) 或 5034 (实盘) 端口
🔗 资源
📄 许可证
MIT 许可证 - 详情请参阅 LICENSE 文件
⚖️ 免责声明
本软件按“原样”提供,不提供任何形式的保证。交易涉及重大风险,你可能会亏损资金。使用风险自负。在进行实盘交易前,请务必在模拟账户上进行测试。
🤝 贡献
欢迎贡献!请:
Fork 本仓库
创建功能分支
进行更改
如适用,添加测试
提交 Pull Request
📧 支持
📖 查看 文档
🐛 在 GitHub 上报告问题
💬 加入 cTrader 社区
为算法交易者倾心打造
准备好开始了吗? 运行 ./install.sh 并按照上述说明操作!
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for OpenMM — exposes market data, account, trading, and strategy tools to AI agents
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
MCP server exposing the Backtest360 engine API as tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol (MCP) server for the Hyperliquid decentralized exchange, enabling AI assistants to perform trading operations, manage accounts, and retrieve market data.307 PyPI3MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server that integrates AI assistants with the 3Commas cryptocurrency trading platform API, enabling management of DCA bots and trading strategies through natural conversation.123MIT
- AlicenseAqualityAmaintenanceAn MCP server that lets an AI agent read your MetaTrader 5 account and place trades over the Model Context Protocol, with a configurable human approval gate.1538 PyPI5MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that provides AI assistants like Claude with direct access to MetaAPI trading platform. Trade forex, stocks, and commodities through natural language conversations.1-