Skip to content

Commit f1aa4e5

Browse files
Merge pull request #410 from cursor/minu/plugin-etoro
feat(third_party): add eToro Trading plugin
2 parents eeac643 + bcf813a commit f1aa4e5

8 files changed

Lines changed: 145 additions & 0 deletions

File tree

‎.cursor-plugin/marketplace.json‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,6 +437,11 @@
437437
"name": "coinbase",
438438
"source": "third_party/coinbase",
439439
"description": "Check balances, get quotes, and preview or place trades."
440+
},
441+
{
442+
"name": "etoro-trading",
443+
"source": "third_party/etoro-trading",
444+
"description": "View your eToro portfolio, balances, positions, and watchlists, research instruments and traders, and prepare and place trades."
440445
}
441446
]
442447
}

‎README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc
8888
| `statsig` | [Statsig](third_party/statsig/) | Cursor | Integrations | Inspect and manage feature gates, experiments, dynamic configs, and metrics. |
8989
| `robinhood` | [Robinhood](third_party/robinhood/) | Cursor | Integrations | View portfolios, positions, orders, watchlists, and market data, and trade in a Robinhood Agentic account. |
9090
| `coinbase` | [Coinbase](third_party/coinbase/) | Cursor | Integrations | Check balances, get quotes, and preview or place trades. |
91+
| `etoro-trading` | [eToro Trading](third_party/etoro-trading/) | Cursor | Integrations | View your eToro portfolio, balances, positions, and watchlists, research instruments and traders, and prepare and place trades. |
9192
Author values match each plugin’s `plugin.json` `author.name` (Cursor lists `plugins@cursor.com` in the manifest).
9293

9394
## Repository structure
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{
2+
"name": "etoro-trading",
3+
"displayName": "eToro Trading",
4+
"version": "1.0.0",
5+
"minClientVersions": {
6+
"cursor": "3.13.0"
7+
},
8+
"description": "View your eToro portfolio, balances, positions, and watchlists, research instruments and traders, and prepare and place trades.",
9+
"author": {
10+
"name": "Cursor",
11+
"email": "plugins@cursor.com"
12+
},
13+
"homepage": "https://api-portal.etoro.com/core/vibe-code/cursor",
14+
"repository": "https://github.com/cursor/plugins",
15+
"license": "MIT",
16+
"logo": "assets/logo.png",
17+
"keywords": [
18+
"etoro",
19+
"brokerage",
20+
"trading",
21+
"portfolio",
22+
"stocks",
23+
"crypto",
24+
"copy trading",
25+
"market data",
26+
"watchlists",
27+
"mcp"
28+
],
29+
"category": "integrations",
30+
"tags": [
31+
"etoro",
32+
"finance",
33+
"trading",
34+
"mcp"
35+
],
36+
"mcpServers": "./mcp.json"
37+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Changelog
2+
3+
All notable changes to this plugin will be documented here.
4+
5+
## 1.0.0 — initial release
6+
7+
- Added the `etoro-trading` MCP server pointing at eToro's hosted Streamable HTTP endpoint for the Public API (`https://mcp.public-api.etoro.com`).
8+
- Auth uses OAuth with eToro user login (PKCE, dynamic client registration) — no API key or client ID to configure.
9+
- Logo: eToro's official bull mark, from the logo eToro publishes for its Cursor marketplace listing, on a 192×192 tile.

‎third_party/etoro-trading/LICENSE‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Cursor
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# eToro Trading
2+
3+
Cursor plugin that connects agents to [eToro](https://api-portal.etoro.com/core/vibe-code/cursor) through eToro's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server for the eToro Public API.
4+
5+
View your eToro portfolio, balances, positions, and watchlists, research instruments and traders, and prepare and place trades.
6+
7+
This plugin is for operating an eToro account from chat. For writing code against the eToro Public API, install eToro's own [`etoro`](https://cursor.com/marketplace/etoro) plugin instead, which ships API-building rules, skills, and a documentation search server.
8+
9+
## Install
10+
11+
1. Open **Cursor Settings → Plugins**.
12+
2. Search for **eToro Trading**.
13+
3. Click **Install**, then complete the eToro sign-in prompt.
14+
15+
Or run `/add-plugin etoro-trading` in chat.
16+
17+
## MCP
18+
19+
```json
20+
{
21+
"mcpServers": {
22+
"etoro-trading": {
23+
"type": "http",
24+
"url": "https://mcp.public-api.etoro.com"
25+
}
26+
}
27+
}
28+
```
29+
30+
Auth is OAuth. Cursor prompts for eToro sign-in when the plugin connects — there is no client ID or API key to configure. Each user signs in with their own eToro account and consents to the scopes the connection may use; the `get-my-profile-and-scopes` tool shows which account is connected and which scopes were granted.
31+
32+
## Before you connect
33+
34+
You need an eToro account. The server operates on both **Demo** (virtual money) and **Real** accounts, and the same tools work against either, so confirm which account type a request targets before letting the agent place a trade.
35+
36+
## What agents can do
37+
38+
| Category | Capabilities |
39+
| --- | --- |
40+
| Portfolio | Full portfolio summary with totals and per-instrument P&L, balances across every account type (Trading, Cash, Crypto, Options, and others), current positions and pending orders including copy-trading mirrors, and closed-trade history |
41+
| Trading | `prepare-trade` validates an order against live eligibility, quotes, costs, and available balance and returns a confirmation block; `place-trade` submits exactly that order and waits for the outcome. `prepare-close` / `place-close` do the same for closing a position |
42+
| Research | Batch overview of up to 100 instruments (price, spread, performance, tradability), public profiles and performance of up to 100 traders for copy-trading research, and the user's watchlists |
43+
| API access | Browse the Public API route catalog by tag or keyword, read any route's OpenAPI spec, and run read or write requests against any route |
44+
45+
The hosted runtime is the source of truth for tool names and schemas.
46+
47+
## Notes
48+
49+
- **You are responsible for every trade the agent places.** The server gates trades behind a short-lived confirmation token issued by `prepare-trade` / `prepare-close`, and its tool descriptions instruct the agent to show you the confirmation block and get explicit approval before each `place-*` or `execute-write` call. If you instruct the agent to act without asking, it can still place orders.
50+
- Orders placed on a Real account are live. eToro recommends starting on a Demo account.
51+
- `execute-write` can reach any state-changing route in the Public API, including transfers and social posts, not only trades.
52+
53+
## Docs
54+
55+
- Cursor integration guide: https://api-portal.etoro.com/core/vibe-code/cursor
56+
- Agent skill and server overview: https://api-portal.etoro.com/core/ai-agents/etoro-skill
57+
- API reference: https://api-portal.etoro.com/
58+
- Server URL: https://mcp.public-api.etoro.com
59+
60+
Logo is eToro's official mark.
61+
62+
## License
63+
64+
MIT
12.5 KB
Loading

‎third_party/etoro-trading/mcp.json‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"mcpServers": {
3+
"etoro-trading": {
4+
"type": "http",
5+
"url": "https://mcp.public-api.etoro.com"
6+
}
7+
}
8+
}

0 commit comments

Comments
 (0)