使用说明
MCP Tradovate服务器
Claude Desktop中用于Tradovate集成的模型上下文协议(MCP)服务器。该服务器使AI助手能够通过自然语言交互管理Tradovate交易账户。
特性
- ✅ 完成Tradovote API集成
- 🔒 安全身份验证处理
- 📈 实时市场数据访问
- 💼 账户管理
- 📊 风险管理控制
- 🔄 订单下达和管理
- 📝 全面的测试覆盖率
安装
通过Smithery安装
要通过Smithery自动安装Claude Desktop的Tradovate MCP服务器,请执行以下操作:
npx -y @smithery/cli install @0xjmp/mcp-tradovate --client claude
手动安装
- 克隆存储库:
git clone https://github.com/0xjmp/mcp-tradovate.git
cd mcp-tradovate
- 安装依赖项:
go mod download
- 构建项目:
go build ./cmd/mcp-tradovate
- 运行:
./mcp-tradovate
配置
创建一个 .env 使用您的Tradovate凭据在项目根目录中创建文件:
TRADOVATE_USERNAME=your_username
TRADOVATE_PASSWORD=your_password
TRADOVATE_APP_ID=your_app_id
TRADOVATE_APP_VERSION=your_app_version
TRADOVATE_CID=your_client_id
TRADOVATE_SEC=your_client_secret
可用工具
认证
authenticate:连接到Tradovote API- 无需参数
账户管理
-
get_accounts:列出所有交易账户- 无需参数
-
get_positions:查看当前职位- 无需参数
-
get_risk_limits:获取风险管理设置- 所需参数:
account_id:(number)要获取限额的帐户ID
- 所需参数:
-
set_risk_limits:配置风险管理设置- 所需参数:
account_id:(number)用于设置限制的帐户IDday_max_loss:(数字)每日最大损失限额max_drawdown:(数字)最大提款限额max_position_qty:(number)最大仓位数量trailing_stop:(数字)尾随停车百分比
- 所需参数:
交易操作
-
place_order:提交新订单- 所需参数:
account_id:(number)用于下订单的帐户IDcontract_id:(编号)要交易的合同IDorder_type:(string)订单类型(市价、限价等)quantity:(数量)交易合同数量time_in_force:(string)有效时间(日、GTC、IOC等)
- 可选参数:
price:(数字)订单价格(限价订单需要)
- 所需参数:
-
cancel_order:取消现有订单- 所需参数:
order_id:(number)要取消的订单ID
- 所需参数:
-
get_fills:获取特定订单的订单- 所需参数:
order_id:(number)用于获取填充的订单ID
- 所需参数:
市场数据
-
get_contracts:列出可用合同- 无需参数
-
get_market_data:获取实时市场数据- 所需参数:
contract_id:(number)用于获取市场数据的合同ID
- 所需参数:
-
get_historical_data:获取历史价格数据- 所需参数:
contract_id:(number)用于获取数据的合同IDstart_time:(字符串)ISO 8601格式的开始时间end_time:(字符串)ISO 8601格式的结束时间interval:(字符串)时间间隔(1m、5m、15m、1h、1d)
- 所需参数:
发展
运行测试
在覆盖范围内运行所有测试:
go test -v -race -coverprofile=coverage.txt -covermode=atomic ./...
代码的风格
遵循Go最佳实践和惯例:
go fmt ./...
go vet ./...
故障排除
常见问题
-
身份验证失败
- 在
.env文件 - 确保您的API访问在Tradovote中启用
- 在
-
连接问题
- 检查您的互联网连接
- 验证Tradovote API状态
- 确保防火墙没有阻止连接
-
速率限制
- 在请求之间实施适当的延迟
- 监控API使用限制
贡献
欢迎投稿!请随时提交拉取请求。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
支持
如果您遇到任何问题或有疑问,请在GitHub存储库上提交问题。
作者
杰克·彼得森(@0xjmp)