eToro MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ETORO_ENV | No | demo or real. Must match the environment of the key pair. | demo |
| ETORO_API_KEY | Yes | Public API key (x-api-key). Required. | |
| ETORO_BASE_URL | No | Must be https on an etoro.com host. | https://public-api.etoro.com |
| ETORO_USER_KEY | Yes | User key (x-user-key). Required. | |
| ETORO_AUDIT_LOG | No | Append JSON-lines audit events to this file (also logged to stderr). | |
| ETORO_ENABLE_WRITE | No | Register the write tools. Needs a key with Write permission. | false |
| ETORO_MAX_ORDER_USD | No | Max exposure (amount x leverage) or transfer amount per action. | 100 |
| ETORO_ALLOW_TRANSFERS | No | Register the internal-transfer tool (real only, needs both switches above). | false |
| ETORO_MAX_SESSION_USD | No | Max total exposure executed until the server restarts. | 500 |
| ETORO_ALLOW_REAL_WRITE | No | Second switch required for write tools when ETORO_ENV=real. | false |
| ETORO_CONFIRM_TTL_SECONDS | No | How long a preview stays confirmable. | 300 |
| ETORO_REQUIRE_ELICITATION | No | Refuse writes unless the client can ask you to approve them. Default is true on real, false on demo. | |
| ETORO_MAX_WRITES_PER_MINUTE | No | Local brake on executed writes (eToro also rate-limits). | 5 |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| etoro_get_portfolioA | Aggregated snapshot of the demo account: account totals, open positions grouped by instrument, and copy-trading mirrors. For individual open positions with their position ids and pending orders use etoro_get_portfolio_breakdown. Reference: https://api-portal.etoro.com. |
| etoro_get_portfolio_breakdownA | Open positions (with position ids and units), pending orders and available credit for the demo account. Position ids from here are what etoro_prepare_close_position needs. |
| etoro_get_pnlA | Unrealized profit/loss and portfolio details of the demo account (positions, mirrors, pending orders and orders to open/close). |
| etoro_get_balancesB | Aggregated balances across the user's eToro accounts (trading, cash, ...), expressed in a display currency. Not environment-specific: it reports the account the key belongs to. |
| etoro_get_trade_historyA | Closed trades of the demo account since a date, with open/close rates, net profit and fees. Paginated. |
| etoro_get_orderA | Status and execution details of one order, found by orderId (returned when an order is placed) or by referenceId. Provide exactly one. |
| etoro_get_instrumentsA | Look up instruments by exact ticker symbols or by instrument ids, or list by type. Returns instrumentId, symbol, displayName, type and exchangeId. Free-text name search is not supported; ETF listings use exchange suffixes (for example CSPX.L). Provide symbols or instrumentIds, not both. |
| etoro_get_ratesA | Current bid and ask for up to 100 instruments by id. Prices are eToro's quotes, not necessarily the underlying venue's. |
| etoro_check_eligibilityA | What the demo account may do with instruments: available settlement types (real/cfd), leverage values, buy/sell and partial-close permissions, minimum position amounts, stop-loss/take-profit limits. Computes only; places nothing. Provide instrumentIds and/or symbols (max 100 combined). |
| etoro_get_trading_costsA | What-if cost breakdown (markup, market spread, transaction fee, overnight and weekend fees, stamp duty) for a hypothetical order. Computes only; places nothing. Amounts are in USD. For closing, pass the position ids. |
| etoro_list_watchlistsC | The user's watchlists with their items (instrument ids). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
etoro_get_portfolio, etoro_get_portfolio_breakdown, etoro_get_pnl, and etoro_get_balances all return overlapping portfolio/account data. Descriptions attempt to differentiate (e.g., aggregated vs. breakdown), but an agent could still misselect among the portfolio tools. Other tools are clearly distinct.
All tools use the etoro_ prefix followed by a consistent snake_case verb_noun pattern (get_, check_, list_). No deviation in style or casing.
11 tools is a reasonable count for a read-focused trading API surface. It is not excessive, but the absence of any execution tools makes the set feel slightly under-scoped relative to the platform's purpose.
Major gaps: no tools to place orders, cancel orders, or close positions, despite etoro_check_eligibility and etoro_get_trading_costs implying trading workflows. The description of etoro_get_portfolio_breakdown references etoro_prepare_close_position, which is not present, creating a dead end. Watchlists are read-only.