ibkr-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IB_HOST | No | Gateway host | 127.0.0.1 |
| IB_PORT | No | Gateway port (4001=live, 4002=paper) | 4001 |
| IB_CACHE_TTL | No | Contract cache TTL in seconds | 3600 |
| IB_CLIENT_ID | No | API client ID (must be unique per connection) | 10 |
| IB_MARKET_DATA_TYPE | No | 1=live, 2=frozen, 3=delayed, 4=frozen-delayed | 3 |
| IB_RECONNECT_INTERVAL | No | Seconds between reconnect attempts | 30 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ibkr_quoteA | Get current price quotes for one or more symbols. |
| ibkr_historical_barsB | Get OHLCV historical bars for a symbol. |
| ibkr_fx_rateA | Get live FX rate for a currency pair. |
| ibkr_positionsA | Get all portfolio positions with P&L, market value, and weight %. Returns positions sorted by absolute market value (largest first). |
| ibkr_account_summaryA | Get account summary: net liquidation, cash, margin, buying power, P&L. Returns key account metrics grouped by currency. |
| ibkr_option_chainA | Get available option expirations and strikes for a symbol. Returns the chain structure (what expirations and strikes exist), not Greeks for individual contracts. Use ibkr_quote with specific option symbols for Greeks. |
| ibkr_contract_searchA | Search for contracts by name or symbol using IB's fuzzy matching. |
| ibkr_connection_statusA | Check IB Gateway connection health and configuration. Returns connection state, managed accounts, market data type, market hours status, and cache statistics. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| resource_positions | Current portfolio positions as context. |
| resource_account_summary | Account summary as context. |
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose: account summary, connection status, contract search, FX rate, historical bars, option chain, positions, and quotes. No ambiguity between tools; even similar tools like ibkr_fx_rate and ibkr_quote are differentiated by target (currency pair vs any symbol).
All tool names follow a consistent pattern: 'ibkr_' prefix followed by a descriptive snake_case noun phrase (e.g., account_summary, connection_status, fx_rate). No mixing of conventions, making the set predictable.
8 tools is well-scoped for a financial data and account server. It covers essential areas (account, connection, market data, positions) without being bloated. Each tool serves a clear purpose.
The tool set covers account info, market data, and portfolio positions but lacks order management (place, modify, cancel orders) which is a significant gap for a trading-related server. Core data retrieval is present but trading actions are missing.