IBKR MCP Server
Servidor MCP de IBKR
Un servidor del Protocolo de Contexto de Modelos (MCP) que proporciona a los modelos de IA acceso seguro a los datos y funcionalidades de trading de Interactive Brokers (IBKR) a través de la API de TWS.
⚠️⚠️⚠️ Aviso legal ⚠️⚠️⚠️
Este software es para fines educativos y de desarrollo. Úselo bajo su propia responsabilidad. Los autores no se hacen responsables de ninguna pérdida financiera incurrida mediante el uso de este software. Pruebe siempre con trading en papel (paper trading) antes de usar dinero real.
Related MCP server: IBKR TWS MCP Server
🚀 Características
Gestión de cuentas: Obtenga posiciones, detalles de cartera y resúmenes de cuenta
Datos de mercado: Recupere datos históricos de precios e información de mercado en tiempo real
Operaciones de trading: Coloque órdenes, gestione posiciones y realice un seguimiento de las ejecuciones
Integración MCP: Integración fluida con modelos de IA que soportan el protocolo MCP
CLI de ejecución única: Conexión-ejecución-desconexión por comando para scripts rápidos
Lanzamiento automatizado de TWS (macOS): Un comando para iniciar TWS y rellenar automáticamente el 2FA TOTP
Habilidad para Claude Code: Trading en lenguaje natural mediante la herramienta incluida
skills/ibkr-tradingFunciones de seguridad: Modo de solo lectura, restricciones de trading configurables y validación exhaustiva
Alta disponibilidad: Reconexión automática, monitorización de latidos (heartbeat) y gestión elegante de errores
📋 Requisitos previos
Python 3.10+
Interactive Brokers TWS o IB Gateway
Cuenta de IBKR activa (se recomienda trading en papel para pruebas)
🛠️ Instalación
Clonar el repositorio:
git clone https://github.com/happy-shine/ibkr_mcp.git cd ibkr_mcpInstalar dependencias:
pip install -r requirements.txtConfigurar TWS/IB Gateway:
Habilite las conexiones API en la configuración de TWS/Gateway
Establezca el puerto del socket (predeterminado: 7497 para trading en papel, 7496 para real)
Configure las direcciones IP de confianza si es necesario
Configurar el servidor:
cp config/config.yaml.example config/config.yaml # Edit config/config.yaml with your settings
🚀 Uso
Opción A: Servidor MCP
python run.pyEl servidor hará lo siguiente:
Conectarse a TWS/IB Gateway
Iniciar el servidor MCP en el puerto configurado
Comenzar la monitorización de latidos
Registrar todas las actividades
Opción B: CLI de ejecución única
CLI ligera que se conecta por comando y sale; ideal para scripts de shell o consultas ad-hoc.
python cli.py positions
python cli.py summary
python cli.py quote AAPL
python cli.py history AAPL --duration "1 M" --bar "1 day"
python cli.py buy AAPL 10 --type MKT --confirm
python cli.py ordersEjecute python cli.py --help para obtener la lista completa de comandos.
Nota sobre los datos de cotización: Si no tiene una suscripción de datos de mercado en tiempo real,
quoterecurre a la barra diaria más reciente mediante datos históricos (sin campos en tiempo real).
Opción C: Lanzamiento automatizado de TWS (solo macOS)
start_tws.py lanza TWS a través de IBC, detecta el
diálogo de autenticación de segundo factor, genera un código TOTP con
pyotp y lo escribe a través de AppleScript
(osascript): inicio de sesión totalmente automatizado sin tocar el teclado.
python start_tws.py # launch and auto-fill 2FA
python start_tws.py --wait # also block until API port 7496 is listeningRequisitos (macOS):
Componente | Propósito | Enlace |
Automatiza el lanzamiento de TWS y las entradas de inicio de sesión | ||
Generación de códigos TOTP RFC 6238 | ||
| Incluido con macOS; controla el diálogo 2FA | integrado |
Configuración:
Instale IBC siguiendo sus instrucciones para macOS (normalmente en
~/ibc/).En
~/ibc/config.ini, establezca:TradingMode=live(opaper)SecondFactorDevice=Mobile AuthenticatorSus credenciales de IBKR
Guarde su secreto TOTP de IBKR (la cadena Base32 del código QR del autenticador) en
~/.ibkr-totp-secreto expórtelo comoTOTP_SECRET.Conceda permiso de Accesibilidad a Terminal (o a su lanzador de Python) en Ajustes del Sistema → Privacidad y Seguridad → Accesibilidad — necesario para que AppleScript interactúe con la ventana de TWS.
Nota de plataforma:
start_tws.pydepende de AppleScript/osascripty es solo para macOS. Los usuarios de Linux/Windows deberían usar IBC directamente o adaptar la capa de automatización de GUI (p. ej.,xdotoolen Linux,pywinautoen Windows).
Herramientas MCP disponibles
Herramientas de cuenta
get_positions()- Obtener las posiciones actuales de la cuentaget_account_summary()- Obtener el saldo y las métricas de la cuentaget_portfolio()- Obtener información detallada de la cartera
Herramientas de datos de mercado
get_historical_data(symbol, duration, bar_size)- Obtener datos históricos de preciosget_market_data(symbol)- Obtener datos de mercado en tiempo realget_quote_from_history(symbol)- Última barra diaria como cotización (no se requiere suscripción)get_contract_details(symbol)- Obtener especificaciones del contratoget_option_chain- Obtener datos de opciones
Herramientas de trading
place_order(symbol, action, quantity, order_type, ...)- Colocar órdenes de compra/ventaget_orders(status)- Obtener historial y estado de las órdenescancel_order(order_id)- Cancelar órdenes pendientesget_trades()- Obtener historial de ejecuciones
Ejemplos de interacciones con IA
AI: "What are my current positions?"
→ Calls get_positions() tool
AI: "Buy 100 shares of AAPL at market price"
→ Calls place_order(symbol="AAPL", action="BUY", quantity=100, order_type="MKT")
AI: "Show me AAPL's price history for the last week"
→ Calls get_historical_data(symbol="AAPL", duration="1 W", bar_size="1 day")🤖 Habilidad para Claude Code
Una habilidad complementaria se encuentra en skills/ibkr-trading/SKILL.md. Permite a
Claude Code enviar los comandos CLI anteriores desde
instrucciones en lenguaje natural (p. ej., "muéstrame mis posiciones", "cotiza AAPL").
Para instalarla, cree un enlace simbólico en su directorio de habilidades de Claude Code:
ln -s "$(pwd)/skills/ibkr-trading" ~/.claude/skills/ibkr-trading🔗 Enlaces relacionados y créditos
API de TWS de Interactive Brokers — API oficial de Python (
ibapi)IBC — Controlador de Interactive Brokers — Lanzador automático de TWS (usado por
start_tws.py)pyotp — Biblioteca TOTP/HOTP (usada por
start_tws.py)Claude Code — CLI de programación en pareja con IA que consume la habilidad incluida
This server cannot be deployed
Maintenance
Related MCP Connectors
Unified financial infrastructure connecting AI agents directly to trade live/demo brokerage accounts, Web3 non-custodial wallets, real-time market data across equities, ETFs, crypto, forex, options, DeFi swaps, and prediction markets, institutional research feeds, and algorithmic strategy backtesters.
Agentic brokerage access to a US brokerage account: quotes, orders, positions, cash and documents.
Trade journal plus read-only market, research, and brokerage data tools for external AI clients.
- BankSyncOAuthio.banksync
Connect AI agents to bank accounts, transactions, balances, and investments.
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables AI assistants to interact with Interactive Brokers trading accounts to retrieve market data, check positions, and place trades. Includes pre-configured IB Gateway and handles OAuth authentication automatically.14121 npm217MIT
- FlicenseNot gradedqualityDmaintenanceEnables LLM clients to interact with Interactive Brokers Trader Workstation for automated trading workflows. Supports market data retrieval, portfolio management, and order execution through the TWS API.5-
- FlicenseNot gradedqualityDmaintenanceConnects AI assistants to Interactive Brokers for intelligent portfolio management, options analysis, risk monitoring, and automated trading strategy suggestions. Enables real-time account tracking, Greeks calculations, option chain analysis, and playbook-based risk adjustments through natural language.5-
- AlicenseNot gradedqualityBmaintenanceEnables read-only access to Interactive Brokers data including contracts, market data, news, fundamentals, and portfolio/account information for LLM workflows and autonomous agents.18BSD 3-Clause