eToro MCP

The eToro Public API, as a Model Context Protocol server.

Point your MCP client at this URL and sign in with your eToro account. Five tools open the Public API — three to discover what it can do, two to call it — eight more answer the common questions about your account in a single round trip, and nine handle trading, real and demo, by preparing each request for your approval and tracking it, rather than executing anything themselves.

Connect

{
  "mcpServers": {
    "etoro": {
      "url": "https://mcp.etoro.com"
    }
  }
}

Authentication is OAuth. Your client opens an eToro sign-in the first time it calls a tool that needs one, and you can review and revoke that access from your eToro settings at any time. There is no API key to paste and no secret to keep.

Tools

ToolWhat it does
get-tags The catalog's groups and how many routes each holds. The cheap first call when you are orienting.
get-all-routes Every route with a one-line explanation, filterable by keyword or group.
get-route-spec The full OpenAPI spec for one route: parameters, request body, responses, required scopes and rate limit.
execute-read Runs a read — every GET, plus the handful of POST routes that only use the body to carry a query.
execute-write Runs a state-changing request, for routes this server serves.
get-my-portfolio-summary Your portfolio: positions, exposure and P&L, resolved to instrument names.
get-my-balances Every account you hold and what is in it.
get-my-positions-and-orders Open positions and pending orders, real or demo.
get-my-trading-history Closed positions over a period.
get-my-watchlists Your watchlists and what is on them.
get-my-profile-and-scopes Who you are signed in as, and what this connection is allowed to do.
get-instruments-overview Prices, quotes and trading rules for a batch of instruments.
get-trader-profile-summary A public investor's performance, risk and portfolio.
prepare-place-order Checks an order against your eligibility, a live quote, the costs and your balance — on the real or the demo account — and shows exactly what you would be agreeing to. Places nothing.
prepare-cancel-order Checks a pending order — to open a position, or to close one — can still be cancelled (a filled one cannot) and shows what cancelling would release.
prepare-edit-position Checks a new stop-loss or take-profit against the market, and shows the current levels beside the proposed ones.
prepare-close-position Checks a full or partial close against the open position, and shows the units and the P&L it would realize.
prepare-copy-trader Runs eToro's own copy eligibility check for an investor and an amount.
prepare-stop-copying Finds the copy and shows what closing (or detaching) it would do.
confirm-task Sends a prepared request to eToro once you have explicitly confirmed it. eToro executes it only as you have approved it in your eToro account, and only after its own eligibility, risk and compliance checks.
get-task / list-tasks What happened to a submitted request, and your recent ones.

How trading works here

This server cannot place a trade. It has no tool that executes one, and the trading routes — real and demo — cannot be called through it directly.

What it can do is draft a request you asked for: check it against live data, show you exactly what you would be agreeing to, and — only once you say yes to one question that restates it, such as “Send to eToro: buy $10 of BTC on your real account?” — send it to eToro. You stay the decision-maker: eToro executes a request only as you have approved it in your eToro account, and only after its own eligibility, risk and compliance checks; it may reject one. You control that approval in eToro, including switching trading tasks from AI connectors off — the prepare tools then say so and draft nothing. get-task tells you how a request went, and nothing is reported as done until it actually is.

Everything that reads works directly: portfolios, positions, market data, rankings, watchlists and the social feed.

How it decides

The eToro Public API labels each route with whether calling it moves real funds. This server serves only the routes labelled as not doing so. A route the API has not labelled at all is withheld too: an unclassified route that changes state is treated as though it moves money, so a route added upstream tomorrow is never exposed here by accident.

The trading routes are withheld whatever their label, demo included. They are not reachable by naming a path — the only way to them is a request you prepared, reviewed and approved.