omdv/ibkr-mcp-server
If you are the rightful owner of ibkr-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The IBKR MCP Server is a FastAPI application designed to facilitate trading operations with Interactive Brokers through a Model Context Protocol server.
IBKR MCP Server
A FastAPI application that provides an MCP (Model Context Protocol) server for Interactive Brokers (IBKR) trading operations. The server automatically manages an IBKR Gateway Docker container and exposes trading functionality through both REST API and MCP endpoints.
Features
- Trading Operations: Supports market data, positions, contracts, and scanners
- Health Monitoring: Health checks, restarts gateways when no market data
- Docker Management: IBKR Gateway container lifecycle (optional)
Usage
Helm (Kubernetes)
Install directly from this Git repository:
# Install from main branch
helm install ibkr-mcp-server git+https://github.com/your-username/ibkr-mcp-server@main?path=chart
# Install from a specific release
helm install ibkr-mcp-server git+https://github.com/your-username/ibkr-mcp-server@v1.0.0?path=chart
Docker Compose
export IBKR_IB_GATEWAY_USERNAME="YOUR USERNAME"
export IBKR_IB_GATEWAY_PASSWORD="YOUR PASSWORD"
docker-compose up -d --build
Development
-
Clone and setup:
git clone <repository-url> cd ibkr-mcp-server
-
Install dependencies:
uv sync
-
Run the server:
python main.py --ib-gateway-username=$YOUR_USERNAME --ib-gateway-password=$YOUR_PASSWORD
The server will start on http://localhost:8000
with API docs at /docs
. MCP server will be available at http://localhost:8000/mcp
.
API Endpoints
Gateway Management
These are not exposed to MCP by default
GET /gateway/status
- Gateway health and statusGET /gateway/logs
- Container logs
IBKR Operations
GET /ibkr/positions
- Current positionsGET /ibkr/contract_details
- Contract information for a symbolGET /ibkr/options_chain
- Options chain for underlying contractsGET /ibkr/tickers
- Market data tickers for contract IDsGET /ibkr/filtered_options_chain
- Filtered options chain with market data criteriaGET /ibkr/scanner/instrument_codes
- Available scanner instrument codesGET /ibkr/scanner/location_codes
- Available scanner location codesGET /ibkr/scanner/filter_codes
- Available scanner filter codesGET /ibkr/scanner/results
- Scanner results with specified parameters
Troubleshooting
- Docker issues: Ensure Docker daemon is running
- Port conflicts: Check if port 8000 is available
- IBKR connection: Verify credentials and TWS/Gateway setup
License
MIT License