Back to Search

eToro Portfolio

Integrates with eToro's API to fetch financial portfolios, instrument details, and search capabilities for investment analysis and portfolio tracking without CORS restrictions.

Last updated: 1/27/2026

README

# eToro MCP Server

This server provides MCP (Model Context Protocol) tools for interacting with eToro's public API endpoints. It allows you to:

1. Fetch a user's portfolio using their username
2. Look up instrument details by IDs
3. Search for instruments by name prefix (autocomplete)

## Getting Started

1. Install dependencies:
   ```
   npm install
   ```

2. Start the development server:
   ```
   npm run dev
   ```

3. Build for production:
   ```
   npm run build
   ```

4. Start the production server:
   ```
   npm start
   ```

## Available Tools

### fetch_etoro_portfolio

Fetches an eToro user's portfolio using their username. The tool automatically converts the username to a Customer ID (CID) internally.

**Parameters:**
- `username`: The eToro username
- `authToken` (optional): Authorization token for authenticated requests

### fetch_instrument_details

Fetches details for a list of eToro instruments.

**Parameters:**
- `instrumentIds`: List of instrument IDs to fetch details for
- `fields` (optional): Fields to include in the response (defaults to `displayname`, `threeMonthPriceChange`, `oneYearPriceChange`, `lastYearPriceChange`)

### search_instruments

Searches for eToro instruments by name prefix (autocomplete).

**Parameters:**
- `namePrefix`: The prefix to search for in instrument names
- `fields` (optional): Fields to include in the response (defaults to `internalInstrumentId`, `displayname`, `internalClosingPrice`)

## CORS Limitations

Note that some of the eToro API endpoints have CORS restrictions and should be called from a server-side environment. The tools in this server handle these requests on the server side to avoid CORS issues.

## Usage Example

The server exposes a REST API for accessing these tools, which can be called from any HTTP client:

```
GET /tools                          # List all available tools
GET /tools/:name/schema             # Get tool schema
POST /tools/:name/execute           # Execute a tool
```

Example of using the `fetch_etoro_portfolio` tool:

```bash
curl -X POST http://localhost:3000/tools/fetch_etoro_portfolio/execute \
  -H "Content-Type: application/json" \
  -d '{"username": "yoniasia"}'
``` 

Installation

Add this MCP to your configuration:

{
  "mcpServers": {
    "etoro-portfolio": {
      // See GitHub repository for configuration
    }
  }
}

See the GitHub repository for full installation instructions.