Interactive Brokers MCP Server for TWS API
Project description
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&Lget_account_summary()- Get account balances and key metricsget_stock_price(symbol)- Look up current stock pricesget_option_price(symbol, expiry, strike, right)- Get option prices
Prerequisites
- Interactive Brokers Account (Paper or Live)
- TWS (Trader Workstation) or IB Gateway running
- 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_xiao81_ibkr_mcp_server-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_xiao81_ibkr_mcp_server-0.1.0.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
863e04cf0d3e5d96beb7cb6db47f4fc06e220bad6c96bab4722eb5954ce83934
|
|
| MD5 |
3a4384f66a11ed73711518e7526d8a40
|
|
| BLAKE2b-256 |
e2b043b12cf621fba6ab823c3e5e3d42a9a9c4fd759b77a3a093828283f82435
|
File details
Details for the file iflow_mcp_xiao81_ibkr_mcp_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_xiao81_ibkr_mcp_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.8 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5675771f0f8e8de363dfc9c375547c4e7c82d12d26d7f2e94f2113c70f6977a
|
|
| MD5 |
8ac22edf1c8e5b69298117df0cd0fd87
|
|
| BLAKE2b-256 |
733aa4c9dafb665f6d83179b1af198de03b091bd1801a497ab4328393495bf37
|