交易协议服务器

一个基于FastAPI的MCP服务器,用于Interactive Brokers的交易操作,支持市场数据、仓位管理和Docker容器管理。

  • by omdv
  • Python
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 omdv/ibkr-mcp-server

使用说明

IBKR MCP 服务器

一个FastAPI应用程序,为Interactive Brokers(IBKR)交易操作提供MCP(模型上下文协议)服务器。该服务器自动管理IBKR网关Docker容器,并通过REST API和MCP端点暴露交易功能。

特点/特性

  • 交易操作支持市场数据、持仓、合约和扫描器
  • 健康监测健康检查,当无市场数据时重启网关
  • Docker 管理IBKR Gateway 容器生命周期(可选)

使用方法

Helm(Kubernetes)

直接从此 Git 仓库安装:

# Install from main branch
helm install ibkr-mcp-server git+https://github.com/your-username/ibkr-mcp-server@main?path=chart

# Install from a specific release
helm install ibkr-mcp-server git+https://github.com/your-username/ibkr-mcp-server@v1.0.0?path=chart

Docker Compose

export IBKR_IB_GATEWAY_USERNAME="YOUR USERNAME"
export IBKR_IB_GATEWAY_PASSWORD="YOUR PASSWORD"
docker-compose up -d --build

发展

  1. 克隆并设置:

    git clone <repository-url>
    cd ibkr-mcp-server
    
  2. 安装依赖项:

    uv sync
    
  3. 运行服务器:

    python main.py --ib-gateway-username=$YOUR_USERNAME --ib-gateway-password=$YOUR_PASSWORD
    

服务器将在 http://localhost:8000 带有API文档在 /docsMCP服务器将在 http://localhost:8000/mcp。

API 端点

网关管理

这些默认情况下不会暴露给MCP

  • GET /gateway/status - 网关的健康状况和状态
  • GET /gateway/logs - 容器日志

IBKR运营部门

  • GET /ibkr/positions - 当前职位
  • GET /ibkr/contract_details - 某个符号的合约信息
  • GET /ibkr/options_chain - 基础合约的期权链
  • GET /ibkr/tickers - 合约ID的市场数据行情表
  • GET /ibkr/filtered_options_chain - 根据市场数据标准筛选的期权链
  • GET /ibkr/scanner/instrument_codes - 可用的扫描仪仪器代码
  • GET /ibkr/scanner/location_codes - 可用的扫描仪位置代码
  • GET /ibkr/scanner/filter_codes - 可用的扫描器过滤器代码
  • GET /ibkr/scanner/results - 使用指定参数的扫描结果

故障排除

  • Docker问题确保 Docker 守护进程正在运行
  • 端口冲突检查端口8000是否可用
  • IBKR连接验证凭据并设置TWS/Gateway

许可证

麻省理工学院许可证(MIT License)