2025-5-12
Words 614Read Time 2 min
Score:85

提供Interactive Brokers API接口的MCP服务器,支持实时和历史市场数据访问。

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 容器中。

配置

  1. 创建 .env 文件: 在项目根目录(/Users/rubencontesti/Code/IB_MCP/)下创建一个名为 .env 的文件,并填入您的 IB API 连接信息。您可以通过复制 .env.example 文件的内容并替换占位符值来创建此文件。以下是必需的变量:
    1. 安装 Docker 和 Docker Compose: 确保您的系统已安装 Docker 和 Docker Compose。
    1. 构建并运行: 在终端中导航到项目根目录(/Users/rubencontesti/Code/IB_MCP/),然后运行以下命令:
      1. 该命令将构建两个服务的 Docker 镜像并启动容器。

    测试

    当服务运行并成功连接到 IB 后(请检查日志以确认连接成功),您可以测试以下端点:

    健康检查

    实时行情数据

    历史数据

    未来计划

    • mcp_server 中实现 MCP 工具,以暴露 ib_client_service 的端点。
    • 添加用于下单和订单管理的端点。
    • 添加用于持仓查询的端点。
    • 通过 Server-Sent Events (SSE) 实现实时行情数据流。

    资源

    MCP

    Interactive Brokers

    上一篇
    laravel-artisan-mcp
    下一篇
    xlsm-mcp-server