ibkr-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ibkr-mcpfetch my account history and analyze my P&L for the last 30 days"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ibkr-mcp-server
MCP server for Interactive Brokers — Flex Web Service account historical analysis.
Overview
This server exposes IBKR's Flex Web Service as MCP tools so that Claude (or any MCP-compatible client) can retrieve and analyse your account history without manual report downloads.
Related MCP server: IBKR MCP Server
Prerequisites
An Interactive Brokers account.
A Flex Query configured in Account Management with the desired sections (Trades, OpenPositions, CashTransactions, EquitySummaryInBase, FIFOPerformanceSummaryInBase).
A Flex Web Service token generated in Account Management → Reports → Flex Queries → Manage → Generate Token.
Setup
# Install with uv (recommended)
uv sync
# Or with pip
pip install -e .Copy .env.example to .env and fill in your credentials:
cp .env.example .env
# edit .env with your IBKR_FLEX_TOKEN and IBKR_FLEX_QUERY_IDRunning the server
# stdio transport (for Claude Desktop / mcp CLI)
ibkr-mcp
# Or via uv
uv run ibkr-mcpClaude Desktop config (local stdio)
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"ibkr": {
"command": "uv",
"args": ["run", "--project", "/path/to/ibkr-mcp", "ibkr-mcp"],
"env": {
"IBKR_FLEX_TOKEN": "your_token",
"IBKR_FLEX_QUERY_ID": "your_query_id"
}
}
}
}claude.ai MCP connector (remote SSE)
claude.ai (Teams / Enterprise) supports custom MCP connectors over HTTPS. The server must be publicly reachable; use the steps below.
1. Deploy the server
# Option A — Docker (recommended)
docker build -t ibkr-mcp .
docker run -d \
-e IBKR_FLEX_TOKEN=your_token \
-e IBKR_FLEX_QUERY_ID=your_query_id \
-e MCP_TRANSPORT=sse \
-e MCP_AUTH_TOKEN=your_secret_token \
-p 8000:8000 \
ibkr-mcp
# Option B — uv directly (on a VPS / cloud VM)
MCP_TRANSPORT=sse \
MCP_AUTH_TOKEN=your_secret_token \
IBKR_FLEX_TOKEN=your_token \
IBKR_FLEX_QUERY_ID=your_query_id \
uv run ibkr-mcp2. Put HTTPS in front (required by claude.ai)
Use any reverse proxy that terminates TLS. A minimal Caddy example:
your-domain.com {
reverse_proxy localhost:8000
}Or use a managed tunnel for quick testing:
ngrok http 8000 # gives you https://xxxx.ngrok.io3. Add to claude.ai
Open claude.ai → Settings → Integrations → Add custom integration
Fill in:
Name: IBKR
URL:
https://your-domain.com/sse(note the/ssepath)
Under Authorization, select Bearer token and paste the value of
MCP_AUTH_TOKENClick Save — the tools appear automatically
Health check:
GET https://your-domain.com/healthreturns{"status":"ok"}and bypasses bearer auth, so you can verify connectivity without credentials.
Available Tools
Flex Web Service protocol
Tool | Description |
| Initiate a Flex query; returns a |
| Download a completed report by reference code (polls until ready) |
| Convenience: send + poll + download in one call |
XML parsing
Tool | Description |
| Account metadata (account ID, type, currency, date range) |
| Trade records — filterable by symbol, asset category, date |
| Open position records |
| Cash transactions (dividends, interest, fees, etc.) |
| Daily NAV / equity summary time series |
| FIFO realized and unrealized P&L by symbol |
Analysis
Tool | Description |
| Aggregate realized P&L from trades; group by symbol, month, year, asset category |
| Summarize gross dividends and withholding taxes by symbol |
| Portfolio value over time with total-return calculation |
Typical workflow
1. flex_run_query() → xml_content
2. flex_account_info(xml_content) → account metadata
3. flex_analyze_pnl(xml_content) → realized P&L by symbol
4. flex_analyze_dividends(xml_content) → dividend income summary
5. flex_analyze_portfolio_history(xml_content) → NAV time seriesFlex Query setup guide
Your query must include these Sections for full tool coverage:
Account Information
Trades (select Executions)
Open Positions
Cash Transactions
Equity Summary in Base Currency
FIFO Performance Summary in Base Currency
Recommended date period: Last N days or Custom Date Range covering your analysis window.
Development
uv sync --dev
pytest tests/Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables 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.5
- AlicenseNot gradedqualityDmaintenanceProvides AI models with secure access to Interactive Brokers trading data and functionality, enabling account management, market data retrieval, and trading operations through natural language interactions.18MIT
- AlicenseNot gradedqualityDmaintenanceConnects Claude AI to Interactive Brokers accounts to enable real-time portfolio tracking, position management, and historical market data retrieval. It also integrates financial news and sentiment analysis from multiple sources, including Finnhub and IB native feeds.MIT
- AlicenseBqualityAmaintenanceProvides 32 trading analysis tools for AI-powered market analysis, including real-time data, technical indicators, options Greeks, scanners, and Interactive Brokers portfolio management, all accessible via natural language in Claude Desktop.35328MIT
Related MCP Connectors
Global stock research, ML forecasts, valuation signals, screeners & portfolio tracking in Claude
Brazilian Open Finance MCP — 30+ banks (Itaú, Nubank, etc.) to Claude/Cursor. Read-only.
Trade Robinhood through natural language in Claude Code.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zionto/ibkr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server