Skip to main content

Trading 212 MCP Server

PyPI Downloads License: MIT Glama Python MCP Tools

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=demo to 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, allocation
  • fetch_portfolio_performance - Per-position returns with dividends, best/worst performers
  • fetch_dividend_summary - Income analysis grouped by ticker and month
  • fetch_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.

Buy Me a Coffee

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trading212_mcp_server-0.4.0.tar.gz (51.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trading212_mcp_server-0.4.0-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

Details for the file trading212_mcp_server-0.4.0.tar.gz.

File metadata

  • Download URL: trading212_mcp_server-0.4.0.tar.gz
  • Upload date:
  • Size: 51.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for trading212_mcp_server-0.4.0.tar.gz
Algorithm Hash digest
SHA256 de8e3731e57437e85e12adfc7ef5af5f820bf73405119d5a258a29c268bf802e
MD5 89dccc29447b1008ce2469fe33831fea
BLAKE2b-256 92f74df96d83634c44a2aefa226d36b98fb34e8dcb6c412dd71f30de30c2bf37

See more details on using hashes here.

Provenance

The following attestation bundles were made for trading212_mcp_server-0.4.0.tar.gz:

Publisher: publish.yml on KyuRish/trading212-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file trading212_mcp_server-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for trading212_mcp_server-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3d74d226dcbf31bc9ffae618f94e92d95f094ee8399ea87756da654aeb6b88c2
MD5 5091510193709b6eec66fb108db77151
BLAKE2b-256 84f023aec4a50daceaad187e62c31c41835ad960c617cc6fd2424e1dcb2e1726

See more details on using hashes here.

Provenance

The following attestation bundles were made for trading212_mcp_server-0.4.0-py3-none-any.whl:

Publisher: publish.yml on KyuRish/trading212-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page