etoro-mcp
etoro-mcp
読み取り専用のリモート MCP サーバーで、eToro のポートフォリオデータ(ポジション、損益(P&L)、残高、ウォッチリスト、決済済み取引履歴)をツールとして公開し、Claude(claude.ai チャット、エディタだけではない)のカスタムコネクタとして登録できるようにします。Cloudflare Workers 上で Streamable HTTP を介して動作します。
これは個人用のシングルユーザーツールです。取引の発注、変更、クローズは一切行いません。eToro の API に対して GET リクエストのみを送信します。
前提条件
Node.js(最新の LTS)
Cloudflare アカウント(
wrangler devと最終的なデプロイ用)eToro API の認証情報(
x-api-key/x-user-key)— api-portal.etoro.com から取得
依存関係をインストール:
npm installWrangler について
このプロジェクトは Cloudflare Workers にデプロイします。Wrangler は Workers のビルド・テスト・デプロイを行う Cloudflare 公式 CLI です。Wrangler はすでに devDependency として登録されているため、npm install でインストールされ、別途インストールは不要です。npx wrangler ... または下記の npm run dev スクリプトから利用します。関連コマンドは次のとおりです:
wrangler dev— Workers ランタイムをシミュレートしてサーバーをローカルで実行します(このコマンドはnpm run devが呼び出します)。wrangler deploy— コードを Cloudflare のエッジに公開し、実際の公開 URL を割り当てます。wrangler secret put <NAME>— シークレット(例:eToro API キーやコネクタのベアラートークン)を、リポジトリにコミットすることなく、デプロイされた Worker に安全にアップロードします。wrangler.toml— このリポジトリの Workers 設定(build/name/routes)。
wrangler deploy または wrangler secret put を実行する前に、一度ログインしてください:
wrangler loginRelated MCP server: eToro Portfolio Connector
ローカル開発(wrangler dev)
サンプルの環境変数ファイルをコピーし、実際の値を設定します:
cp .dev.vars.example .dev.vars.dev.varsに以下を設定します:ETORO_API_KEY/ETORO_USER_KEY— eToro API の認証情報。CONNECTOR_AUTH_TOKEN— このコネクタ自身の/mcpエンドポイントを保護するためのベアラートークン(上記の eToro 認証情報とは無関係)。次のコマンドで生成します:openssl rand -hex 32
.dev.varsは gitignore 対象です。絶対にコミットしないでください。ローカルの Workers 開発サーバーを起動します:
npm run dev/mcpへのすべてのリクエストにベアラートークンを含める必要があります:Authorization: Bearer <CONNECTOR_AUTH_TOKEN from .dev.vars>ヘッダーがない、またはトークンが間違っているリクエストには
401が返ります。CONNECTOR_AUTH_TOKENがまったく設定されていない場合、サーバーはフェイルクローズ(fail closed)として動作し、未認証アクセスを許可する代わりにすべてのリクエストを拒否します。
テストの実行
npm test # unit tests (node:test)
npm run typecheckClaude コネクタとしてのデプロイと登録
デプロイとコネクタ登録は手動手順で、オペレーターが実施します(このリポジトリの自動処理では実行されません)。
デプロイした Worker にシークレットを設定します(リポジトリには決してコミットしない):
wrangler secret put ETORO_API_KEY wrangler secret put ETORO_USER_KEY wrangler secret put CONNECTOR_AUTH_TOKENデプロイ:
wrangler deployこの Worker が公開され、その
*.workers.devURL(または設定済みのカスタムルート)が表示されます。Claude でカスタムコネクタとして登録:
claude.ai で、Settings → Connectors → Add custom connector と操作します。
デプロイした Worker の
/mcpURL を入力します。コネクタの認証手順を完了し、上記の
wrangler secret putで設定したCONNECTOR_AUTH_TOKENと同じ値を指定します。
エンドツーエンドの確認: 通常のチャットで Claude に実際のポートフォリオの質問をします(例:「今の eToro ポートフォリオの損益(P&L)は?」)。正しいツールを呼び出し、実データを返すことを確認します。
Related MCP Connectors
Read-only access to your own crypto portfolio across 11+ exchanges and 20+ chains: holdings, full history, FIFO cost basis and P&L, fees and income. Ask Claude or ChatGPT about your portfolio; the connector can never trade, move funds or act as a login.
Read-only portfolio analytics for Pulse Pro users in Egypt; hosted ChatGPT and Claude OAuth.
Connect brokerage accounts to AI assistants: holdings, orders, asset lookup, and approved trading.
Read-only crypto and traditional portfolio: holdings, PNL, FIFO tax figures and market data.
Related MCP Servers
- FlicenseAqualityDmaintenanceA 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.6-
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server that connects Claude to your eToro account, enabling queries about your portfolio, P\&L, balances, watchlists, live prices, and price history.MIT
- FlicenseNot gradedqualityDmaintenanceExposes Alpaca paper trading tools (get positions and account) via SSE transport, designed for Claude Desktop and n8n.-
- AlicenseAqualityCmaintenanceMCP server for the Trading 212 public API, enabling account, portfolio, order, pie, and history access with read tools always available and trading tools opt-in.131MIT