IBKR TWS MCP Server
Enables LLM clients to interact with Interactive Brokers Trader Workstation for automated trading workflows. Supports market data retrieval, portfolio management, and order execution through the TWS API.
README
IBKR TWS MCP Server
This project implements a Model Context Protocol (MCP) server for the Interactive Brokers (IBKR) Trader Workstation (TWS) API. It uses the official modelcontextprotocol/python-sdk and ib_async to expose key TWS functionalities as MCP tools, enabling seamless integration with LLM clients for automated financial workflows, such as portfolio rebalancing.
The server supports the Streamable HTTP transport and is designed to be easily containerized using Docker.
Features
- MCP Compliance: Built with FastMCP for full adherence to the Model Context Protocol.
- Asynchronous TWS Integration: Leverages
ib_async(maintained fork of ib-insync) for non-blocking, asynchronous interaction with the TWS API. - Comprehensive Toolset: Exposes tools for connection management, market data retrieval (historical and streaming), account and portfolio querying, and order management (placing and canceling orders).
- Streaming Support: Implements Server-Sent Events (SSE) for real-time market data and account updates.
- Containerized Deployment: Ready-to-use Docker and Docker Compose configuration.
Getting Started
Please refer to the Setup Guide for detailed instructions on prerequisites, environment configuration, and running the server locally or in a container.
API Reference
A complete list of all exposed MCP tools, their parameters, and return types can be found in the API Reference.
End-to-End Testing
The server is designed to support the portfolio rebalancing E2E case. You can test all functionalities using the Claude MCP Inspector.
See the dedicated section in the API Reference for a step-by-step guide on how to use the Inspector to interact with your running server.
Project Structure
For a detailed explanation of the project organization, see PROJECT_STRUCTURE.md.
ibkr-tws-mcp-server/
├── src/ # Source code
│ ├── server.py # FastMCP server and tool definitions
│ ├── tws_client.py # TWS client wrapper using ib_async
│ └── models.py # Pydantic data models
├── tests/ # Test suite
│ ├── unit/ # Unit tests with mocks
│ └── integration/ # Integration test documentation
├── docs/ # Documentation
│ ├── API.md # MCP tools API reference
│ ├── SETUP.md # Setup and deployment guide
│ └── ... # Additional guides and troubleshooting
├── diagnostics/ # Diagnostic and testing scripts
├── scripts/ # Utility scripts
├── main.py # Application entry point
├── pyproject.toml # Project dependencies
└── README.md # This file
Documentation
- Setup Guide - Installation and configuration
- API Reference - Complete tool documentation
- Design Document - Architecture and design decisions
- Project Structure - Detailed project organization
- Migration Guide - ib-insync to ib_async migration
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.