KyuRish/trading212-mcp-server
🐍 ☁️ - Trading 212 API integration with 28 tools for portfolio management, trading (market/limit/stop orders), pies, dividends, market data, and analytics. Built-in rate limiting.
Quick Install
{
"mcpServers": {
"kyurish-trading212-mcp-server": {
"command": "npx",
"args": [
"-y",
"kyurish-trading212-mcp-server"
]
}
}
}Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.
Documentation Overview
Trading 212 MCP Server
Connect your AI assistant to your Trading 212 brokerage account. Ask questions about your portfolio, place trades, manage pies, and analyze dividends - all through natural language.
Works with Claude Desktop, Claude Code, ChatGPT, Gemini, Cursor, Windsurf, and any client that supports the Model Context Protocol (MCP).
Why this server?
- 32 tools covering the full Trading 212 API, plus 4 analytics tools that combine multiple API calls into actionable insights
- Smart rate limiting - reads T212's rate limit headers, auto-waits, and retries on 429 (up to 3 times). No rate limit errors leak to your AI
- Zero config - install from PyPI, add your API key, done. No Docker, no database, no Redis
- Typed responses - every tool returns structured Pydantic models, not raw JSON
- Paper trading - set
ENVIRONMENT=demoto test with virtual money first
What can it do?
| Category | Tools | Examples |
|---|---|---|
| Analytics | Portfolio summary, performance, dividends, activity | "Show me my portfolio P&L" |
| Trading | Market, limit, stop, stop-limit orders | "Buy 5 shares of AAPL" |
| Portfolio | Positions, cash balance, account info | "What's my cash balance?" |
| Pies | Create, update, duplicate, delete pies | "Show my pie allocations" |
| Market Data | Instrument search, exchange schedules | "Search for Tesla" |
| History | Past orders, dividends, transactions, CSV exports | "Show my dividend history" |
Analytics tools
These combine multiple API calls into single high-level responses:
fetch_portfolio_summary- Complete snapshot: total value, P&L, cash, top holdings, allocationfetch_portfolio_performance- Per-position returns with dividends, best/worst performersfetch_dividend_summary- Income analysis grouped by ticker and monthfetch_recent_activity- Combined timeline of trades and transactions
Quick start
Install
uvx trading212-mcp-server
Or via pip:
pip install trading212-mcp-server
Get your API credentials
From the Trading 212 app: Settings > API (Beta). You need both the API Key and Secret - the server uses Basic Auth.
Connect to Claude Desktop
Add to claude_desktop_config.json (Windows: %APPDATA%\Claude\, Mac: ~/Library/Application Support/Claude/):
{
"mcpServers": {
"trading212": {
"command": "uvx",
"args": ["trading212-mcp-server"],
"env": {
"TRADING212_API_KEY": "<your-api-key>",
"TRADING212_API_SECRET": "<your-api-secret>",
"ENVIRONMENT": "live"
}
}
}
}
Connect to Claude Code
claude mcp add trading212 -- uvx trading212-mcp-server
Then set the environment variables in your shell or .env file.
Other clients (Cursor, Windsurf, ChatGPT, etc.)
Same command and env vars - configure per your client's MCP docs. Set ENVIRONMENT to demo for paper trading.
From source
git clone https://github.com/KyuRish/trading212-mcp-server.git
cd trading212-mcp-server
cp .env.example .env # fill in your API keys
uv sync
uv run -m trading212_mcp_server.server
claude_desktop_config.json for source installs
{
"mcpServers": {
"trading212": {
"command": "uv",
"args": ["run", "--directory", "<path-to-repo>", "-m", "trading212_mcp_server.server"],
"env": {
"TRADING212_API_KEY": "<your-api-key>",
"TRADING212_API_SECRET": "<your-api-secret>",
"ENVIRONMENT": "live"
}
}
}
}
All 32 tools
Analytics (composite)
| Tool | Description |
|---|---|
fetch_portfolio_summary | Complete portfolio snapshot with P&L and allocations |
fetch_portfolio_performance | Per-position returns, dividends, best/worst performers |
fetch_dividend_summary | Dividend income by ticker and month |
fetch_recent_activity | Combined timeline of trades and transactions |
Account
| Tool | Description |
|---|---|
fetch_account_info | Account metadata (currency, ID) |
fetch_account_cash | Cash balance, invested value, P&L |
fetch_all_open_positions | All portfolio positions with live prices |
search_specific_position_by_ticker | Single position lookup by ticker |
Trading
| Tool | Description |
|---|---|
place_market_order | Buy/sell at current market price |
place_limit_order | Buy/sell at specified price or better |
place_stop_order | Trigger order at stop price |
place_stop_limit_order | Stop trigger with limit execution |
fetch_all_orders | List all pending orders |
fetch_order | Get specific order by ID |
cancel_order | Cancel a pending order |
Pies
| Tool | Description |
|---|---|
fetch_pies | List all investment pies |
fetch_a_pie | Pie details with instrument allocations |
create_pie | Create a new pie with target weights |
update_pie | Update pie settings and allocations |
duplicate_pie | Clone an existing pie |
delete_pie | Remove a pie |
Market Data
| Tool | Description |
|---|---|
search_instrument | Search tradeable instruments by ticker or name |
search_exchange | Search available exchanges |
History
| Tool | Description |
|---|---|
fetch_historical_order_data | Past orders with pagination |
fetch_paid_out_dividends | Dividend payment history |
fetch_transaction_list | Deposits and withdrawals |
fetch_exports_list | List CSV export reports |
request_csv_export | Request a new CSV export |
Compatibility
Tested with these MCP clients:
| Client | Status |
|---|---|
| Claude Desktop | Supported |
| Claude Code | Supported |
| Cursor | Supported |
| Windsurf | Supported |
| Any MCP-compatible client | Supported |
Author
Built by Rishabh Dogra.
Support
If this server saves you time, a coffee would mean a lot.
License
MIT