IB_MCP
概述
本项目提供了一个基于模型上下文协议(Model Context Protocol, MCP)的 Interactive Brokers (IB) API 接口。它允许您通过基于 FastAPI 的服务访问 IB 的实时和历史市场数据,设计用于与 Claude Desktop 等 MCP 客户端配合使用。
架构
项目主要由两个核心组件构成:
- ib_client_service: 一个使用
ib_async
库连接 IB API(TWS 或 IB Gateway)的 FastAPI 应用。它暴露了用于获取市场数据的 REST 端点。该服务运行在 Docker 容器中。
- mcp_server: 一个 FastMCP 服务器,作为
ib_client_service
的 MCP 接口。它暴露了可供 MCP 客户端调用的工具,这些工具进而调用ib_client_service
的 REST 端点。该服务同样运行在 Docker 容器中。
配置
- 创建 .env 文件:
在项目根目录(
/Users/rubencontesti/Code/IB_MCP/
)下创建一个名为.env
的文件,并填入您的 IB API 连接信息。您可以通过复制.env.example
文件的内容并替换占位符值来创建此文件。以下是必需的变量:
- 安装 Docker 和 Docker Compose: 确保您的系统已安装 Docker 和 Docker Compose。
- 构建并运行:
在终端中导航到项目根目录(
/Users/rubencontesti/Code/IB_MCP/
),然后运行以下命令:
该命令将构建两个服务的 Docker 镜像并启动容器。
测试
当服务运行并成功连接到 IB 后(请检查日志以确认连接成功),您可以测试以下端点:
健康检查
实时行情数据
历史数据
未来计划
- 在
mcp_server
中实现 MCP 工具,以暴露ib_client_service
的端点。
- 添加用于下单和订单管理的端点。
- 添加用于持仓查询的端点。
- 通过 Server-Sent Events (SSE) 实现实时行情数据流。
资源
MCP
Interactive Brokers
- Author:waytomcp
- URL:https://www.waytomcp.com/article/rcontesti/IB_MCP
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!