eToro MCP Server

eToro MCP Server

A security-hardened MCP server that wraps the eToro public API, enabling AI assistants to trade, access market data, manage portfolios, and interact with social feeds via 34 tools.

Category
访问服务器

README

eToro MCP Server (Security-Hardened Fork)

Originally created by orkblutt — full credit to the original author. This is a security-hardened fork. See SECURITY.md for all changes made. Original repo: https://github.com/orkblutt/etoro-mcp


MCP server that wraps the eToro public API, exposing 34 tools for AI assistants (Claude Desktop, Cursor, Claude Code, etc.).

Security Improvements Over Original

This fork fixes 9 security issues found in the original:

  • 🔴 API key headers were swapped (x-api-keyx-user-key)
  • 🔴 Usernames injected into URLs without encodeURIComponent
  • 🟠 Missing credentials only warned — now hard-fails at startup
  • 🟠 No rate limiting — token-bucket limiter added for trading & readonly ops
  • 🟠 No content limits on social posting — now capped at 1000/500 chars
  • 🟡 Raw eToro API error bodies leaked to LLM — now sanitized
  • 🟡 get_closing_prices fetched all instruments — now requires explicit IDs
  • 🟡 No live-mode warnings on trading tools — now logs prominently
  • 🟡 Missing Zod input validation (min/max/int/positive) across all tools

Full details in SECURITY.md.


What Can You Do With It?

Below are real conversations with an AI assistant connected to the eToro MCP server.

Place a limit order

You: Place a buy limit order for 5 SOL if it reaches $75

Assistant: Current SOL price is $78.21. I've placed a buy limit order for 5 SOL at $75 ($375 total) with a stop loss at $1. Order confirmed.

DCA ladder based on technical analysis

You: Can you place some DCA buy limit orders for ETH based on key support levels?

Assistant: Based on the chart, here are the key support levels for ETH:

  • $1,750 — first support zone
  • $1,500 — strong horizontal support
  • $1,200 — macro support
  • $1,000 — psychological floor

I've placed 4 limit orders across those levels.

Portfolio analysis

You: What's my average entry price on SOL including all my positions?

Assistant: You have 27 SOL positions totaling 124.62 SOL with an average entry of $120.99.

Market research

You: What do you think about SUI?

Assistant: SUI is trading at $0.905, down 75% from its October high of $3.70. Your 4 positions total 3,434 SUI at an average of $1.18 — currently -23%.


Setup

1. Build

npm install
npm run build

2. Configure credentials

You need an eToro API key and user key.

Option A: Environment variables (recommended)

export ETORO_API_KEY=your-api-key
export ETORO_USER_KEY=your-user-key
export ETORO_TRADING_MODE=demo   # use "real" for live trading
node dist/index.js

Option B: Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "etoro-mcp": {
      "command": "node",
      "args": ["/path/to/etoro-mcp/dist/index.js"],
      "env": {
        "ETORO_API_KEY": "your-api-key",
        "ETORO_USER_KEY": "your-user-key",
        "ETORO_TRADING_MODE": "demo"
      }
    }
  }
}

Option C: CLI arguments

node dist/index.js --api-key your-api-key --user-key your-user-key --trading-mode demo

⚠️ Note: The server will refuse to start if ETORO_API_KEY or ETORO_USER_KEY are missing.

3. Restart the MCP server

After changing config, restart the server or the Claude Desktop app.


Configuration

Setting Env var CLI arg Default
API Key ETORO_API_KEY --api-key (required)
User Key ETORO_USER_KEY --user-key (required)
Trading Mode ETORO_TRADING_MODE --trading-mode demo

Trading mode: demo routes trading calls through eToro's demo/virtual account. Set to real for live trading. A prominent warning is logged when live mode is active.


Rate Limiting

This fork adds a token-bucket rate limiter to protect your account from unintended burst activity in agentic loops:

Bucket Tools Burst Refill
trading Order placement, social posting, watchlist writes 5 requests 1 req/sec
readonly Market data, portfolio reads, user lookups 20 requests 5 req/sec

Tools (34 total)

Market Data (8)

Tool Description
search_instruments Search instruments by keyword
get_instruments Get instrument details by IDs (max 100)
get_instrument_types List all instrument types
get_industries List industry classifications
get_exchanges List stock exchanges
get_candles Get OHLCV candle data
get_closing_prices Get closing prices for specified instruments
get_rates Get live bid/ask rates

Trading (7)

Tool Description
open_position_by_amount Open position by USD amount
open_position_by_units Open position by unit count
close_position Close an open position
place_limit_order Place a limit/entry order
cancel_order Cancel a pending order
get_orders List all pending orders
get_portfolio Get all open positions

Social Feeds (4)

Tool Description
get_instrument_feed Get social feed for an instrument
get_user_feed Get social feed for a user
create_post Create a post (max 1000 chars)
create_comment Comment on a post (max 500 chars)

Watchlists (9)

Tool Description
get_watchlists List your watchlists
create_watchlist Create a watchlist
delete_watchlist Delete a watchlist
rename_watchlist Rename a watchlist
add_watchlist_items Add instruments to a watchlist (max 50)
remove_watchlist_item Remove an instrument from a watchlist
set_default_watchlist Set default watchlist
get_curated_lists Get eToro's curated lists
get_public_watchlists Browse public watchlists

User & Discovery (6)

Tool Description
get_user_profile Get a user's public profile
get_user_performance Get performance summary
get_user_performance_granular Get detailed performance over a period
get_user_trades Get trade history
get_user_portfolio Get public portfolio holdings
discover_users Discover popular investors

Credits

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选