Skip to main content
Glama
senjoyee

Trading 212 MCP Server

by senjoyee

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
T212_ENVNoEnvironment: demo (default) or livedemo
T212_API_KEYYesYour Trading 212 API key
T212_API_SECRETYesYour Trading 212 API secret

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_account_summaryA

Retrieve a full breakdown of the Trading 212 account: account ID, primary currency, cash metrics (available to trade, in pies, reserved for orders), investment metrics (current value, total cost, realised and unrealised P&L), and total account value. Rate limit: 1 req / 5s.

get_instrumentsA

Retrieve the complete list of instruments available for trading on Trading 212. Each instrument includes: ticker (unique ID, e.g. AAPL_US_EQ), name, ISIN, currency, type (STOCK, ETF, etc.), max open quantity, extended-hours support, and working schedule ID. Data refreshes every 10 minutes. Rate limit: 1 req / 50s.

get_exchangesA

Retrieve all accessible exchanges and their working schedules (open/close times, pre-market, after-hours, breaks). Each exchange has an ID that maps to the workingScheduleId on instruments. Data refreshes every 10 minutes. Rate limit: 1 req / 30s.

get_open_positionsA

Retrieve all open positions in the Trading 212 account. Each position includes: instrument details (ticker, name, ISIN, currency), quantity held, average price paid, current price, shares in pies, shares available for trading, and wallet impact (current value, total cost, unrealised P&L, FX impact). Optionally filter by a specific ticker. Rate limit: 1 req / 1s.

get_pending_ordersA

Retrieve all currently active (pending) orders — those not yet filled, cancelled, or expired. Each order includes: type (LIMIT, STOP, MARKET, STOP_LIMIT), side (BUY/SELL), ticker, quantity, limit/stop prices, status, time-in-force, and creation date. Rate limit: 1 req / 5s.

get_order_by_idA

Retrieve a single pending order by its unique numerical ID. Useful for checking the status of a previously placed order. Rate limit: 1 req / 1s.

place_market_orderA

Place a MARKET order for immediate execution at the next available price. Use a POSITIVE quantity to BUY and a NEGATIVE quantity to SELL (e.g. -10.5 sells 10.5 shares). WARNING: Market orders may experience price slippage. This endpoint is NOT idempotent — duplicate calls create duplicate orders. Rate limit: 50 req / 1m.

place_limit_orderA

Place a LIMIT order that executes at a specified price or better. Use a POSITIVE quantity to BUY (fills at limitPrice or lower) and a NEGATIVE quantity to SELL (fills at limitPrice or higher). NOT idempotent — duplicate calls create duplicate orders. Rate limit: 1 req / 2s.

place_stop_orderA

Place a STOP order that triggers a market order once the stop price is reached (triggered by Last Traded Price). Use a POSITIVE quantity to BUY and a NEGATIVE quantity to SELL (stop-loss). NOT idempotent. Rate limit: 1 req / 2s.

place_stop_limit_orderA

Place a STOP-LIMIT order: when the Last Traded Price reaches stopPrice a limit order is placed at limitPrice. Protects against slippage. Use POSITIVE quantity to BUY, NEGATIVE to SELL. NOT idempotent. Rate limit: 1 req / 2s.

cancel_orderA

Cancel an active, unfilled order by its unique ID. Cancellation is not guaranteed if the order is already being filled. A successful response means the cancellation request was accepted. Rate limit: 50 req / 1m.

get_historical_ordersA

Retrieve paginated history of all past orders (filled, cancelled, expired) with fill details, taxes, realised P&L. Optionally filter by ticker. Uses cursor-based pagination. Rate limit: 6 req / 1m.

get_dividendsA

Retrieve paginated history of paid-out dividends. Each entry includes: amount (in account currency), gross amount per share, instrument details, payment date, quantity, and dividend type. Optionally filter by ticker. Rate limit: 6 req / 1m.

get_transactionsA

Retrieve paginated history of account transactions (deposits, withdrawals, fees, transfers). Each entry includes: amount, currency, timestamp, reference ID, and type. Rate limit: 6 req / 1m.

request_csv_reportA

Initiate async generation of a CSV report for a date range. Choose which data to include: orders, dividends, transactions, interest. Returns a reportId — use get_reports to poll status and get the download link when finished. Rate limit: 1 req / 30s.

get_reportsA

Retrieve a list of all requested CSV reports and their current status (Queued, Processing, Running, Finished, Failed, Canceled). When status is 'Finished', the downloadLink field contains a URL to download the CSV file. Rate limit: 1 req / 1m.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/senjoyee/trading212-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server