
Security News
GitHub to Block pull_request_target Workflows by Default Starting December 2
GitHub is tightening GitHub Actions security with new restrictions on privileged pull request workflows. Here's what changes and how maintainers are affected.
etoro-trading-mcp
Advanced tools
Local TypeScript MCP server for eToro's complete Swagger UI API with toolsets enabled only through explicit allowlists.
Local Model Context Protocol server for eToro's public Swagger UI API. Its main purpose is configuration for AI agents: you register it once in an MCP client and enable exactly the toolsets your agent needs. The command line exists only for local inspection (tools list, config validate), not for day-to-day use.
This MCP is scanning the eToro APIs for updates daily: an automated daily job downloads eToro's current OpenAPI documents, detects upstream changes, and opens a pull request with fully regenerated and verified tools—nothing is merged or published automatically.
Give this one instruction to your coding or desktop agent:
Install and configure this MCP server by following https://github.com/n-kostadinov/etoro-trading-mcp/blob/main/INSTALL.md
The agent-facing guide is also available as raw Markdown.
ETORO_ENABLED_TOOLSETS=market-data,trading-demo enables 28 tools (11 market-data tools and 17 current demo-trading tools) without touching real money.ETORO_ALLOW_REAL_MONEY=true.includeDeprecated opt-in.All toolsets are disabled by default. A typical, demo-safe MCP client entry:
{
"mcpServers": {
"etoro": {
"command": "npx",
"args": ["-y", "etoro-trading-mcp@1.4.0"],
"env": {
"ETORO_API_KEY": "<user-supplied-application-key>",
"ETORO_USER_KEY": "<user-supplied-user-key>",
"ETORO_ENABLED_TOOLSETS": "market-data,trading-demo",
"ETORO_ALLOW_REAL_MONEY": "false"
}
}
}
}
Credentials are environment-only. An API key pair and user key, or an OAuth bearer token, can be used—never both and never a portal password.
x-api-key and x-user-keyThe key pair comes from eToro's API Key Management page—open the annotated screenshot to see exactly which value is which:
x-api-key — the Public Key shown at the top of the page. It identifies your application and is supplied to this server as ETORO_API_KEY.x-user-key — one of the keys you create with Create Your API Key; it appears in the Generated Keys list, identifies your eToro user, and is supplied as ETORO_USER_KEY.Every authenticated request sends both headers together. Start with a Demo key with Read & Write permissions; see INSTALL.md for the full walkthrough.
| Purpose | Environment variable | JSON file property |
|---|---|---|
| Enable toolsets (every tool in each toolset) | ETORO_ENABLED_TOOLSETS=market-data,trading-demo | "enabledToolsets": ["market-data", "trading-demo"] |
| Enable individual tools | ETORO_ENABLED_TOOLS=getRates,getMe | "enabledTools": ["getRates", "getMe"] |
| Permit legacy tools | ETORO_INCLUDE_DEPRECATED=true | "includeDeprecated": true |
| Permit real-money mutations | ETORO_ALLOW_REAL_MONEY=true | "allowRealMoney": true |
Environment lists are comma-separated; JSON properties take arrays. Precedence is built-in defaults < JSON file (ETORO_CONFIG) < environment < CLI flags, with higher layers replacing (not merging) lists. The same example as an explicit JSON file (ETORO_CONFIG=/absolute/path/to/etoro-mcp.config.json):
{
"$schema": "https://raw.githubusercontent.com/n-kostadinov/etoro-trading-mcp/main/schemas/config.schema.json",
"enabledToolsets": ["market-data", "trading-demo"],
"includeDeprecated": false,
"allowRealMoney": false
}
See Configuration for every setting.
Two safety gates stay separate from selection: legacy tools additionally require includeDeprecated, and real-money mutations additionally require allowRealMoney. Real-money mutations live in four toolsets—trading-real, copy-trading, transfer, and sub-accounts-etoro-trading—so enabling those toolsets exposes live-funds operations only when the second gate is also set.
| Toolset | Current | Legacy | Toolset | Current | Legacy | |
|---|---|---|---|---|---|---|
agent-portfolios | 7 | 3 | price-alerts | 4 | 0 | |
app-data | 1 | 0 | rankings | 7 | 0 | |
balances | 6 | 0 | sso-applications | 5 | 0 | |
cash-accounts | 1 | 0 | sso-scopes | 1 | 0 | |
clubs | 1 | 0 | sub-accounts | 2 | 0 | |
copy-trading ⚠️ | 5 | 0 | sub-accounts-etoro-trading ⚠️ | 6 | 0 | |
copy-trading-demo | 5 | 0 | top-assets | 1 | 0 | |
data | 7 | 0 | trading-demo | 17 | 6 | |
identity | 1 | 0 | trading-real ⚠️ | 17 | 6 | |
market-data | 11 | 0 | transfer ⚠️ | 7 | 0 | |
notifications | 2 | 0 | user-stats | 4 | 0 | |
pi-data | 1 | 0 | users-info | 6 | 0 | |
portfolio-search | 1 | 0 | watchlists | 18 | 0 |
⚠️ marks toolsets containing real-money mutations (gated by allowRealMoney regardless of selection). "Current" tools are enabled with the toolset; "legacy" tools additionally need includeDeprecated. Every operation ID is listed in the tool reference; the toolset breakdown is in toolsets.
The CLI never contacts eToro for these commands and works without credentials:
npx -y etoro-trading-mcp@1.4.0 tools list --all # every operation and its state
npx -y etoro-trading-mcp@1.4.0 config validate # effective settings and warnings
This is an independent, unofficial project. It is not affiliated with, endorsed by, or sponsored by eToro. eToro names and trademarks belong to eToro. Nothing in this repository is investment advice. Demo trading uses virtual funds; real trading can lose real money and requires two explicit opt-ins.
Current release: 1.4.0, generated from eToro Swagger UI v1.408.0. Daily automation opens a review pull request when eToro's published API changes; it never automatically merges, tags, or publishes.
MIT licensed. See CONTRIBUTING.md, CHANGELOG.md, and SECURITY.md for development, release history, and reporting guidance.
FAQs
Local TypeScript MCP server for eToro's complete Swagger UI API with toolsets enabled only through explicit allowlists.
The npm package etoro-trading-mcp receives a total of 0 weekly downloads. As such, etoro-trading-mcp popularity was classified as not popular.
We found that etoro-trading-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
GitHub is tightening GitHub Actions security with new restrictions on privileged pull request workflows. Here's what changes and how maintainers are affected.

Security News
/Application Security
A practical guide to securing GitHub Actions against supply chain attacks, covering malicious pull requests, credential theft, dependency risks, and release pipelines.

Security News
Composer 2.11 adds dependency cooldowns, joining package managers that delay new releases to reduce supply chain risks while allowing urgent security updates.