Skip to main content

IBKR-MCP-Server

A Model Context Protocol (MCP) Server for Interactive Brokers TWS API that enables AI assistants to access portfolio data, account information, and real-time market prices.

Features

  • get_portfolio() - Retrieve current portfolio with positions and P&L
  • get_account_summary() - Get account balances and key metrics
  • get_stock_price(symbol) - Look up current stock prices
  • get_option_price(symbol, expiry, strike, right) - Get option prices

Prerequisites

  1. Interactive Brokers Account (Paper or Live)
  2. TWS (Trader Workstation) or IB Gateway running
  3. Python 3.10+

Quick Start

1. Install Dependencies

# Clone and setup
git clone https://github.com/your-username/IBKR-MCP-Server.git
cd IBKR-MCP-Server

# Install with UV (recommended)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync

# Or with pip
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -e .

2. Configure Connection

# Copy example config
cp env.example .env

# Edit .env file:
IBKR_HOST=127.0.0.1
IBKR_PORT=7497              # 7497 for paper, 7496 for live
IBKR_CLIENT_ID=1
IBKR_IS_PAPER=true          # true for paper, false for live

3. Configure TWS

In TWS, go to Configure → Global Configuration → API → Settings:

  • ✅ Enable ActiveX and Socket Clients
  • ✅ Socket port: 7497 (paper) or 7496 (live)
  • ❌ Read-Only API (must be disabled)

4. Test Setup

# Test connection
uv run python test_connection.py

5. Run Server

# Start the MCP server
uv run python src/ibkr_mcp/server.py

6. Claude Desktop Integration

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "ibkr": {
      "command": "uv",
      "args": ["run", "python", "src/ibkr_mcp/server.py"],
      "cwd": "/path/to/IBKR-MCP-Server",
      "env": {
        "IBKR_PORT": "7497",
        "IBKR_IS_PAPER": "true"
      }
    }
  }
}

Usage Examples

  • "Analyze my current portfolio performance"
  • "What's the current price of AAPL and MSFT?"
  • "Show me my account summary"

Troubleshooting

Connection Issues:

  • Ensure TWS/IB Gateway is running
  • Check API settings are enabled in TWS
  • Verify correct port (7497 vs 7496)

Permission Issues:

  • Disable "Read-Only API" in TWS settings
  • Enable API in TWS global configuration

⚠️ Disclaimer: This software is for educational purposes. Use at your own risk. Start with paper trading.

Metadata

Release files for iflow-mcp_xiao81-ibkr-mcp-server 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_xiao81-ibkr-mcp-server 0.1.0
File Size Uploaded
iflow_mcp_xiao81_ibkr_mcp_server-0.1.0.tar.gz 14.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_xiao81-ibkr-mcp-server 0.1.0
File Interpreter ABI Platform
iflow_mcp_xiao81_ibkr_mcp_server-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 29.8 kB

Release files / iflow_mcp_xiao81_ibkr_mcp_server-0.1.0.tar.gz

Download URL iflow_mcp_xiao81_ibkr_mcp_server-0.1.0.tar.gz
Size 14.0 kB
Tags Source
SHA-256 checksum
How to use checksums
863e04cf0d3e5d96beb7cb6db47f4fc06e220bad6c96bab4722eb5954ce83934
BLAKE2b-256 checksum
How to use checksums
e2b043b12cf621fba6ab823c3e5e3d42a9a9c4fd759b77a3a093828283f82435
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_xiao81_ibkr_mcp_server-0.1.0-py3-none-any.whl

Download URL iflow_mcp_xiao81_ibkr_mcp_server-0.1.0-py3-none-any.whl
Size 15.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5675771f0f8e8de363dfc9c375547c4e7c82d12d26d7f2e94f2113c70f6977a
BLAKE2b-256 checksum
How to use checksums
733aa4c9dafb665f6d83179b1af198de03b091bd1801a497ab4328393495bf37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page