IBKR MCP服务器

一个专业的模型上下文协议(MCP)服务器,用于Interactive Brokers API集成,支持多账户管理、实时市场数据、投资组合管理和交易操作。

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

使用说明

IBKR MCP服务器

用于交互式经纪人API集成的专业模型上下文协议(MCP)服务器,专为与Claude Desktop和Claude Code一起使用而设计。

特性

  • ✅ 多账户支持 -在多个IBKR帐户之间切换
  • ✅ 卖空分析 -可做空股票、借款利率、保证金要求
  • ✅ 实时市场数据 -实时报价、历史数据、期权链
  • ✅ 投资组合管理 -头寸、损益、账户摘要
  • ✅ 交易操作 -下订单、修改订单、取消订单(进行安全检查)
  • ✅ 自动重新连接 -妥善处理TWS/网关重启
  • ✅ 生产就绪 -正确的错误处理、记录和监控

快速开始

先决条件

  • Python 3.10或更高版本
  • 盈透证券TWS或IB Gateway账户
  • 克劳德桌面或克劳德代码

安装

  1. 克隆存储库:

    git clone https://github.com/yourusername/ibkr-mcp-server.git
    cd ibkr-mcp-server
    
  2. 运行安装脚本:

    # macOS/Linux
    chmod +x scripts/setup.sh
    ./scripts/setup.sh
    
    # Windows
    scripts\setup.bat
    
  3. 配置您的设置:

    cp .env.example .env
    # Edit .env with your IBKR settings
    
  4. 启动TWS/IB网关 并启用API连接

  5. 测试服务器:

    python -m ibkr_mcp_server.main --test
    

克劳德集成

克劳德桌面: 添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "ibkr": {
      "command": "python",
      "args": ["-m", "ibkr_mcp_server.main"],
      "cwd": "/path/to/ibkr-mcp-server"
    }
  }
}

克劳德代码:

claude mcp add ibkr 'python -m ibkr_mcp_server.main' --cwd /path/to/ibkr-mcp-server

使用示例

基本操作

# Get portfolio across all accounts
"Show me my current portfolio"

# Switch accounts
"Switch to account DU7654321"

# Market data
"Get real-time quotes for AAPL, TSLA, MSFT"

卖空分析

# Complete short selling analysis
"Analyze short selling for GME, AMC, BBBY - show availability, borrow costs, and margin requirements"

# Check specific account
"Check shortable shares for TSLA in my paper trading account"

交易操作

# Place orders (paper trading recommended)
"Place a limit order to buy 100 shares of AAPL at $150"

# Check margin requirements
"What are the margin requirements for shorting 200 shares of TSLA?"

可用工具

工具 说明
get_portfolio 当前投资组合头寸和损益
get_account_summary 账户余额和关键指标
switch_account 在IBKR帐户之间切换
check_shortable_shares 卖空可用性
get_margin_requirements 证券保证金要求
get_borrow_rates 股票借贷利率(卖空成本)
short_selling_analysis 完成卖空分析
get_market_data 实时市场报价
get_historical_data 历史价格数据
place_order 下达交易订单(进行安全检查)
get_connection_status 检查IBKR连接状态

配置

环境变量

# IBKR Connection
IBKR_HOST=127.0.0.1
IBKR_PORT=7497  # 7497=TWS Paper, 7496=TWS Live, 4001=Gateway
IBKR_CLIENT_ID=1
IBKR_IS_PAPER=true

# Logging
LOG_LEVEL=INFO

# Safety
ENABLE_LIVE_TRADING=false  # Set to true for live trading
MAX_ORDER_SIZE=1000  # Maximum order size

TWS/网关设置

  1. 启动TWS或IB网关
  2. 转到配置→ API → 设置
  3. 启用“ActiveX和Socket客户端”
  4. 设置插座端口(7497用于纸张,7496用于带电)
  5. 将127.0.0.1添加到“受信任的IP”
  6. 勾选“连接时下载未结订单”

发展

设置开发环境

pip install -e ".[dev]"
pre-commit install

运行测试

pytest tests/ -v

代码质量

black ibkr_mcp_server/
isort ibkr_mcp_server/
mypy ibkr_mcp_server/

部署

开机自动启动(macOS)

python scripts/install_service.py --platform macos

启动时自动启动(Linux)

python scripts/install_service.py --platform linux

Docker部署

docker build -t ibkr-mcp-server .
docker run -d --name ibkr-mcp -p 8080:8080 ibkr-mcp-server

文档

安全与免责声明

⚠️ 重要安全注意事项:

  • 始终先用纸笔交易进行测试
  • 在做出交易决策之前,验证TWS中的所有数据
  • 此软件用于教育目的
  • 使用风险自负
  • 不提供保修

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加测试
  5. 提交拉取请求

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

支持