Skip to main content
Glama
IBKR MCP

IBKR MCP

by rodrigta

IBKR MCP

MCP server for Interactive Brokers via IB Gateway on Windows. Runs in Docker and connects to IB Gateway on the host through host.docker.internal.

Features

  • Live account (port 4001): read positions, quotes, option chains, day-trade status

  • Paper account (port 4002): same reads plus place/cancel stock and option orders

Related MCP server: ib-async-mcp

Quick start

  1. Configure IB Gateway API (see SETUP_GUIDE.md)

  2. Install Python deps for local dev:

    pip install -e ".[dev]"
  3. Install Cursor launchers:

    .\scripts\Install-IbkrMcpLaunchers.ps1
  4. Add ibkr-live and/or ibkr-paper to Claude Desktop MCP config (Store app path below)

  5. Restart Claude Desktop, start IB Gateway, then use the MCP tools in chat

Claude config (Microsoft Store): C:\Users\rodri\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json

Local run (no Docker)

set IBKR_HOST=127.0.0.1
set IBKR_PORT=4002
set IBKR_TRADING_ENABLED=true
python -m ibkr_mcp.server

Dev container

Open the repo in a dev container (.devcontainer/devcontainer.json). The container uses host.docker.internal to reach IB Gateway on Windows.

Tools

Tool

Live

Paper

ibkr_health_check

yes

yes

ibkr_get_positions

yes

yes

ibkr_get_account_summary

yes

yes

ibkr_get_daytrade_status

yes

yes

ibkr_get_quote

yes

yes

ibkr_get_historical_bars

yes

yes

ibkr_get_option_chain

yes

yes

ibkr_place_stock_order

no

yes

ibkr_place_option_order

no

yes

ibkr_cancel_order

no

yes

ibkr_get_open_orders

yes

yes

Stack

Tests

pytest

Available Tools

11 tools
ibkr_cancel_orderC

Cancel an open order. Paper account only.

Inputs: order_id (required).

ibkr_get_account_summaryC

Get account summary values (buying power, net liquidation, etc.).

Inputs: account_id.

ibkr_get_daytrade_statusB

Get day-trade balance and PDT-related account tags.

Inputs: account_id.

ibkr_get_historical_barsC

Get historical OHLCV bars for a stock.

Inputs: symbol (required), duration, bar_size, what_to_show, +3 more.

ibkr_get_open_ordersC

List open orders.

Inputs: no named parameters.

ibkr_get_option_chainC

Get option chain expirations and strikes for an underlying symbol.

Inputs: symbol (required), exchange, currency.

ibkr_get_positionsC

Get current portfolio positions.

Inputs: account_id.

ibkr_get_quoteC

Get a market data snapshot. For options, pass expiry (YYYYMMDD), strike, and right.

Inputs: symbol (required), sec_type, exchange, currency, +3 more.

ibkr_health_checkA

Check IB Gateway connection and account mode.

Inputs: no named parameters.

ibkr_place_option_orderB

Place a single-leg option order. Paper account only.

Inputs: symbol (required), expiry (required), strike (required), right (required), +7 more.

ibkr_place_stock_orderC

Place a stock order. Paper account only.

Inputs: symbol (required), action (required), quantity (required), order_type, +4 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 11 tools

    Disambiguation5/5

    Each tool has a distinct and clear purpose, covering different aspects of brokerage operations such as orders, account info, market data, and positions. No two tools have overlapping functionality.

    Naming Consistency5/5

    All tool names follow a consistent 'ibkr_verb_noun' pattern with lowercase and underscores, using standard verbs like get, place, cancel, and list. The naming is uniform and predictable.

    Tool Count5/5

    With 11 tools, the server covers core brokerage operations without being overwhelming. The count is well-scoped for its purpose.

    Completeness4/5

    The tool set covers essential operations: account summary, positions, orders, quotes, historical data, and health check. It lacks order modification and support for multi-leg options or other asset types, but core workflows are well-represented.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      C
      quality
      D
      maintenance
      An MCP server that provides an interface for the Interactive Brokers API via the ib_async library. It enables users to manage accounts, access real-time and historical market data, and execute or monitor trades through TWS or IB Gateway.
      33
      1
      -
    • A
      license
      B
      quality
      D
      maintenance
      MCP server for Interactive Brokers API, enabling account management, trading, market data, options, scanners, and news via natural language.
      33
      3
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server for Interactive Brokers, enabling account management, trading operations, and market data queries.
      8
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for Interactive Brokers that exposes portfolio data, market quotes, trading, and analysis to any MCP-compatible AI client, with support for EU investors and safety-gated trading.
      1
      MIT