IBKR MCP Server
IBKR MCP Server
Сервер протокола контекста модели (MCP), который предоставляет ИИ-моделям безопасный доступ к торговым данным и функционалу Interactive Brokers (IBKR) через TWS API.
⚠️⚠️⚠️ Отказ от ответственности ⚠️⚠️⚠️
Это программное обеспечение предназначено для образовательных целей и разработки. Используйте его на свой страх и риск. Авторы не несут ответственности за любые финансовые потери, понесенные в результате использования данного программного обеспечения. Всегда тестируйте на демо-счете (paper trading) перед использованием реальных денег.
Related MCP server: IBKR TWS MCP Server
🚀 Функции
Управление счетом: получение позиций, сведений о портфеле и сводок по счету
Рыночные данные: получение исторических ценовых данных и рыночной информации в реальном времени
Торговые операции: размещение ордеров, управление позициями и отслеживание исполнения
Интеграция с MCP: бесшовная интеграция с ИИ-моделями, поддерживающими протокол MCP
One-shot CLI: подключение-выполнение-отключение для каждой команды для быстрого написания скриптов
Автоматический запуск TWS (macOS): одна команда для запуска TWS и автоматического ввода TOTP 2FA
Навык Claude Code: торговля на естественном языке через входящий в комплект
skills/ibkr-tradingФункции безопасности: режим «только чтение», настраиваемые торговые ограничения и комплексная проверка
Высокая доступность: автоматическое переподключение, мониторинг пульса (heartbeat) и корректная обработка ошибок
📋 Предварительные требования
Python 3.10+
Interactive Brokers TWS или IB Gateway
Активный счет IBKR (для тестирования рекомендуется демо-счет)
🛠️ Установка
Клонируйте репозиторий:
git clone https://github.com/happy-shine/ibkr_mcp.git cd ibkr_mcpУстановите зависимости:
pip install -r requirements.txtНастройте TWS/IB Gateway:
Включите API-соединения в настройках TWS/Gateway
Установите порт сокета (по умолчанию: 7497 для демо-счета, 7496 для реального)
При необходимости настройте доверенные IP-адреса
Настройте сервер:
cp config/config.yaml.example config/config.yaml # Edit config/config.yaml with your settings
🚀 Использование
Вариант A: MCP Server
python run.pyСервер выполнит следующее:
Подключится к TWS/IB Gateway
Запустит MCP-сервер на настроенном порту
Начнет мониторинг пульса
Будет записывать все действия в лог
Вариант B: One-shot CLI
Легковесный CLI, который подключается для каждой команды и завершает работу — подходит для shell-скриптов или разовых запросов.
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 ordersЗапустите python cli.py --help для получения полного списка команд.
Примечание о данных котировок: Если у вас нет подписки на рыночные данные в реальном времени,
quoteвозвращает данные последнего дневного бара через исторические данные (без полей реального времени).
Вариант C: Автоматический запуск TWS (только для macOS)
start_tws.py запускает TWS через IBC, обнаруживает
диалоговое окно двухфакторной аутентификации, генерирует TOTP-код с помощью
pyotp и вводит его через AppleScript
(osascript) — полностью автоматизированный вход без использования клавиатуры.
python start_tws.py # launch and auto-fill 2FA
python start_tws.py --wait # also block until API port 7496 is listeningТребования (macOS):
Компонент | Назначение | Ссылка |
Автоматизирует запуск TWS и ввод данных для входа | ||
Генерация TOTP-кода по RFC 6238 | ||
| Поставляется с macOS; управляет диалогом 2FA | встроенный |
Настройка:
Установите IBC согласно инструкциям для macOS (обычно в
~/ibc/).В файле
~/ibc/config.iniустановите:TradingMode=live(илиpaper)SecondFactorDevice=Mobile AuthenticatorВаши учетные данные IBKR
Сохраните ваш секретный ключ TOTP IBKR (строка Base32 из QR-кода аутентификатора) в
~/.ibkr-totp-secretили экспортируйте его какTOTP_SECRET.Предоставьте Терминалу (или вашему Python-лаунчеру) разрешение Универсальный доступ (Accessibility) в Системные настройки → Конфиденциальность и безопасность → Универсальный доступ — это необходимо для того, чтобы AppleScript мог взаимодействовать с окном TWS.
Примечание по платформе:
start_tws.pyполагается на AppleScript/osascriptи работает только в macOS. Пользователям Linux/Windows следует использовать IBC напрямую или адаптировать уровень автоматизации графического интерфейса (например,xdotoolв Linux,pywinautoв Windows).
Доступные инструменты MCP
Инструменты для работы со счетом
get_positions()- Получить текущие позиции по счетуget_account_summary()- Получить баланс счета и метрикиget_portfolio()- Получить подробную информацию о портфеле
Инструменты для работы с рыночными данными
get_historical_data(symbol, duration, bar_size)- Получить исторические ценовые данныеget_market_data(symbol)- Получить рыночные данные в реальном времениget_quote_from_history(symbol)- Последний дневной бар в качестве котировки (подписка не требуется)get_contract_details(symbol)- Получить спецификации контрактаget_option_chain- Получить данные по опционам
Инструменты для торговли
place_order(symbol, action, quantity, order_type, ...)- Разместить ордера на покупку/продажуget_orders(status)- Получить историю и статус ордеровcancel_order(order_id)- Отменить ожидающие ордераget_trades()- Получить историю исполнения сделок
Примеры взаимодействия с ИИ
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")🤖 Навык Claude Code
Сопутствующий навык находится в skills/ibkr-trading/SKILL.md. Он позволяет
Claude Code выполнять команды CLI, указанные выше, на основе
запросов на естественном языке (например, "show my positions", "quote AAPL").
Чтобы установить его, создайте символическую ссылку в директории навыков Claude Code:
ln -s "$(pwd)/skills/ibkr-trading" ~/.claude/skills/ibkr-trading🔗 Полезные ссылки и авторы
Interactive Brokers TWS API — официальный Python API (
ibapi)IBC — Interactive Brokers Controller — автозапуск TWS (используется в
start_tws.py)pyotp — библиотека TOTP/HOTP (используется в
start_tws.py)Claude Code — CLI для ИИ-парного программирования, использующий встроенный навык
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