盈透证券MCP服务器
免责声明:这是一个 非官方的,社区开发的MCP服务器 并且是 非 与盈透证券有关联或由其背书。这 软件在 阿尔法状态 并且可能无法完美工作。
一种模型上下文协议(MCP)服务器,提供与交互式 经纪商交易平台。该服务器允许AI助手与 您的IB账户用于检索市场数据、检查头寸和进行交易。
🔒 安全通知
Showcase of Interactive Brokers MCP
特性
- 交互式经纪人API集成:全面的交易功能,包括账户管理、头寸跟踪、实时市场数据和订单管理(市场、限价和止损订单)
- Flex查询支持:执行Flex查询以检索账户对账单、交易确认和历史数据。查询会自动记住,以便于重用
- 灵活的身份验证:在基于浏览器的OAuth身份验证或带有凭据的无头模式之间进行选择,以用于自动化环境
- 简单设置:直接运行
npx-无需Docker或额外安装。包括所有平台的预配置IB网关和Java运行时
安全通知
重要警告:
- 财务风险:交易涉及巨大的损失风险。始终进行测试
首先是纸上交易。
- 安全:该软件处理敏感的财务数据。只跑
本地,从不在公共服务器上。
- 无担保:此非官方软件不提供任何保修。使用时间
你自己的风险。
- 非财务建议:此工具仅用于自动化,不用于财务
建议。
先决条件
主流平台不需要额外安装。 此套餐包括:
- 为所有平台(Linux、macOS、Windows)预配置IB网关
- 适用于macOS、Windows和标准Linux版本的Java运行时环境(JRE)
- 基于Alpine的容器的自动首次运行musl JRE下载(例如。
node:lts-alpine,超级通道) - 所有必要的依赖关系
您只需要:
- 盈透证券账户(纸质或实时交易)
- Node.js 18+(用于运行MCP服务器)
快速开始
将此MCP服务器添加到您的Cursor/Claude配置中:
{
"mcpServers": {
"interactive-brokers": {
"command": "npx",
"args": ["-y", "interactive-brokers-mcp"]
}
}
}当您首次使用服务器时,将自动打开一个web浏览器窗口 盈透证券OAuth身份验证流程。使用IB登录 用于授权连接的凭据。
无头模式配置
对于自动化环境,或者当您不喜欢使用浏览器时 身份验证,您可以通过在MCP中配置来启用无头模式 服务器配置:
{
"mcpServers": {
"interactive-brokers": {
"command": "npx",
"args": ["-y", "interactive-brokers-mcp"],
"env": {
"IB_HEADLESS_MODE": "true",
"IB_USERNAME": "your_ib_username",
"IB_PASSWORD_AUTH": "your_ib_password"
}
}
}
}
在无头模式下,服务器将使用您的 无需打开浏览器窗口即可访问凭据。这有助于:
- 自动化交易系统
- 没有显示器的服务器环境
- CI/CD管道
- 不需要浏览器交互的情况
重要:即使在无头模式下,盈透证券仍可能需要 双因素认证(2FA)。当2FA被触发时,无头 身份验证将等待您通过您的身份验证完成2FA过程 在继续之前,请先配置方法(移动应用程序、短信等)。
要启用纸质交易,请添加 "IB_PAPER_TRADING": "true" 对于您的环境变量:
{
"mcpServers": {
"interactive-brokers": {
"command": "npx",
"args": ["-y", "interactive-brokers-mcp"],
"env": {
"IB_HEADLESS_MODE": "true",
"IB_USERNAME": "your_ib_username",
"IB_PASSWORD_AUTH": "your_ib_password",
"IB_PAPER_TRADING": "true"
}
}
}
}安全说明:安全地存储凭据,永远不要将其提交到版本 控制。考虑使用环境变量文件或安全凭据 管理系统。
Flex查询配置(可选)
要使用Flex查询检索帐户对账单和历史数据,您需要配置您的Flex Web服务令牌:
{
"mcpServers": {
"interactive-brokers": {
"command": "npx",
"args": ["-y", "interactive-brokers-mcp"],
"env": {
"IB_FLEX_TOKEN": "your_flex_token_here"
}
}
}
}如何获取Flex代币:
- 登录 盈透证券账户管理
- 首选 设置 → 帐户设置
- 导航到 报告 → Flex Web服务
- 生成或检索您的Flex Web服务令牌
有关启用FlexWeb服务的详细说明,请参阅 IB Flex Web服务指南.
创建Flex查询:
- 首选 报告 → 弹性查询 在账户管理
- 创建或自定义查询模板
- 单击查询旁边的信息图标以查找其查询ID
有关创建和自定义Flex查询的完整指南,请参阅 IB Flex查询指南.
备注:当您第一次执行Flex查询时,MCP服务器会自动将其与API中的名称一起保存。未来的执行可以通过查询的ID或保存的名称引用查询。
Flex查询功能:
- 自动存储器:当您执行Flex查询时,它会自动保存以供将来使用
- 易于重复使用:记住以前使用的查询-无需重复复制查询ID
- 友好名称:首次执行查询时,可选择提供友好名称
- 忘记查询:删除不再需要的查询
forget_flex_query工具
配置变量
| 特性 | 环境变量 | 命令行参数 |
|---|---|---|
| 用户名 | IB_USERNAME | --ib-username |
| 密码 | IB_PASSWORD_AUTH | --ib-password-auth |
| 无头模式 | IB_HEADLESS_MODE | --ib-headless-mode |
| 纸张交易 | IB_PAPER_TRADING | --ib-paper-trading |
| 身份验证超时 | IB_AUTH_TIMEOUT | --ib-auth-timeout |
| Flex代币 | IB_FLEX_TOKEN | 无 |
| 只读模式 | IB_READ_ONLY_MODE | --ib-read-only-mode |
可用的MCP工具
交易与账户管理
| 工具 | 说明 |
|---|---|
get_account_info | 检索账户信息和余额 |
get_positions | 获取当前头寸和损益 |
get_market_data | 交易品种的实时市场数据 |
place_order | 下达市价单、限价单或止损单(仅当禁用只读模式时) |
get_order_status | 检查订单执行状态 |
get_live_orders | 获取所有实时/未结订单以进行监控 |
灵活查询(需要IB_Flex_TOKEN)
| 工具 | 说明 |
|---|---|
get_flex_query | 执行Flex查询并检索语句(自动保存以供重用) |
list_flex_queries | 列出所有以前使用的Flex查询 |
forget_flex_query | 从内存中删除已保存的Flex查询 |
故障排除
身份验证问题:
- 使用自动打开的web界面
- 完成任何所需的双因素身份验证
- 如果实时交易失败,请尝试纸质交易模式
支持
- 此服务器:在此存储库中打开一个问题。
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
感谢我们的贡献者
非常感谢所有为改善这个项目做出贡献的人。
