mcpField
M
MCP Tradovate Server

MCP Tradovate Server

本地服务
tradovate.com金融数据2086 周前更新

关于 MCP Tradovate Server

MCP Tradovate Server 是一个用于 Tradovate 交易平台的 MCP 服务,使 Claude Desktop 等 AI 助手能够通过自然语言管理交易账户。项目使用 Go 编写,提供账户、订单、风控和市场数据相关工具。

主要功能

  1. 01账户与持仓查询
  2. 02下单、撤单与成交查询
  3. 03风险限额设置
  4. 04合约列表与实时行情
  5. 05历史价格数据获取

适用场景

  1. 01通过自然语言查询交易账户与持仓
  2. 02设置每日最大亏损等风控限额
  3. 03获取指定合约的历史价格数据

MCP 相关

该项目是一个 MCP 服务,向 Claude Desktop 等 MCP 客户端提供 authenticate、get_accounts、place_order 等工具,用于访问 Tradovate API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"tradovate": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP Tradovate 服务

MCP Server smithery badge Go Report Card codecov Go Reference License: MIT

用于在 Claude Desktop 中集成 Tradovate 的模型上下文协议(MCP)服务。此服务支持 AI 助手通过自然语言交互管理 Tradovate 交易账户。

功能

  • ✅ 完整集成 Tradovate API
  • 🔒 安全处理身份验证
  • 📈 实时访问市场数据
  • 💼 账户管理
  • 📊 风险管理控制
  • 🔄 下单与订单管理
  • 📝 全面的测试覆盖

安装

通过 Smithery 安装

通过 Smithery 自动为 Claude Desktop 安装 Tradovate MCP 服务:

npx -y @smithery/cli install @0xjmp/mcp-tradovate --client claude
手动安装
  1. 克隆仓库:
git clone https://github.com/0xjmp/mcp-tradovate.git
cd mcp-tradovate
  1. 安装依赖项:
go mod download
  1. 构建项目:
go build ./cmd/mcp-tradovate
  1. 运行:
./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:(number)要获取限制的账户 ID
  • set_risk_limits:配置风险管理设置

    • 必需参数:
      • account_id:(number)要设置限制的账户 ID
      • day_max_loss:(number)每日最大亏损限额
      • max_drawdown:(number)最大回撤限额
      • max_position_qty:(number)最大持仓数量
      • trailing_stop:(number)移动止损百分比
交易操作
  • place_order:提交新订单

    • 必需参数:
      • account_id:(number)下单账户的 ID
      • contract_id:(number)要交易的合约 ID
      • order_type:(string)订单类型(Market、Limit 等)
      • quantity:(number)要交易的合约数量
      • time_in_force:(string)订单有效时限(Day、GTC、IOC 等)
    • 可选参数:
      • price:(number)订单价格(Limit 订单必需)
  • 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)要获取数据的合约 ID
      • start_time:(string)ISO 8601 格式的开始时间
      • end_time:(string)ISO 8601 格式的结束时间
      • interval:(string)时间间隔(1m、5m、15m、1h、1d)

开发

运行测试

运行所有测试并生成覆盖率报告:

go test -v -race -coverprofile=coverage.txt -covermode=atomic ./...
代码风格

遵循 Go 最佳实践和惯例:

go fmt ./...
go vet ./...

故障排除

常见问题
  1. 身份验证失败

    • 检查 .env 文件中的 Tradovate 凭据
    • 确保已在 Tradovate 中启用 API 访问权限
  2. 连接问题

    • 检查网络连接
    • 确认 Tradovate API 的状态
    • 确保防火墙未阻止连接
  3. 速率限制

    • 在请求之间设置适当的延迟
    • 监控 API 使用限额

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

本项目基于 MIT License 许可,详情请参阅 LICENSE 文件。

支持

如果遇到问题或有疑问,请在 GitHub 仓库中提交 issue。

作者

Jake Peterson (@0xjmp)

评论

支持 Markdown

第一次接触 MCP?

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

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