oanda-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OANDA_ENV | No | OANDA environment: 'practice' (default) or 'live' | practice |
| OANDA_DOTENV | No | Path to a .env file to load (optional) | |
| OANDA_API_TOKEN | Yes | Your OANDA personal access token | |
| OANDA_ACCOUNT_ID | Yes | Your OANDA account ID (e.g., 101-001-1234567-001) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_priceA | Get current bid/ask prices for one or more instruments. Args: instruments: Comma-separated OANDA instrument names, e.g. "USD_JPY" or "USD_JPY,EUR_USD,GBP_JPY". |
| get_candlesA | Get historical candlestick data for an instrument. Args: instrument: OANDA instrument name, e.g. "USD_JPY". granularity: Candle size: S5,S10,S15,S30,M1,M2,M4,M5,M10,M15,M30, H1,H2,H3,H4,H6,H8,H12,D,W,M. Default "H1". count: Number of candles (max 5000). Ignored when both from_time and to_time are given. Default 100. price: "M" (mid), "B" (bid), "A" (ask), or combinations like "MBA". from_time: RFC3339 start time, e.g. "2026-07-01T00:00:00Z" (optional). to_time: RFC3339 end time (optional). |
| get_account_summaryA | Get the account summary: balance, unrealized P/L, margin usage, open trade/position counts, currency, and NAV. |
| get_open_positionsA | List all currently open positions with units, average price, and unrealized P/L per instrument. |
| get_pending_ordersA | List all pending (not yet filled) orders on the account. |
| get_open_tradesA | List all open trades with entry price, units, and unrealized P/L. |
| get_recent_transactionsA | Get the most recent account transactions (fills, orders, funding...). Args: count: How many recent transactions to return (default 50). type_filter: Optional comma-separated transaction type filter, e.g. "ORDER_FILL" or "MARKET_ORDER,ORDER_FILL". |
| list_instrumentsA | List tradeable instruments available to the account. Args: names: Optional comma-separated filter, e.g. "USD_JPY,EUR_USD". Omit to list everything. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool targets a distinct aspect of OANDA account data: account summary, historical candles, open positions, open trades, pending orders, current prices, recent transactions, and instrument list. No two tools have overlapping purposes.
All tool names follow a consistent 'verb_noun' pattern with 'get_' or 'list_' as the verb. The naming is uniform and predictable, making it easy for agents to understand the action and resource.
8 tools is an appropriate count for a trading data server. It covers the essential read operations without being overwhelming or too sparse.
The tool set is entirely read-only, missing all write operations such as creating orders, modifying orders, canceling orders, or closing trades. For a trading server, this is a significant gap that limits agent capabilities to data retrieval only.