克劳德tws连接
  
连接的MCP(模型上下文协议)服务器 克劳德 到 盈透证券TWS 通过 ib_insync.使用自然语言检查您的投资组合、提取市场数据和下订单——所有这些都可以从Claude Desktop、Claude Code或任何兼容MCP的客户端完成。
快速开始
macOS:
git clone https://github.com/danielkristofik/mcp_claude_ibkr.git
cd mcp_claude_ibkr
./install.shLinux(Ubuntu/Debian):
git clone https://github.com/danielkristofik/mcp_claude_ibkr.git
cd mcp_claude_ibkr
./install-linux.sh安装程序将:
- 查找或安装Python 3.10+
- 创建虚拟环境并安装依赖项
- 让您选择纸质或实时交易端口
- 自动配置克劳德桌面
- 配置Claude Code(CLI)(如果已安装)
特性
| 工具 | 描述 | 只读 |
|---|---|---|
ib_account_summary | 账户概述——清算价值、现金、保证金、购买力 | 是 |
ib_positions | 具有市场价值和损益的投资组合头寸 | 是 |
ib_pnl | 每日损益——已实现和未实现 | 是 |
ib_fundamental_data | 基本面——市盈率、每股收益、市值、股息、52周区间 | 是 |
ib_margin_impact | 假设订单的保证金影响估计(如果) | 是 |
ib_market_data | 实时快照(买入/卖出/最后一次/交易量)+希腊期权 | 是 |
ib_historical_data | 历史OHLCV酒吧 | 是 |
ib_scanner | 市场扫描器(涨幅最大、跌幅最大、最活跃等) | 是 |
ib_contract_details | 合同详情 | 是 |
ib_option_chains | 期权到期和罢工 | 是 |
ib_open_orders | 活动订单 | 是 |
ib_executions | 今天的处决/填补 | 是 |
ib_prepare_order | 准备订单以供审核(步骤1/2) | 是 |
ib_submit_order | 提交确认订单(步骤2/2) | 不 |
ib_cancel_order | 取消当前订单 | 不 |
订单安全
订单使用a 两步确认流程:
ib_prepare_order--验证合同,构建订单,并返回 确认令牌- Claude向您显示订单详细信息,并等待明确批准
ib_submit_order--仅在确认后提交订单(令牌将在5分钟后过期)
手动安装
先决条件
- Python 3.10+
- TWS或IB网关正在运行并已登录
- TWS API已启用(编辑→ 全局配置→ API → 设置)
设置
git clone https://github.com/danielkristofik/mcp_claude_ibkr.git
cd mcp_claude_ibkr
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txtClaude桌面配置
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)并添加IBKR服务器:
{
"mcpServers": {
"ibkr": {
"command": "/FULL/PATH/TO/claude-tws-connect/venv/bin/python",
"args": ["/FULL/PATH/TO/claude-tws-connect/ibkr_mcp.py"]
}
}
}重要提示: 在venv中使用Python二进制文件的完整绝对路径。
看 claude_desktop_config_example.json 举一个完整的例子。
Claude代码(CLI)设置
如果你使用 克劳德代码,MCP服务器可以配置一个命令:
claude mcp add --transport stdio --scope user ibkr -- /FULL/PATH/TO/claude-tws-connect/venv/bin/python /FULL/PATH/TO/claude-tws-connect/ibkr_mcp.py或者,此存储库包括 .mcp.json 当您在Claude Code中打开项目目录时,该文件使MCP服务器自动可用,无需手动配置。
验证
重新启动克劳德桌面。这 ib_* 工具应出现在工具列表中。尝试:
"Show me my account summary"
"What positions do I have?"
"Get historical data for AAPL for the last month"配置
编辑 config.json 或顶部的变量 ibkr_mcp.py:
TWS_HOST = "127.0.0.1" # TWS host
TWS_PORT = 7496 # 7496 = live, 7497 = paper trading
CLIENT_ID = 10 # Unique client ID (avoid conflicts with other TWS connections)TWS设置
在TWS中: Edit → 全局配置→ API → 设置:
- 启用ActiveX和Socket客户端
- 插座端口: 7496 (直播)或 7497 (纸)
- 如果要下订单,请取消选中“只读API”
- 添加
127.0.0.1到受信任的IP
远程IB网关
要连接到远程IB网关,请使用SSH隧道:
ssh -L 4002:127.0.0.1:4002 user@remote-server然后改变 TWS_PORT 到 4002 在您的配置中。
故障排除
| 问题 | 解决方案 |
|---|---|
| 连接被拒绝 | 请确保TWS正在运行并且API已启用 |
| 端口冲突 | 运行 lsof -i :7496 检查是否有其他东西正在使用该端口 |
| 无数据 | 给定合同需要市场数据订阅 |
| 超时 | 增加 CONNECT_TIMEOUT 或检查您的网络连接 |
| 令牌已过期 | 重新运行 ib_prepare_order --令牌有效期为5分钟 |
支持
如果你觉得这个项目有用,可以考虑支持它的开发:
免责声明
此软件用于 仅用于教育和信息目的确实如此 不是财务建议交易证券涉及重大风险,可能导致您的投资资本损失。
作者和贡献者是 不负责任 因使用本软件而导致的任何经济损失、损害或其他后果。 使用风险自负。 在做出交易决策之前,一定要做自己的研究并咨询合格的财务顾问。
本项目不隶属于盈透证券有限责任公司,也不受其认可或与之有联系。
许可证
麻省理工学院 --版权所有(c)2025丹尼尔·克里斯托菲克
