eToro Public API MCP (read-only)

A Model Context Protocol (MCP) server that gives AI assistants read access to a user's eToro account and to eToro market data, through the eToro Public API. It authenticates the connection with eToro OAuth only and exposes eleven read tools.

This server has no write tool: it cannot place, close or edit trades, move money, change copy-trading or edit watchlists. Every tool advertises readOnlyHint: true. State-changing routes of the eToro Public API are not listed and cannot be executed here.

Endpoint

The MCP endpoint (streamable HTTP, stateless) is served at the root path: POST /. OAuth discovery: GET /.well-known/oauth-protected-resource.

Tools

ToolDescription
get-my-portfolio-summaryThe connected user's Trading portfolio in one call: totals, holdings sorted by value, copied traders and pending orders, from one consistent snapshot. Optional account (real/demo).
get-my-positions-and-ordersOpen positions and pending orders, direct and copied, with unrealized P&L, stop-loss/take-profit and order status.
get-my-balancesEvery account the user holds (Trading incl. sub-accounts, Cash, Crypto, Options, MoneyFarm, Spaceship, Plaee), relayed verbatim with a fieldGuide naming the spendable field per account type.
get-my-trading-historyClosed trades, paginated, with fees and realized P&L.
get-my-watchlistsThe user's watchlists, as the API returns them.
get-my-profile-and-scopesWho is connected and which OAuth scopes the connection actually holds.
get-instruments-overviewBatch overview of 1–100 instruments (or a free-text search): identity, live quote, recent performance and trading eligibility.
get-trader-profile-summaryPublic profiles of 1–100 eToro investors: performance, risk, copiers and portfolio statistics.
get-all-routesThe catalog of read routes of the eToro Public API this server can execute, with query/tag filters. Write routes are not listed.
get-route-specOne read route's full OpenAPI specification, required OAuth scopes and rate limit.
execute-readRuns one read route by relative path (a GET, or a POST with a body for the catalog's read-semantics POST routes) and relays the response with status, body and rate-limit headers.

Client configuration example

Add the URL; your MCP client runs the eToro sign-in and attaches the OAuth token to every request. No keys, no headers.

{
  "mcpServers": {
    "etoro-readonly": {
      "url": "<service-url>/"
    }
  }
}

Agent skill

Download a ready-to-use agent skill, pre-configured with this environment's MCP URL: Download SKILL.md.

Install it by placing the file at: