Skip to main content

MCP server for Trading 212 API integration

Project description

Trading 212 MCP Server

PyPI License: MIT

mcp-name: io.github.KyuRish/trading212-mcp-server

MCP server for the Trading 212 API. Works with any LLM client that supports MCP - Claude, ChatGPT, Gemini, Cursor, Windsurf, and more.

What can it do?

28 tools covering the full Trading 212 API, plus 4 analytics tools that combine multiple API calls into actionable insights:

Category Tools
Analytics Portfolio summary, performance report, dividend analysis, recent activity
Trading Market, limit, stop, and stop-limit orders
Portfolio Positions, pies, cash balance
Market Data Instrument search, exchange schedules
History Past orders, dividends, transactions, CSV exports

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

Rate limiting

Built-in rate limiter reads T212's x-ratelimit-remaining and x-ratelimit-reset headers. It auto-waits when a limit is exhausted and retries on 429 (up to 3 times). Composite tools that chain multiple API calls handle this transparently - no 429 errors leak to the caller.

Installation

Quick start (recommended)

uvx trading212-mcp-server

pip

pip install trading212-mcp-server

From source

git clone https://github.com/KyuRish/trading212-mcp-server.git
cd trading212-mcp-server
uv sync

Authentication

Get your API Key and Secret from the Trading 212 app: Settings > API (Beta).

Both are required - the server uses Basic Auth (base64 key:secret).

Connect to your LLM

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"
      }
    }
  }
}

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, etc.)

Same command and env vars - configure per your client's MCP docs.

Set ENVIRONMENT to demo for paper trading.

From source

If running from a cloned repo instead of PyPI:

{
  "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 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
search_specific_position_by_ticker Single position by ticker

Trading

Tool Description
place_market_order Buy/sell at current 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 pending orders
fetch_order Get specific order by ID
cancel_order Cancel a pending order

Pies

Tool Description
fetch_pies List all pies
fetch_a_pie Pie details by ID
create_pie Create a new pie
update_pie Update pie settings
duplicate_pie Clone a pie
delete_pie Remove a pie

Market Data

Tool Description
search_instrument Search by ticker or name
search_exchange Search exchanges

History

Tool Description
fetch_historical_order_data Past orders with pagination
fetch_paid_out_dividends Dividend history
fetch_transaction_list Deposits/withdrawals
fetch_exports_list List CSV exports
request_csv_export Request new CSV export

Development

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

Author

Built by Rishabh Dogra.

Support

This took quite some time to build in hopes it would make your life easier. If it did, a coffee would mean a lot.

Buy Me a Coffee

License

MIT

Project details


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.1.1.tar.gz (36.1 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.1.1-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: trading212_mcp_server-0.1.1.tar.gz
  • Upload date:
  • Size: 36.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for trading212_mcp_server-0.1.1.tar.gz
Algorithm Hash digest
SHA256 14ee5f252549b668fef35c55e340d48975ed38e199096be2ca917626a3f93df8
MD5 2707c17d123e70e40b978d21886086f5
BLAKE2b-256 f6d383a4ab494144883cc79f76a735151dd57dbb1a9e263d1a358d24e7f18d45

See more details on using hashes here.

Provenance

The following attestation bundles were made for trading212_mcp_server-0.1.1.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.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for trading212_mcp_server-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 33cbb47f49a53d1aa37b76d96dc88278c2ac73e5cf02cba3bc7cac55753b5379
MD5 587f5d5e0c3fde2dd390e44daa8e78af
BLAKE2b-256 1b2b9ef51e96cbcd8c1094edd1fbff1854444ad07af02b1acaa988607f9d3a5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for trading212_mcp_server-0.1.1-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 Pingdom Monitoring Sentry Error logging StatusPage Status page