这是一个用于 Claude Desktop 中 Tradovate 集成的 Model Context Protocol (MCP) 服务器。该服务器使AI助手能够通过自然语言交互管理 Tradovate 交易账户。
要通过 Smithery 自动安装 Tradovate MCP 服务器到 Claude Desktop:
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: 连接到 Tradovate API
get_accounts: 列出所有交易账户
get_positions: 查看当前持仓
get_risk_limits: 获取风险管理设置
account_id: (数字) 获取限制的账户IDset_risk_limits: 配置风险管理设置
account_id: (数字) 设置限制的账户IDday_max_loss: (数字) 每日最大亏损限额max_drawdown: (数字) 最大回撤限额max_position_qty: (数字) 最大持仓数量trailing_stop: (数字) 跟踪止损百分比place_order: 提交新订单
account_id: (数字) 下单的账户IDcontract_id: (数字) 交易的合约IDorder_type: (字符串) 订单类型(市价、限价等)quantity: (数字) 交易的合约数量time_in_force: (字符串) 有效时间(当日、GTC、IOC等)price: (数字) 订单价格(限价订单必需)cancel_order: 取消现有订单
order_id: (数字) 要取消的订单IDget_fills: 获取特定订单的成交记录
order_id: (数字) 要获取成交记录的订单IDget_contracts: 列出可用合约
get_market_data: 获取实时市场数据
contract_id: (数字) 获取市场数据的合约IDget_historical_data: 获取历史价格数据
contract_id: (数字) 获取数据的合约IDstart_time: (字符串) 开始时间,ISO 8601 格式end_time: (字符串) 结束时间,ISO 8601 格式interval: (字符串) 时间间隔(1分钟、5分钟、15分钟、1小时、1天)运行所有测试并生成覆盖率报告:
go test -v -race -coverprofile=coverage.txt -covermode=atomic ./...
遵循 Go 最佳实践和约定:
go fmt ./...
go vet ./...
身份验证失败
.env 文件中的 Tradovate 凭证连接问题
速率限制
欢迎贡献!请随时提交 Pull Request。
本项目采用 MIT 许可证 - 详情参见 LICENSE 文件。
如果您遇到任何问题或有疑问,请在 GitHub 仓库中提交 Issue。
Jake Peterson (@0xjmp)