About trading212-mcp-server
trading212-mcp-server connects AI assistants to Trading 212 accounts for portfolio queries, trading, pie management, and dividend analysis. It returns structured responses and supports demo trading.
Key features
- 01Query account, cash, and positions
- 02Place and manage trading orders
- 03Create and edit investment pies
- 04Analyze performance, dividends, and activity
- 05Search instruments and export records
Use cases
- 01Review portfolio P&L and allocation
- 02Place market, limit, or stop orders
- 03Analyze dividends by ticker and month
- 04Test trading workflows with virtual money
MCP support
As an MCP server, it exposes Trading 212 account, trading, portfolio, and analytics tools to compatible clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx trading212-mcp-serverTRADING212_API_KEYSecretTrading 212 API key from Settings > API (Beta)TRADING212_API_SECRETSecretTrading 212 API secret from Settings > API (Beta)ENVIRONMENTAPI environment: 'live' for real account, 'demo' for paper tradingLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMETrading 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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.