list_symbolsRead-onlyFreeThe chart symbols and candle timeframes this API serves, and which timeframes your plan opens.
No parameters.
Connect Claude and other AI tools to gold and market candles, quotes, the economic calendar, the published track record and the AI desk signals. Ask for a key below. Every request is reviewed by the owner.
One endpoint, 10 tools. Your AI tool calls them in the middle of a conversation to read prices, candles, the calendar and the desk's own record. Nothing here places a trade or changes an account.
POST /api/mcpMCP over HTTPS (encrypted), one JSON reply per request.
10 read-only9 on every plan, 1 from Pro. Live levels and fast timeframes on paid plans.
100–300 requests an hourSet by your plan at the moment of each request.
Every request carries your key in the Authorization header:
Authorization: Bearer YOUR_KEYhttps:// address: a plain http:// request is redirected, but a key sent that way has already crossed the network unencrypted, so replace it.Endpoint (HTTPS, POST only): https://zakurafx.com/api/mcp
The word http in the commands below is the name of the MCP transport, not the address: the connection is always encrypted HTTPS.
claude mcp add --transport http zakurafx https://zakurafx.com/api/mcp \
--header "Authorization: Bearer YOUR_KEY"{
"mcpServers": {
"zakurafx": {
"type": "http",
"url": "https://zakurafx.com/api/mcp",
"headers": { "Authorization": "Bearer YOUR_KEY" }
}
}
}Claude Desktop's config file (claude_desktop_config.json) starts local programs only, so connect through the mcp-remote bridge. It needs Node.js installed.
{
"mcpServers": {
"zakurafx": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://zakurafx.com/api/mcp", "--header", "Authorization:${AUTH_HEADER}"],
"env": { "AUTH_HEADER": "Bearer YOUR_KEY" }
}
}
}Connecting from the claude.ai website (sign in instead of a key) is not available yet. Use Claude Code, Claude Desktop or Cursor with a key.
List the tools (a tool your plan does not open says which plan does):
curl -X POST https://zakurafx.com/api/mcp \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Call a tool:
curl -X POST https://zakurafx.com/api/mcp \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_candles","arguments":{"symbol":"XAUUSD","interval":"1h","limit":3}}}'Each tool answers with the data twice: as JSON text in content for any client, and as an object in structuredContent:
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"content": [{ "type": "text", "text": "{\"symbol\":\"XAUUSD\",\"interval\":\"1h\",\"bars\":[…]}" }],
"structuredContent": {
"symbol": "XAUUSD", "interval": "1h", "live": true, "fetchedAt": "…",
"bars": [{ "t": "…", "o": …, "h": …, "l": …, "c": … }, …]
}
}
}Every tool is read-only: it reads data and never trades, writes or pays. A tool marked Pro+ answers a Free key with a short note saying which plan opens it.
list_symbolsRead-onlyFreeThe chart symbols and candle timeframes this API serves, and which timeframes your plan opens.
No parameters.
get_candlesRead-onlyFreeOHLC candles for a symbol and timeframe, oldest first. Free: 15min and slower, up to 200 bars. Pro/Premium: every timeframe incl. 1min/5min, up to 1000/2000 bars. The source holds fewer on slower timeframes (about 400 on 1h, 4h and 1day, closed-market hours removed), so a large limit returns what there is.
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | Yes | Chart symbol, e.g. XAUUSD. See list_symbols. |
interval | string | Yes | Timeframe. One of: 1min · 5min · 15min · 30min · 1h · 4h · 1day. |
limit | integer | No | Number of most recent bars (default 100). 1–2000. |
get_quotesRead-onlyFreeLatest price for every symbol on the watchlist (gold, crypto, FX, indices, oil, silver).
No parameters.
get_news_calendarRead-onlyFreeEconomic calendar: high-impact events from the last 8 hours to the next N hours (set allImpacts for every event).
| Parameter | Type | Required | Description |
|---|---|---|---|
currencies | string[] | No | Currency codes (default USD). Up to 12. |
hours | integer | No | How far ahead to list events (default 24). 1–168. |
allImpacts | boolean | No | Include low and medium impact events too (default false). |
get_headlinesRead-onlyFreeLatest market news headlines with source and time.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | No | How many (default 20). 1–50. |
get_track_recordRead-onlyFreeThe desk's published track record: win rate (TP1 vs SL), net R, average R, profit factor and sample size.
| Parameter | Type | Required | Description |
|---|---|---|---|
period | string | No | Period (default all). One of: all · 90d · 30d. |
get_desk_signalsRead-onlyFreeSetups the AI desk sent in the last 7 days, newest first (max 20). Closed setups carry levels and outcome. Entry/SL/TP of a setup that is still running are shown on Pro and Premium only.
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | string | No | A chart symbol, or "all" (default). |
get_desk_statusRead-onlyFreeWhether the AI desk is running, its last post and today's scan count.
No parameters.
get_market_pulseRead-onlyFreeThe latest written bias per market (board) or for gold, with key level and age.
| Parameter | Type | Required | Description |
|---|---|---|---|
scope | string | No | Default board. One of: board · gold. |
get_gold_scanRead-onlyPro+The gold scan board with every reading: verdict and confidence per timeframe (M5-H1), H4/D1 context and consensus.
No parameters.
| Plan | Requests an hour | Candle timeframes | Max bars | Running setup levels | Gold scan |
|---|---|---|---|---|---|
| Free | 100 | 15min, 30min, 1h, 4h, 1day | 200 | Hidden | — |
| Pro | 200 | 1min, 5min, 15min, 30min, 1h, 4h, 1day | 1000 | Shown | Yes |
| Premium | 300 | 1min, 5min, 15min, 30min, 1h, 4h, 1day | 2000 | Shown | Yes |
Bar caps are ceilings: the source holds fewer on slower timeframes (about 400 on 1h and above), so a large limit returns what there is. Every request counts toward the hourly limit, including the few your AI tool sends when it connects. Past the limit the server answers 429 with a Retry-After header. All keys together also share one site-wide limit of 600 requests an hour. Each plan has 100 of them reserved, so one plan's keys cannot use up the hour for the others; once a plan's reserve and the shared remainder are used, its keys get 429 until the hour resets.
| HTTP | JSON-RPC | Meaning |
|---|---|---|
401 | -32600 | No key, or the key is wrong or revoked. Send it as "Authorization: Bearer <key>". |
429 | -32600 | Your plan's hourly limit is used up, the shared site-wide limit is reached, or too many requests came from one address. Wait for the Retry-After seconds. |
413 | -32600 | The request body is over 32 KB. |
400 | -32700 · -32600 | The body is not JSON, is not a JSON-RPC request, or is a batch (send one message per request). |
503 | -32603 | The service is briefly unavailable or paused. Retry after the Retry-After seconds. |
500 | -32603 | Unexpected server error. Retry; if it repeats, tell the owner. |
200 | -32601 | Unknown method. |
200 | -32602 | Unknown tool, or arguments that are not an object. |
200 | isError: true | The tool ran but could not answer: it needs a higher plan, an argument is out of range, or the market data is unavailable. The text says which. |
202 | — | A notification was accepted (no reply body). |
405 | — | GET or DELETE on /api/mcp. This server answers POST only, with one JSON reply (no event stream). |
308 | — | A plain http:// address. The request is redirected to https://; replace any key sent this way. |
Loading your access…
Trading foreign exchange and CFDs on margin carries a high level of risk and may not be suitable for all investors. Past performance of any signal or analysis is not indicative of future results. You could lose some or all of your initial investment.