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.
The MCP endpoint (streamable HTTP, stateless) is served at the root path: POST /. OAuth discovery: GET /.well-known/oauth-protected-resource.
| Tool | Description |
|---|---|
get-my-portfolio-summary | The 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-orders | Open positions and pending orders, direct and copied, with unrealized P&L, stop-loss/take-profit and order status. |
get-my-balances | Every 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-history | Closed trades, paginated, with fees and realized P&L. |
get-my-watchlists | The user's watchlists, as the API returns them. |
get-my-profile-and-scopes | Who is connected and which OAuth scopes the connection actually holds. |
get-instruments-overview | Batch overview of 1–100 instruments (or a free-text search): identity, live quote, recent performance and trading eligibility. |
get-trader-profile-summary | Public profiles of 1–100 eToro investors: performance, risk, copiers and portfolio statistics. |
get-all-routes | The catalog of read routes of the eToro Public API this server can execute, with query/tag filters. Write routes are not listed. |
get-route-spec | One read route's full OpenAPI specification, required OAuth scopes and rate limit. |
execute-read | Runs 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. |
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>/"
}
}
}
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:
.claude/skills/etoro-public-api-readonly/SKILL.md~/.cursor/skills/etoro-public-api-readonly/SKILL.md