ib-async-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| connectA | Connect to TWS or IB Gateway. Must be called before using other tools. |
| disconnectA | Disconnect from TWS/Gateway. |
| is_connectedB | Check if connected to TWS/Gateway. |
| get_accountsA | Get list of managed account names. |
| get_account_valuesB | Get account values (balance, margin, etc.). |
| get_account_summaryC | Get account summary. |
| get_portfolioC | Get portfolio positions with market values. |
| get_positionsC | Get all positions. |
| get_pnlC | Get profit and loss. |
| create_contractB | Create a contract for trading. Types: stock, option, future, forex, index, cfd, crypto, bond. |
| qualify_contractsC | Qualify contracts to fill in missing fields like conId. |
| get_contract_detailsC | Get detailed contract information. |
| search_symbolsC | Search for matching symbols/contracts. |
| get_market_dataC | Get real-time market data snapshot for a contract. |
| get_historical_dataC | Get historical bar data. |
| get_head_timestampC | Get earliest available historical data timestamp. |
| place_orderC | Place a new order. |
| cancel_orderB | Cancel an existing order. |
| cancel_all_ordersA | Cancel all open orders. |
| get_open_ordersB | Get all open orders. |
| get_open_tradesB | Get all open trades. |
| get_executionsC | Get execution reports. |
| get_fillsC | Get order fills. |
| what_if_orderC | Check margin impact without placing order. |
| get_option_chainC | Get option chain for an underlying. |
| calculate_implied_volatilityC | Calculate implied volatility from option price. |
| calculate_option_priceC | Calculate option price from volatility. |
| get_scanner_parametersC | Get available scanner parameters. |
| run_scannerC | Run a market scanner. |
| get_news_providersC | Get available news providers. |
| get_news_articleC | Get a news article. |
| get_historical_newsC | Get historical news headlines. |
| get_current_timeA | Get current TWS server time. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 33 tools
Each tool has a distinct purpose with clear boundaries, such as 'cancel_order' vs 'cancel_all_orders', 'get_account_summary' vs 'get_account_values', and 'place_order' vs 'what_if_order'. The descriptions specify unique functions, preventing agent misselection.
All tools follow a consistent verb_noun pattern (e.g., 'calculate_implied_volatility', 'get_historical_data', 'place_order'), with no deviations in style or convention. This predictability aids agent tool selection and understanding.
With 33 tools, the count is borderline high for an MCP server, potentially overwhelming for agents. While the domain (Interactive Brokers trading) is complex, it may benefit from consolidation or categorization to improve usability.
The toolset comprehensively covers the trading domain, including connection management, contract creation, market data, order placement, account information, and analytics. No obvious gaps exist for core workflows, from setup to execution and monitoring.