返回市场
互动经纪_MCP

互动经纪_MCP

作者:happy-shine12 星标更新:2025-11-13

项目介绍

IBKR MCP Server

这是一个模型上下文协议(MCP)服务器,通过TWS API为AI模型提供对Interactive Brokers(IBKR)交易数据和功能的安全访问。

⚠️⚠️⚠️ 免责声明 ⚠️⚠️⚠️

本软件仅供教育和开发用途。使用风险自负。作者不对因使用本软件而产生的任何财务损失负责。在使用真实资金之前,请始终先进行模拟交易测试。

🚀 功能特性

  • 账户管理:获取仓位、投资组合详情和账户概要
  • 市场数据:检索历史价格数据和实时市场信息
  • 交易操作:下单、管理仓位和跟踪执行情况
  • MCP集成:与支持MCP协议的AI模型无缝集成
  • 安全特性:只读模式、可配置的交易限制以及全面验证
  • 高可用性:自动重连、心跳监测和优雅的错误处理

📋 预备条件

  • Python 3.10+
  • Interactive Brokers TWS 或 IB Gateway
  • 活跃的IBKR账户(推荐使用模拟交易进行测试)

🛠️ 安装步骤

  1. 克隆仓库

    git clone https://github.com/happy-shine/ibkr_mcp.git
    cd ibkr_mcp
    
  2. 安装依赖项

    pip install -r requirements.txt
    
  3. 配置TWS/IB Gateway

    • 在TWS/Gateway设置中启用API连接
    • 设置套接字端口(默认:模拟交易为7497,实盘交易为7496)
    • 如需配置信任的IP地址
  4. 配置服务器

    cp config/config.yaml.example config/config.yaml
    # 使用您的设置编辑config/config.yaml
    

🚀 使用方法

启动服务器

# 使用运行脚本
python run.py

服务器将:

  1. 连接到TWS/IB Gateway
  2. 在配置的端口上启动MCP服务器
  3. 开始心跳监测
  4. 记录所有活动

可用的MCP工具

账户工具

  • get_positions() - 获取当前账户仓位
  • get_account_summary() - 获取账户余额和指标
  • get_portfolio() - 获取详细的投资组合信息

市场数据工具

  • get_historical_data(symbol, duration, bar_size) - 获取历史价格数据
  • get_market_data(symbol) - 获取实时市场数据
  • get_contract_details(symbol) - 获取合约规格
  • get_option_chain - 获取期权数据

交易工具

  • place_order(symbol, action, quantity, order_type, ...) - 下买单或卖单
  • get_orders(status) - 获取订单历史和状态
  • cancel_order(order_id) - 取消待处理订单
  • get_trades() - 获取执行历史

示例AI交互

AI: "我的当前仓位是什么?"
→ 调用 get_positions() 工具

AI: "以市价购买100股AAPL"
→ 调用 place_order(symbol="AAPL", action="BUY", quantity=100, order_type="MKT")

AI: "显示AAPL过去一周的价格历史"
→ 调用 get_historical_data(symbol="AAPL", duration="1 W", bar_size="1 day")

🔗 相关链接