Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Oanda

FreeNot checked

Enables read-only access to OANDA v20 forex trading data, including price quotes, candlestick history, account summaries, positions, and transactions, via Claud

GitHubEmbed

About

Enables read-only access to OANDA v20 forex trading data, including price quotes, candlestick history, account summaries, positions, and transactions, via Claude.

README

OANDA v20 REST API の 参照系(read-only) 機能を Claude から使えるようにする MCP サーバーです。 発注・決済などの取引系ツールは含まれていません(安全のため、まず参照系のみ)。

提供ツール

ツール 内容
get_price 現在のBid/Askレート取得(複数通貨ペア可)
get_candles ローソク足(履歴)取得。S5〜月足、最大5000本
get_account_summary 口座サマリー(残高・評価損益・証拠金など)
get_open_positions 保有ポジション一覧
get_pending_orders 未約定注文一覧
get_open_trades オープントレード一覧
get_recent_transactions 直近の取引履歴(トランザクション)
list_instruments 取引可能な銘柄一覧

通貨ペアは OANDA 形式(USD_JPY, EUR_USD など)で指定します。

1. OANDA側の準備(デモ口座)

  1. OANDA fxTrade Practice(デモ口座) を開設
  2. ログイン後、Manage API Access(My Account → Manage API Access)で パーソナルアクセストークンを生成
  3. アカウントID(101-001-1234567-001 のような形式)を控える

2. インストール

Python 3.10 以上が必要です。

cd D:\oanda-mcp
pip install -e .

3. 認証情報の設定(.env)

.env ファイルはプロジェクトの外、ホームディレクトリ配下の %USERPROFILE%\.oanda\.env に置きます(サーバー起動時に自動で読み込まれます。 環境変数の設定は不要です):

New-Item -ItemType Directory -Force $env:USERPROFILE\.oanda | Out-Null
copy .env.example $env:USERPROFILE\.oanda\.env
notepad $env:USERPROFILE\.oanda\.env

エディタが開いたら自分の値に書き換えます:

OANDA_API_TOKEN=あなたのトークン
OANDA_ACCOUNT_ID=101-001-1234567-001
OANDA_ENV=practice

プロジェクト直下に .env を置かない理由: このフォルダーで Claude Code などの コーディングエージェントを使うと、ワークスペース内のファイルとして認証情報が 読める状態になるためです(Webull 公式 MCP サーバーのセキュリティ指針に倣った 配置です)。.gitignore では引き続き .env を除外していますが、これは誤って プロジェクト内に置いてしまった場合の保険です。

.env の検索順は「OANDA_DOTENV で明示指定したパス → カレントディレクトリと その親 → プロジェクトルート → %USERPROFILE%\.oanda\.env」です。同名の 環境変数が既に設定されている場合はそちらが優先されます。

4. 動作確認(MCP Inspector)

npx @modelcontextprotocol/inspector oanda-mcp

(.env%USERPROFILE%\.oanda\.env から自動で読み込まれるため、 どのディレクトリから起動しても構いません)

ブラウザで Inspector が開いたら:

  1. Arguments欄は空のままConnect をクリック(左下が緑の「Connected」になる)
  2. 上部の Tools タブ → List Tools で8ツールが表示される
  3. get_price を選び、instrumentsUSD_JPY を入力して Run Tool
  4. 現在のbid/askがJSONで返れば成功

5. Claude Desktop への登録

設定ファイルの場所:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

command には oanda-mcp 実行ファイルのフルパスを指定してください。 Claude Desktop はターミナルと同じ PATH を引き継がないため、コマンド名だけでは 起動に失敗することがあります。フルパスは PowerShell で確認できます:

(Get-Command oanda-mcp).Source
# 例: C:\Users\<ユーザー名>\AppData\Local\Programs\Python\Python311\Scripts\oanda-mcp.exe

確認したパスを使って設定します(JSON内の \\\ にエスケープ):

{
  "mcpServers": {
    "oanda": {
      "command": "C:\\Users\\<ユーザー名>\\AppData\\Local\\Programs\\Python\\Python311\\Scripts\\oanda-mcp.exe"
    }
  }
}

.env%USERPROFILE%\.oanda\.env から自動で読み込まれるため、env ブロックは 不要です。別の場所に置いた場合のみ、env ブロックで OANDA_DOTENV にそのパスを 指定してください。

保存後、Claude Desktop を完全に再起動(タスクトレイのアイコンからも終了)すると 「oanda」サーバーが認識されます。「ドル円の今のレートは?」のように話しかければ ツールが呼ばれます。

6. Claude Code への登録(任意)

claude mcp add oanda -- oanda-mcp

Claude Code はターミナルから起動するため、こちらはコマンド名のままで動きます (動かない場合はフルパスを指定してください)。

どのプロジェクトからでも使う(user スコープ + フルパス)

上のコマンドはデフォルトの local スコープ(実行したプロジェクト限定)で 登録されます。どのプロジェクトからでも使いたい場合は --scope user を 付けます。また、デスクトップアプリ版など PATH を引き継がない環境でも 確実に起動するよう、command には実行ファイルのフルパスを指定するのが 安全です:

# フルパスを確認
(Get-Command oanda-mcp).Source
# 例: C:\Users\<ユーザー名>\...\Python313\Scripts\oanda-mcp.exe

# user スコープでフルパス登録
claude mcp add --scope user oanda -- "<上で確認したフルパス>"

登録後は接続状態を確認できます:

claude mcp list
# oanda: ...\oanda-mcp.exe - √ Connected と表示されれば成功

設定は %USERPROFILE%\.claude.json に保存されます。なお、Microsoft Store 版 Python を使っている場合、Python のバージョンアップで Scripts フォルダーの パスが変わるため、その際は claude mcp add を再実行してください。 起動中の Claude Code セッションには途中から追加したサーバーは反映されません。 新しいセッションを開くとツールが使えるようになります。

7. 環境変数リファレンス

通常は %USERPROFILE%\.oanda\.env に書くだけで足ります。

変数 必須 説明
OANDA_API_TOKEN パーソナルアクセストークン
OANDA_ACCOUNT_ID 口座ID
OANDA_ENV - practice(デフォルト)/ live
OANDA_DOTENV - 読み込む .env ファイルのパスを明示指定

テスト

2層構成です(公式 Alpaca MCP サーバーのテスト戦略に倣ったもの):

python tests\test_server.py        # ユニット: モックのみ、認証情報・ネットワーク不要
python tests\test_integration.py   # 統合: practice口座の実APIに read-only GET で接続

統合テストは .env に実際の認証情報がないとき、および OANDA_ENV=live の ときは自動的にスキップされます(安全のため live 口座では実行されません)。

なお、API リクエストには User-Agent: oanda-mcp/<version> が付与されます。

注意事項

  • トークンは口座への広い権限を持ちます。.env はプロジェクトの外 (%USERPROFILE%\.oanda\.env)に置き、リポジトリにコミットしたり チャットに貼り付けたりしないでください。
  • OANDA_ENV=live にすると本番口座のデータを参照します(このサーバーは 参照のみなので発注はできませんが、口座情報は実データになります)。
  • OANDA証券(日本)の口座でAPIを使う場合は、口座コースごとのAPI利用条件を 事前に確認してください。

今後の拡張(取引系を足す場合)

client.py に POST/PUT 系メソッド(/orders, /trades/{id}/close など)を 追加し、server.py にツールを足すだけで拡張できます。その際は 最大ロット数の上限チェックや、OANDA_ENV=live 時は発注を拒否する ガードを入れることを強く推奨します。

from github.com/aobathree/oanda-mcp

Install Oanda in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install oanda-mcp

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add oanda-mcp -- uvx --from git+https://github.com/aobathree/oanda-mcp oanda-mcp

FAQ

Is Oanda MCP free?

Yes, Oanda MCP is free — one-click install via Unyly at no cost.

Does Oanda need an API key?

No, Oanda runs without API keys or environment variables.

Is Oanda hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Oanda in Claude Desktop, Claude Code or Cursor?

Open Oanda on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Oanda with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs