{
  "markdown": "# eToro MCP Server\n\n<div align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/gabrielcerutti/etoro-mcp-server/main/icon.png\" alt=\"eToro MCP\" width=\"100\" />\n\n  Connect any MCP-compatible AI assistant (Claude, Cursor, and others) to your eToro account for portfolio analysis, market research, and trading.\n\n  [![CI](https://img.shields.io/github/actions/workflow/status/gabrielcerutti/etoro-mcp-server/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/gabrielcerutti/etoro-mcp-server/actions/workflows/ci.yml)\n  [![DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/gabrielcerutti/etoro-mcp-server)\n  [![Node.js](https://img.shields.io/badge/node-%3E%3D24-brightgreen?style=flat-square)](https://nodejs.org)\n  [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue?style=flat-square)](https://www.typescriptlang.org)\n  [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-1.26%2B-purple?style=flat-square)](https://modelcontextprotocol.io)\n  [![License: MIT](https://img.shields.io/badge/license-MIT-orange?style=flat-square)](LICENSE)\n\n  [Overview](#overview) • [Installation](#installation) • [Configuration](#configuration) • [Tools](#tools-35-total)\n</div>\n\n---\n\n## Overview\n\nMCP server wrapping the [eToro public API](https://public-api.etoro.com/api/v1), exposing **35 tools** for AI assistants (Claude Desktop, Cursor, Claude Code, etc.). Built for **investment research and portfolio analysis** — assess positions, research instruments and themes, vet popular investors for copy-trading, backtest DCA strategies against historical data. Trading is fully supported, but use care: letting an AI agent place real-money orders is genuinely risky, and you should treat it as such.\n\n## What Can You Do With It?\n\nThe server is built around **research workflows** first. The examples below show real multi-tool conversations — the assistant chains several `etoro_*` calls together to answer a single question. Numbers are representative; actual responses draw from live eToro data.\n\n### 1. Portfolio health check\n\nThe assistant calls `etoro_get_portfolio` to pull your open positions, then `etoro_get_instruments` to resolve instrument IDs to names and sectors, and `etoro_get_rates` for live prices. It assembles a full snapshot from the raw data.\n\n> **You:** How is my portfolio doing? Break it down by sector and flag any trouble spots.\n>\n> **Assistant:** I pulled your portfolio (98 open positions), resolved each instrument, and fetched live rates. Here's the picture:\n>\n> - **Cash:** $22,265 • **Invested:** $45,782 • **Positions:** 98 open\n>\n> **Sector breakdown:**\n>\n> | Sector | % of invested | Top holdings |\n> | --- | --- | --- |\n> | Technology | 38% | GOOG, META, MSFT, NVDA, AMZN |\n> | ETFs & Index | 22% | VOO, QQQ, SOXX, ARGT, IEUR |\n> | Crypto | 15% | BTC, ETH |\n> | Healthcare | 10% | UNH |\n> | Financials | 8% | SAP |\n> | Other | 7% | LDO + others |\n>\n> <img src=\"https://raw.githubusercontent.com/gabrielcerutti/etoro-mcp-server/main/readme-assets/portfolio-allocation.png\" width=\"480\" alt=\"Portfolio sector allocation\" />\n>\n> **Trouble spot:** Your tech sleeve is 38% of invested capital and concentrated in 5 mega-caps. A single sector drawdown hits hard — consider whether the ETF overlap (QQQ, SOXX) is intentional diversification or accidental doubling-down.\n\n**Tools used:** `etoro_get_portfolio` → `etoro_get_instruments` → `etoro_get_rates`\n\n---\n\n### 2. Instrument research\n\nSearch is keyword-based — `etoro_search_instruments` finds instruments by ticker or company name, then you chain `etoro_get_instruments` for full details and `etoro_get_candles` for price history.\n\n> **You:** Pull up NVDA — I want the current price and a weekly chart for the last month.\n>\n> **Assistant:** Searching for \"NVDA\" and pulling candle data:\n>\n> - **NVIDIA Corporation** (NVDA) — InstrumentID 1545\n> - **Live rate:** Bid $208.14 / Ask $208.40\n> - **Exchange:** NASDAQ • **Type:** Stock • **Sector:** Semiconductors\n>\n> Weekly candles (last 5 weeks):\n>\n> | Week of | Open | High | Low | Close |\n> | --- | --- | --- | --- | --- |\n> | Mar 22 | $172.65 | $181.20 | $167.01 | $167.61 |\n> | Mar 29 | $165.26 | $177.47 | $162.95 | $176.72 |\n> | Apr 5 | $176.12 | $189.98 | $173.66 | $188.53 |\n> | Apr 12 | $184.15 | $201.69 | $183.98 | $201.64 |\n> | Apr 19 | $199.02 | $210.92 | $197.23 | $208.26 |\n>\n> <img src=\"https://raw.githubusercontent.com/gabrielcerutti/etoro-mcp-server/main/readme-assets/nvda-candles.png\" width=\"560\" alt=\"NVDA weekly candlestick chart\" />\n>\n> NVDA rallied +27% off the March low ($162.95 → $208.26), with each weekly candle printing a higher low. Momentum is strong but the move is getting extended.\n\n**Tools used:** `etoro_search_instruments` → `etoro_get_instruments` → `etoro_get_rates` → `etoro_get_candles`\n\n---\n\n### 3. Copy-trading due diligence\n\nVet popular investors using real public data. The assistant calls `etoro_get_user_profile` for identity and stats, then `etoro_get_user_performance` for the full yearly return history.\n\n> **You:** Vet user jeppekirkbonde for a long-term copy allocation. I want the honest risk picture.\n>\n> **Assistant:** Here's what the data says on **jeppekirkbonde**:\n>\n> - **Name:** Jeppe Kirk Bonde • **PI Level:** 6 (highest tier)\n> - **Copiers:** 25,000+ • **AUM:** $200M+\n> - **Background:** MSc Finance, Copenhagen Business School\n>\n> **Year-by-year performance (real data):**\n>\n> | Year | Return | | Year | Return |\n> | --- | --- | --- | --- | --- |\n> | 2013 | +8.9% | | 2020 | +36.9% |\n> | 2014 | −14.3% | | 2021 | +15.9% |\n> | 2015 | +22.4% | | 2022 | −19.2% |\n> | 2016 | +81.1% | | 2023 | +23.9% |\n> | 2017 | +150.9% | | 2024 | +21.0% |\n> | 2018 | −10.9% | | 2025 | +37.7% |\n> | 2019 | +45.1% | | | |\n>\n> <img src=\"https://raw.githubusercontent.com/gabrielcerutti/etoro-mcp-server/main/readme-assets/jeppe-performance.png\" width=\"600\" alt=\"jeppekirkbonde yearly performance\" />\n>\n> **Average annual return:** +30.7% across 13 full years. Three down years (2014, 2018, 2022) with a max drawdown of −19.2% in the 2022 tech selloff.\n>\n> **What you should know:**\n>\n> 1. This is a concentrated, long-only US tech strategy. The +150.9% in 2017 and +81.1% in 2016 are outliers — don't expect those every year.\n> 2. Down years are real: 2022 cost −19.2%. If you can't stomach a 20% paper loss, this isn't the right copy.\n> 3. 25K+ copiers and $200M+ AUM means his moves have market impact in smaller names. Slippage is a factor.\n>\n> Reasonable for multi-year capital if you accept the volatility. Not appropriate for money you need inside 18 months.\n\n**Tools used:** `etoro_get_user_profile` → `etoro_get_user_performance`\n\n---\n\n### 4. Watchlist management\n\nThe full watchlist lifecycle — create, populate, rename, and curate — all through natural language.\n\n> **You:** Create a \"Semiconductor\" watchlist and add NVDA, AMD, ASML, TSM, and AVGO to it.\n>\n> **Assistant:** Done:\n>\n> 1. Created watchlist **\"Semiconductor\"** (ID: 48291)\n> 2. Searched and resolved all 5 tickers to instrument IDs\n> 3. Added: NVDA (1545), AMD (2842), ASML (5765), TSM (3901), AVGO (6192)\n>\n> Your watchlists now:\n>\n> | Watchlist | Items |\n> | --- | --- |\n> | Recently Invested | 38 |\n> | My Watchlist | 34 |\n> | Stocks pre-screening | 69 |\n> | ETFs | 54 |\n> | Semiconductor ← new | 5 |\n> | People & Smart Portfolios | 26 |\n> | Crypto | 6 |\n> | Commodities | 5 |\n\n**Tools used:** `etoro_create_watchlist` → `etoro_search_instruments` → `etoro_add_watchlist_items` → `etoro_get_watchlists`\n\n---\n\n### 5. DCA backtest with historical candles\n\nUse `etoro_get_candles` to pull years of OHLCV data, then simulate a dollar-cost averaging strategy — no orders placed, pure research.\n\n> **You:** Backtest a $500/month DCA into QQQ over the last 3 years. What would I have today?\n>\n> **Assistant:** Pulling weekly QQQ candles (156 weeks) and simulating $500 on the first trading day of each month:\n>\n> - **Total invested:** $18,000 (36 months × $500)\n> - **Units accumulated:** ~38.2 QQQ\n> - **Current value:** $25,365 (at $664.01/share)\n> - **Gain:** +$7,365 (+40.9% on invested capital)\n> - **Approx. IRR:** ~12.8%/year\n>\n> **Worst stretch:** Nov 2022 – Mar 2023, paper drawdown of −22% on the accumulated stack. You bought through it — those discounted shares are now your biggest winners.\n>\n> No orders placed. This is research only.\n\n**Tools used:** `etoro_get_candles` → `etoro_get_rates` (for current price)\n\n---\n\n### 6. Macro-aware portfolio review\n\nCombine portfolio data with the assistant's general knowledge to get a risk assessment tied to your actual holdings.\n\n> **You:** My portfolio is heavy on tech. Flag any risks from this week's macro calendar.\n>\n> **Assistant:** Your tech exposure totals ~$17,400 (38% of invested capital) across GOOG, META, MSFT, NVDA, AMZN and the SOXX/QQQ ETFs. This week's watch-list:\n>\n> - **Wed** — CPI print (core consensus +0.3% MoM). A hot number re-prices rate-cut odds → tech multiples compress first.\n> - **Thu** — Fed speakers (Williams, Waller). Hawkish language strengthens USD, pressuring mega-cap international revenue.\n> - **Fri** — NVDA earnings (after close). Binary event for your largest single-stock position.\n>\n> **What this means for you:**\n>\n> - A hot CPI + hawkish Fed combo could knock 3–5% off your tech sleeve short-term.\n> - NVDA earnings will drive ~8% of your portfolio's week-over-week change. Know your thesis before it prints.\n\n**Tools used:** `etoro_get_portfolio` → `etoro_get_instruments` → `etoro_get_rates` (+ assistant's macro knowledge)\n\n---\n\n<details>\n<summary><b>Trading is also supported</b> — one example</summary>\n\n> ⚠️\n> **Letting an AI execute real-money trades is risky.** The same natural-language interface that makes research fast also makes it easy to misinterpret intent — a typo, an ambiguous number, a stale context from earlier in the conversation. Mitigations: start in `ETORO_TRADING_MODE=demo`, use read-only API keys for anything that doesn't need write access, and require explicit confirmation in your conversation before any `real` order.\n\nAll examples above are research-only. When you're ready to execute, the same interface places orders. Orders always respect the configured `ETORO_TRADING_MODE` (`demo` for paper, `real` for live).\n\n> **You:** Buy $500 of NVDA at market.\n>\n> **Assistant:** Confirmed — opening a market position:\n>\n> - **Instrument:** NVDA (1545)\n> - **Amount:** $500\n> - **Rate:** $208.40 (ask)\n> - **Mode:** `demo`\n>\n> Position opened — ID `3418072`. This is a demo trade, no real money involved.\n\nFull trading coverage includes: open position by amount or units (`etoro_open_position`), close or partially close (`etoro_close_position`), limit/entry orders (`etoro_place_limit_order`), cancel pending orders (`etoro_cancel_order`), and listing pending orders (`etoro_get_orders`).\n\n</details>\n\n---\n\n## Composing with Other MCP Servers\n\nMCP servers are designed to be composed. The eToro server handles portfolio data, live rates, candles, and trading — but an AI assistant can call tools from **multiple servers in a single conversation**, filling in the gaps that no single API covers.\n\n### Example: earnings risk check across two servers\n\nWith eToro + a financial data server (e.g. [Financial Datasets](https://github.com/financial-datasets/mcp-server), [Alpha Vantage](https://github.com/alphavantage/mcp-server), or similar):\n\n> **You:** Do any of my open positions have earnings this week? Flag the ones I should watch.\n>\n> **Assistant:** Pulling your portfolio from eToro (98 positions), then checking the earnings calendar:\n>\n> - **NVDA** — reports Thursday after close. Your position: $4,200 (9.2% of invested). This is a binary event — expect ±8% move.\n> - **GOOGL** — reports Tuesday after close. Your position: $3,100 (6.8%). Consensus is +12% YoY revenue; ad revenue mix is the swing factor.\n> - **UNH** — reported Monday pre-market (already priced in). Beat on EPS, slight miss on membership growth.\n>\n> The rest of your holdings have no earnings this week. Your biggest event risk is NVDA Thursday — it's your largest single-stock position.\n\nThis isn't possible with the eToro server alone — it knows your positions but not the earnings calendar. The financial data server knows the calendar but not your portfolio. Together, the assistant connects both.\n\n### Natural pairings\n\n| Pair with | What it adds | Example workflow |\n| --- | --- | --- |\n| **Research & ratings** ([Morningstar](https://developer.morningstar.com/direct-web-services/documentation/morningstar-mcp-server/about)) | Analyst research, fair value estimates, moat ratings, fund data | \"What's Morningstar's fair value for my tech holdings?\" — pull portfolio, fetch ratings |\n| **News & web search** ([Brave Search](https://github.com/brave/brave-search-mcp-server), [Tavily](https://github.com/tavily-ai/tavily-mcp)) | Breaking news, sentiment, event context | \"Any news on my holdings today?\" — pull portfolio, search each ticker |\n| **Financial data** ([Financial Datasets](https://github.com/financial-datasets/mcp-server), [Alpha Vantage](https://mcp.alphavantage.co/)) | Fundamentals, earnings, SEC filings, economic calendar | \"Show me P/E ratios for my tech positions\" — pull holdings, fetch fundamentals |\n| **Market data** ([Polygon.io](https://github.com/polygon-io/mcp_polygon), [Twelve Data](https://github.com/twelvedata/mcp), [Massive](https://github.com/massive-com/mcp_massive)) | Real-time streaming, options chains, screener universes | \"Screen the S&P 500 for momentum setups, then add the top 5 to my watchlist\" |\n| **Free alternative** ([Yahoo Finance](https://github.com/Alex2Yang97/yahoo-finance-mcp)) | Prices, financials, options, market news (no API key needed) | \"Compare earnings growth for NVDA vs AMD over the last 4 quarters\" |\n\n### Configuration\n\nJust add multiple servers to your MCP config — the assistant sees all tools from all servers:\n\n```json\n{\n  \"mcpServers\": {\n    \"etoro\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"etoro-mcp-server\"],\n      \"env\": {\n        \"ETORO_API_KEY\": \"your-api-key\",\n        \"ETORO_USER_KEY\": \"your-user-key\",\n        \"ETORO_TRADING_MODE\": \"demo\"\n      }\n    },\n    \"financial-data\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"financial-datasets-mcp-server\"],\n      \"env\": {\n        \"FINANCIAL_DATASETS_API_KEY\": \"your-key\"\n      }\n    },\n    \"news\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"tavily-mcp-server\"],\n      \"env\": {\n        \"TAVILY_API_KEY\": \"your-key\"\n      }\n    }\n  }\n}\n```\n\nThe assistant will automatically chain tools across servers when a question requires it — no extra wiring needed.\n\n---\n\n## Installation\n\n### Claude Desktop (recommended)\n\nDownload the latest `.mcpb` file from the [Releases](../../releases) page and drag it into Claude Desktop:\n\n**Extensions → drag `etoro-{version}.mcpb` into the window**\n\nYou'll be prompted for your API Key, User Key, and trading mode. That's it.\n\n> [!TIP]\n> Get your keys at **eToro → Settings → Trading → Create New Key**. Choose your environment (Demo or Real) and the permissions you need (Read or Write).\n\n---\n\n### Via npm (Claude Code, Cursor, Continue, Cody, …)\n\nAdd this to your client's MCP config — it'll launch the server from the published npm package on demand, no local install needed:\n\n```json\n{\n  \"mcpServers\": {\n    \"etoro\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"etoro-mcp-server\"],\n      \"env\": {\n        \"ETORO_API_KEY\": \"your-api-key\",\n        \"ETORO_USER_KEY\": \"your-user-key\",\n        \"ETORO_TRADING_MODE\": \"demo\"\n      }\n    }\n  }\n}\n```\n\nFor Claude Code, the equivalent CLI command:\n\n```bash\nclaude mcp add etoro \\\n  -e ETORO_API_KEY=your-api-key \\\n  -e ETORO_USER_KEY=your-user-key \\\n  -e ETORO_TRADING_MODE=demo \\\n  -- npx -y etoro-mcp-server\n```\n\nPin a specific version with `etoro-mcp-server@1.1.0` in the args if you want stability over auto-updates.\n\n---\n\n### From source (developers)\n\nIf you want to hack on the server locally, clone the repo and build:\n\n```bash\nnpm install\nnpm run build\n```\n\nThen point your MCP client at the built file (`dist/index.js`):\n\n```bash\nclaude mcp add etoro-mcp \\\n  -e ETORO_API_KEY=your-api-key \\\n  -e ETORO_USER_KEY=your-user-key \\\n  -e ETORO_TRADING_MODE=demo \\\n  -- node /path/to/etoro-mcp/dist/index.js\n```\n\nOr in `claude_desktop_config.json` / equivalent:\n\n```json\n{\n  \"mcpServers\": {\n    \"etoro-mcp\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/etoro-mcp/dist/index.js\"],\n      \"env\": {\n        \"ETORO_API_KEY\": \"your-api-key\",\n        \"ETORO_USER_KEY\": \"your-user-key\",\n        \"ETORO_TRADING_MODE\": \"demo\"\n      }\n    }\n  }\n}\n```\n\n---\n\n## MCP Registry\n\nThis server is listed on the [MCP Registry](https://registry.modelcontextprotocol.io) under the name [`io.github.gabrielcerutti/etoro-mcp-server`](https://registry.modelcontextprotocol.io/v0/servers?search=etoro-mcp-server). The registry is the public index of MCP servers — think of it as a package registry for AI tools, analogous to what npm is for JavaScript libraries. MCP-compatible clients use it to discover and install servers programmatically without users having to hand-copy configuration.\n\nEach tagged release of this repository is auto-published to the registry by GitHub Actions (via OIDC), so the entry always tracks the latest npm version.\n\n---\n\n## Configuration\n\n| Setting | Env var | CLI arg | Default |\n| --- | --- | --- | --- |\n| API Key | `ETORO_API_KEY` | `--api-key` | (none) |\n| User Key | `ETORO_USER_KEY` | `--user-key` | (none) |\n| Trading Mode | `ETORO_TRADING_MODE` | `--trading-mode` | `demo` |\n\n**Trading mode:** `demo` routes all trading calls through eToro's virtual account. Set to `real` only when you're ready to trade with real money.\n\n> [!WARNING]\n> `trading_mode` must match the environment of your API key. A demo key used with `real` mode (or vice versa) will cause authentication errors.\n\n---\n\n## Tools (35 total)\n\nAll tools are prefixed with `etoro_` for namespace isolation when composed with other MCP servers.\n\n### Market Data (8)\n\n| Tool | Description |\n| --- | --- |\n| `etoro_search_instruments` | Search instruments by keyword (e.g. \"AAPL\", \"Bitcoin\") or exact ticker |\n| `etoro_get_instruments` | Get full instrument details by IDs (1–100) |\n| `etoro_get_instrument_types` | List all instrument types (stocks, crypto, ETFs…) |\n| `etoro_get_industries` | List industry classifications |\n| `etoro_get_exchanges` | List stock exchanges |\n| `etoro_get_candles` | Get OHLCV candle data for technical analysis and backtesting |\n| `etoro_get_closing_prices` | Get historical daily closing prices |\n| `etoro_get_rates` | Get live bid/ask rates |\n\n### Portfolio & Trading (7)\n\n| Tool | Description |\n| --- | --- |\n| `etoro_get_portfolio` | Get portfolio + P&L: positions, unrealized P&L, exposure summary, longest holding |\n| `etoro_get_orders` | List all pending orders (limit / entry) |\n| `etoro_get_trade_history` | Closed-trade history (entry/exit, P&L, duration). Primary source for performance research |\n| `etoro_open_position` | Open position by USD amount **or** units (unified tool) |\n| `etoro_close_position` | Close an open position fully, or partially via `unitsToDeduct` |\n| `etoro_place_limit_order` | Place a limit / entry order |\n| `etoro_cancel_order` | Cancel a pending order |\n\n### User & Discovery (7)\n\n| Tool | Description |\n| --- | --- |\n| `etoro_get_current_user` | Get the authenticated user's identity (GCID, real / demo CIDs) |\n| `etoro_get_user_profile` | Get a user's public profile |\n| `etoro_get_user_performance` | Get performance summary (optionally by time period) |\n| `etoro_get_user_trades` | Get a user's trade info for a period |\n| `etoro_get_user_portfolio` | Get a user's live public portfolio holdings |\n| `etoro_discover_users` | Discover popular investors filtered by gain, risk score, period |\n| `etoro_get_copiers` | Get info about users copying your portfolio |\n\n### Watchlists (9)\n\n| Tool | Description |\n| --- | --- |\n| `etoro_get_watchlists` | List your watchlists |\n| `etoro_create_watchlist` | Create a watchlist |\n| `etoro_delete_watchlist` | Delete a watchlist |\n| `etoro_rename_watchlist` | Rename a watchlist |\n| `etoro_add_watchlist_items` | Add instruments to a watchlist |\n| `etoro_remove_watchlist_item` | Remove an instrument from a watchlist |\n| `etoro_set_default_watchlist` | Set default watchlist |\n| `etoro_get_curated_lists` | Get eToro's curated lists |\n| `etoro_get_public_watchlists` | Browse a user's public watchlists |\n\n### Social Feeds (4)\n\n| Tool | Description |\n| --- | --- |\n| `etoro_get_instrument_feed` | Get social feed for an instrument |\n| `etoro_get_user_feed` | Get social feed for a user |\n| `etoro_create_post` | Create a social feed post |\n| `etoro_create_comment` | Comment on a post |\n\n---\n\n## Disclaimer\n\nThis project is an **unofficial**, community-built integration. It is not affiliated with, endorsed by, or supported by eToro. Use it at your own risk.\n\n- **Not financial advice.** Nothing in this server, its documentation, or its example outputs constitutes investment advice, a recommendation, or a solicitation to buy or sell any financial instrument.\n- **You are responsible for your trades.** The server can place real-money orders when configured in `real` mode. Verify every order before confirming, and understand that AI assistants can misinterpret intent.\n- **API changes may break things.** This server depends on eToro's public API, which can change without notice. Always pin a version in production.\n- **Demo first.** Start with `ETORO_TRADING_MODE=demo` and only switch to `real` after you're confident in your setup.\n\n---\n\n## Contributing\n\nContributions are welcome — bug reports, feature requests, and pull requests.\n\nThe [DeepWiki](https://deepwiki.com/gabrielcerutti/etoro-mcp-server) page gives an auto-generated overview of the codebase architecture — useful starting point before diving in.\n\n1. Fork the repo and create a branch from `main`\n2. Run `npm install && npm run build` to verify your changes compile\n3. Run `npm test` to make sure existing tests pass\n4. Open a PR with a clear description of what changed and why\n\n---\n\n## License\n\n[MIT](LICENSE) — use it, fork it, build on it.",
  "bytes": 22129,
  "sha": "856a1a18e5af6d098f421274c12e1d64ab0ce1127fd317f7d96e3d77f8667d6d",
  "repo_slug": "gabrielcerutti/etoro-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_gabrielcerutti_etoro_mcp_serve_73253ac1/readme"
}