FXMacroData
Registry code: 57cab4c1363b9303
FXMacroData provides official-source FX, macroeconomic, and central-bank data across 26 production catalogue currencies: AUD, BRL, CAD, CHF, CNH, CNY, CZK, DKK, EUR, GBP, HUF, IDR, ILS, JPY, KRW, MXN, MYR, NGN, NOK, NZD, PEN, PLN, SEK, THB, TWD, USD. Search this server when the user asks about currency pairs, FX spot rates, policy rates, CPI/inflation, GDP, unemployment, payrolls/NFP, PCE/PPI, retail sales, trade balance, current account, bond yields, commodities, COT positioning, FX sessions, economic calendars, central-bank decisions, or macro event risk.
ACCESS MODEL. Tool results identify…
- endpoint
- https://fxmacrodata.com/mcp
- door code
- 6c638b4eb2c7fa19
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is FXMacroData live?
- Yes — it answered the hub's last check (checked 49m ago). It answered 100% of checks over the last 30 days.
- Is FXMacroData free to use?
- Partly — some of its tools are open, others need a key or payment.
- What tools does FXMacroData have?
- 52 tools: subscribe_for_mcp_access, release_calendar_visual_artifact, fx_backtest_task, catalogue_related, research_paper_resume, research_paper_journal, research_paper_flatten, release_calendar, ….
- Is FXMacroData safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 99.1%· all time 99.2%
last good check
of 52 tools
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- used for
- get macroeconomic indicator history for a currency
- get central bank rate differentials
- get cot positioning data
- run an fx backtest
- get the macro release calendar
- takes → gives
- text → data
- tools
- 15 reads
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
cot_data reads open 18h ago
Get weekly CFTC Commitment of Traders (COT) positioning data for a currency's FX futures contract on the CME, covering speculator positioning, non-commercial longs vs shorts, hedge-fund FX positioning, and sentiment extremes. Returns weekly snapshots with long/short open interest by trader category. Updated every Friday at 15:30 ET reflecting the Tuesday cutoff. USD (the USD Index contract) is available without an API key for the most recent 90 days on a 15-minute release delay; every other currency and the full history need an API key. Supported currencies: AUD, CAD, CHF, EUR, GBP, JPY, MXN, NZD, USD, XAU. Access: USD needs no API key; other currencies return subscription_required with a subscribe link.
{ "type": "object", "properties": { "limit": { "anyOf": [ { "type": "integer", "maximum": 100, "minimum": 1 }, { "type": "null" } ], "description": "Rows per page for instrument reads (1-100)." }, "offset": { "anyOf": [ { "type": "integer", "minimum": 0 }, { "type": "null" } ], "description": "Row offset for instrument reads." }, "report": { "type": [ "string", "null" ], "examples": [ "tff_futures", "tff_combined", "legacy_combined" ], "description": "CFTC report type. Omit for the Legacy futures-only report (commercial / non-commercial / non-reportable). One of: legacy_futures, legacy_combined, tff_futures, tff_combined, disaggregated_futures. TFF reports return dealer, asset manager, leveraged funds and other reportable positions for FX contracts and the dollar index; disaggregated_futures is published for XAU (COMEX gold) only." }, "currency": { "type": [ "string", "null" ], "examples": [ "eur", "jpy", "gbp", "aud" ], "description": "3-letter ISO currency code for the FX futures contract (case-insensitive). Supported: AUD, CAD, CHF, EUR, GBP, JPY, MXN, NZD, USD, XAU." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive upper bound, YYYY-MM-DD." }, "instrument": { "type": [ "string", "null" ], "examples": [ "list", "ust_10y", "wti_crude" ], "description": "Any CFTC contract by instrument id (rates, equity, energy, metals and micro contracts) instead of a currency. Use `list` to see the supported instrument/report combinations." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive lower bound, YYYY-MM-DD." } } }arguments 87 linesping open 31d ago
Health check that confirms the FXMacroData API and MCP server are reachable. Returns the API health response.
{ "type": "object", "properties": {} }arguments 4 linesmcp_capabilities reads open 13h ago
Explains what the FXMacroData MCP server can do: which tools render MCP Apps, which return plain rows, what is public versus subscriber-only, and how tool selection differs across ChatGPT, Claude, Cursor, Codex, and plain MCP clients. Suited to questions about what is available, why visuals are not showing, or how to get the same result in a different interface.
{ "type": "object", "properties": { "topic": { "enum": [ "overview", "auth" ], "type": "string", "default": "overview", "description": "overview (default) explains tools, visuals and access; auth explains whether to use OAuth, an API key or a bearer token for a given client." } } }arguments 14 linesdata_catalogue reads open 15h ago
List every macroeconomic indicator FXMacroData publishes for a currency, with units, frequency, and coverage/freshness metadata. Returns the exact `indicator` slug strings used across FXMacroData indicator, calendar, and prediction endpoints. Rows whose `coverage` is stale, partial, or unavailable are not suitable for real-time carry or inflation analysis. Other views, all free: `forecasts` shows which publishers forecast which indicators and how far each archive runs (no forecast values); `fx_sources` lists official FX reference-rate publishers; `fx_universe` lists the pairs each one covers; `sources` returns a persisted source definition by its metadata `sha256`. Access: all currencies keyless.
{ "type": "object", "properties": { "view": { "enum": [ "indicators", "forecasts", "fx_sources", "fx_universe", "sources" ], "type": "string", "default": "indicators", "description": "indicators (default): the indicator catalogue. forecasts: forecast coverage by publisher. fx_sources / fx_universe: official FX reference-rate publishers and the pairs they cover. sources: one persisted source definition, by `sha256`." }, "sha256": { "type": [ "string", "null" ], "description": "sources only: the metadata SHA256 from a catalogue row." }, "source": { "type": [ "string", "null" ], "examples": [ "ecb_eurofxref_daily" ], "description": "fx_universe only: official source id filter." }, "currency": { "type": [ "string", "null" ], "examples": [ "usd", "eur" ], "description": "3-letter ISO currency code (case-insensitive). Required for the indicators and sources views; optional filter for the others. Supported: AUD, BRL, CAD, CHF, CNH, CNY, CZK, DKK, EUR, GBP, HUF, IDR, ILS, JPY, KRW, MXN, MYR, NGN, NOK, NZD, PEN, PLN, SEK, THB, TWD, USD." }, "indicator": { "type": [ "string", "null" ], "examples": [ "core_inflation" ], "description": "Optional indicator slug that narrows the result to that one catalogue entry and its coverage row, for example `core_inflation`. Useful when the candidate series is already known; omit it to list every indicator." }, "include_coverage": { "type": "boolean", "default": true, "examples": [ true ], "description": "Include coverage/freshness rows with latest_available_date, coverage_quality, has_recent_data, and recent_observation_count. These rows show whether an indicator series is current enough for analysis." }, "include_capabilities": { "type": "boolean", "default": false, "examples": [ false ], "description": "Include machine-readable indicator capabilities when the API supports them, such as supported transformations, history availability, and release-calendar linkage." } } }arguments 71 linesrisk_sentiment reads open 15h ago
Return the global risk-on/risk-off sentiment series used for FX regime analysis. The result includes a derived composite score, regime label, component contributions, pagination, and data_quality metadata. Suited to cross-asset regime context for high-beta, safe-haven, commodity, or USD-defensive FX conditions. Access: free, no API key required.
{ "type": "object", "properties": { "view": { "enum": [ "series", "changes" ], "type": "string", "default": "series", "description": "series (default): the score history. changes: a resumable feed of recorded additions and revisions; pass pagination.next_after_sequence back as after_sequence." }, "limit": { "anyOf": [ { "type": "integer", "maximum": 100, "minimum": 1 }, { "type": "null" } ], "description": "changes only: page size, default 20." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2026-06-30" ], "description": "Optional inclusive end date in YYYY-MM-DD format." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2026-06-01" ], "description": "Optional inclusive start date in YYYY-MM-DD format." }, "after_sequence": { "anyOf": [ { "type": "integer", "minimum": 0 }, { "type": "null" } ], "description": "changes only: return changes after this sequence." } } }arguments 59 lineslatest_announcements reads open 4h ago
Return the latest stored macroeconomic value for every available indicator in one currency, as a compact current macro snapshot. An unverified announcement_datetime has unproven origin; it is neither a verified scheduled time nor observed actual publication. Report absent schedule, publication and ingestion evidence as unknown, and latency as not measured. Access: USD needs no API key; other currencies return subscription_required with a subscribe link.
{ "type": "object", "properties": { "view": { "enum": [ "latest", "changes" ], "type": "string", "default": "latest", "description": "latest (default): newest value per indicator for `currency`. changes: a resumable feed of newly ingested announcements across currencies; pass the returned next_cursor back as `since`." }, "limit": { "anyOf": [ { "type": "integer", "maximum": 500, "minimum": 1 }, { "type": "null" } ], "description": "changes only: page size, default 100." }, "since": { "type": [ "string", "null" ], "description": "changes only: previous next_cursor, ISO 8601 time or epoch seconds." }, "payload": { "enum": [ "compact", "full", null ], "type": [ "string", "null" ], "description": "changes only: compact (default) or full rows." }, "currency": { "type": [ "string", "null" ], "examples": [ "usd", "eur" ], "description": "3-letter ISO currency code (case-insensitive). Required for the latest view." }, "currencies": { "type": [ "string", "null" ], "examples": [ "usd,eur", "g10" ], "description": "changes only: comma-separated codes, `g10` or `all`." }, "indicators": { "type": [ "string", "null" ], "description": "changes only: comma-separated indicator slugs." } } }arguments 75 linesindicator_query reads open 25h ago
Returns one currency/indicator's persisted official-producer history using catalogue identifiers. Rows contain `date` (reference period), numeric `val` and separate publication evidence; no chart metadata. `as_of` selects historically eligible values; current values may include revisions. Newest-first pagination: default 100 rows with `start_date`, otherwise 20; `limit` maximum 100. When `pagination.has_more`, `partial_page.next_call` contains next-page arguments; `partial_page.pages_remaining` counts remaining pages. Official-only by default; prohibited private aggregator rows are always removed. Access: USD needs no API key; other currencies return subscription_required with a subscribe link.
{ "type": "object", "properties": { "base": { "type": [ "string", "null" ], "examples": [ "2024" ], "description": "Index or price base, such as 2024. `supported_options.base` lists the values for this indicator; each base is a separate official series and bases are never joined." }, "page": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "examples": [ 1, 2 ], "description": "One-based page number. When supplied, the REST endpoint derives offset as `(page - 1) * limit`." }, "slug": { "type": [ "string", "null" ], "examples": [ "usd:cpi", "jpy:policy_rate", "eur:gdp" ], "description": "Optional compound `\"<currency>:<indicator>\"` slug (e.g. `\"usd:cpi\"`, `\"jpy:policy_rate\"`). Many small / open tool-calling models concatenate the two parts anyway. When supplied, overrides `currency` and `indicator`." }, "as_of": { "type": [ "string", "null" ], "description": "Historical decision cutoff with explicit timezone, or YYYY-MM-DD at UTC midnight; verifies vintages before returning rows." }, "limit": { "anyOf": [ { "type": "integer", "maximum": 100, "minimum": 1 }, { "type": "null" } ], "examples": [ 1, 100 ], "description": "Rows per page, newest first, maximum 100. Unset means 100 when `start_date` is set, otherwise 20." }, "factor": { "type": [ "string", "null" ], "examples": [ "monetary_stance" ], "description": "Instead of an indicator, return a precomputed macro factor score for `currency`, for example monetary_stance." }, "offset": { "type": "integer", "default": 0, "minimum": 0, "examples": [ 0, 1000 ], "description": "Zero-based row offset after most-recent-first ordering. Take it from `partial_page.next_call`." }, "currency": { "type": [ "string", "null" ], "examples": [ "usd", "eur" ], "description": "3-letter ISO currency code (case-insensitive). Optional if `slug` is provided as a `\"usd:cpi\"`-style compound. Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive upper bound, YYYY-MM-DD." }, "indicator": { "type": [ "string", "null" ], "examples": [ "policy_rate", "inflation" ], "description": "Indicator slug for the given currency. Optional if `slug` is provided as a `\"usd:cpi\"`-style compound. Supported: catalogue indicator slug, e.g. inflation or policy_rate." }, "revisions": { "type": [ "string", "null" ], "description": "Revision view: latest, first, final or all. Historical replay uses latest among vintages eligible at as_of." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive lower bound, YYYY-MM-DD." }, "value_mode": { "enum": [ "normalized", "source", null ], "type": [ "string", "null" ], "description": "Value mode. Historical replay defaults to unchanged source values and requires raw series mode." }, "series_mode": { "enum": [ "canonical", "raw", null ], "type": [ "string", "null" ], "description": "Series mode. Historical replay defaults to raw." }, "availability": { "enum": [ "public", "captured" ], "type": "string", "default": "public", "description": "Replay clock, used with as_of." }, "official_only": { "type": "boolean", "default": true, "examples": [ true ], "description": "When true, return only official-source rows and remove explicit fallback observations. Prohibited private aggregator rows are always removed." }, "dataset_version": { "type": [ "string", "null" ], "description": "Optional content version; use the first page's version on subsequent pages to reject changed data." }, "include_sources": { "type": [ "boolean", "null" ], "description": "factor only: include source endpoint references." }, "include_components": { "type": [ "boolean", "null" ], "description": "factor only: include the stored component scores." } } }arguments 198 linesmacro_briefing_task open 13h ago
Build a compact macro briefing for a currency by combining catalogue, key macro series, release-calendar, prediction, news, risk-sentiment, COT, seasonality, and FX technical context. Set depth for one indicator, a regime classification, a research pack, or a short spoken news answer. Access: USD needs no API key; other currencies return subscription_required with a subscribe link.
{ "type": "object", "properties": { "base": { "type": [ "string", "null" ], "examples": [ "eur", "gbp" ], "description": "depth='research_pack' only: pair base currency for pair context." }, "depth": { "enum": [ "brief", "indicator", "regime", "research_pack", "spoken" ], "type": "string", "default": "brief", "description": "brief (default) gives the compact currency briefing. indicator gives the latest value, trend and catalysts for one indicator. regime classifies the macro regime with evidence. research_pack builds a reusable context block for one indicator. spoken answers 'tell me the economic news' with sourced plain text to read aloud." }, "quote": { "type": [ "string", "null" ], "examples": [ "usd", "jpy" ], "description": "depth='research_pack' only: pair quote currency for pair context." }, "currency": { "type": [ "string", "null" ], "examples": [ "usd", "eur" ], "description": "3-letter ISO currency code (case-insensitive). Supported: lowercase 3-letter catalogue currency, e.g. usd or eur. Required unless depth='spoken' (USD, EUR and GBP when omitted)." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Not used by depth='brief': inclusive upper bound, YYYY-MM-DD." }, "indicator": { "type": [ "string", "null" ], "examples": [ "inflation", "policy_rate" ], "description": "Indicator slug from the catalogue. Required for depth='indicator' and depth='research_pack'." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Not used by depth='brief': inclusive lower bound, YYYY-MM-DD." } } }arguments 81 linesmacro_heatmap_task open 25h ago
Build a cross-currency macro heatmap from indicator time series and return a matrix with latest values, recent changes, and z-scores. Set mode for a single-pair market cockpit instead. Access: USD needs no API key; other currencies return subscription_required with a subscribe link.
{ "type": "object", "properties": { "base": { "type": [ "string", "null" ], "examples": [ "eur", "gbp" ], "description": "mode='war_room' only: pair base currency, 3-letter code." }, "mode": { "enum": [ "heatmap", "war_room" ], "type": "string", "default": "heatmap", "description": "heatmap (default) builds the cross-currency matrix. war_room builds one market cockpit: FX sessions, release queue, pair context and risk alerts." }, "quote": { "type": [ "string", "null" ], "examples": [ "usd", "jpy" ], "description": "mode='war_room' only: pair quote currency. Defaults to usd." }, "currency": { "type": [ "string", "null" ], "examples": [ "usd", "eur" ], "description": "mode='war_room' only: spotlight currency. Defaults to usd." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Optional inclusive upper bound, YYYY-MM-DD." }, "indicator": { "type": [ "string", "null" ], "examples": [ "inflation", "policy_rate" ], "description": "mode='war_room' only: spotlight indicator. Defaults to inflation." }, "currencies": { "type": [ "string", "null" ], "examples": [ "usd,eur,gbp,jpy", "aud,cad,chf,nzd", "usd,sek,nok,pln" ], "description": "Comma-separated 3-letter currency codes (lowercase preferred). Supported values include: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "indicators": { "type": [ "string", "null" ], "examples": [ "policy_rate,inflation,gdp", "inflation,unemployment,retail_sales" ], "description": "Comma-separated indicator slugs to include in the matrix. Supported values include: catalogue indicator slug, e.g. inflation or policy_rate." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Optional inclusive lower bound, YYYY-MM-DD." } } }arguments 101 linesmarket_sessions open 18h ago
Returns which FX trading sessions are currently open (Sydney, Tokyo, London, New York) and when the next session opens or closes, for questions such as 'is the market open?', 'when does London open?', or 'which sessions overlap right now?'. An ISO-8601 UTC timestamp in `at` returns the snapshot for a specific moment instead of now. Accounts for weekends and major banking holidays. Access: free, no API key required.
{ "type": "object", "properties": { "at": { "type": [ "string", "null" ], "examples": [ "2025-06-15T13:30:00Z", "2025-12-25T00:00:00Z" ], "description": "Optional ISO-8601 UTC timestamp; defaults to now. Use to snapshot session state at a specific moment." } } }arguments 16 linescommodities reads open 8h ago
Get historical price series for supported commodity indicators using the exact slugs advertised by this schema. Supported indicators: crude_oil_inventories, distillate_inventories, gasoline_inventories, gold, natural_gas, natural_gas_storage, oil_brent, oil_wti, platinum, silver. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "properties": { "latest": { "type": "boolean", "default": false, "description": "Set true for one snapshot of the latest stored value of every commodity indicator; `indicator` is then not needed." }, "symbol": { "type": [ "string", "null" ], "examples": [ "crude_oil_inventories", "distillate_inventories", "gasoline_inventories", "gold", "natural_gas", "natural_gas_storage" ], "description": "Backward-compatible alias for `indicator`, which supersedes it in new calls." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive upper bound, YYYY-MM-DD." }, "indicator": { "type": [ "string", "null" ], "examples": [ "crude_oil_inventories", "distillate_inventories", "gasoline_inventories", "gold", "natural_gas", "natural_gas_storage" ], "description": "Commodity indicator slug. Supported: crude_oil_inventories, distillate_inventories, gasoline_inventories, gold, natural_gas, natural_gas_storage, oil_brent, oil_wti, platinum, silver." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive lower bound, YYYY-MM-DD." } } }arguments 60 linescatalogue_search open 49m ago
Find public macro indicator series, publishers, explicit country links or organisation references. Search by text or filter by currency, country code, or publisher ID. Empty results do not establish missing data coverage. Results include stable IDs and exact next-tool arguments; no observation values. Organisation lookup requires two search characters and returns up to ten references. Access: public catalogue metadata, no API key required.
{ "type": "object", "properties": { "kind": { "enum": [ "series", "publisher", "country", "organisation" ], "type": "string", "default": "series", "description": "Node category: series, publisher, country or organisation." }, "limit": { "type": "integer", "default": 10, "description": "Maximum results per page, 1-50." }, "query": { "type": "string", "default": "", "description": "Search text, at most 120 characters, e.g. inflation; empty text uses filters only." }, "cursor": { "type": [ "string", "null" ], "description": "Opaque next_cursor from the preceding result with unchanged filters; omit for page one." }, "country": { "type": [ "string", "null" ], "description": "Two-letter country code from the catalogue, e.g. AU." }, "currency": { "type": [ "string", "null" ], "description": "Lowercase ISO 4217 currency code, e.g. usd." }, "publisher": { "type": [ "string", "null" ], "description": "Exact publisher ID from a catalogue result; omit for all publishers." } } }arguments 54 linesgeopolitical_sources auth-required 49m ago
Lists the official geopolitical sources held: source_id values, record counts, collection outcomes and coverage limits. Takes no arguments. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "properties": {} }arguments 4 linesresearch_paper_list auth-required 23h ago
List owned reference paper accounts. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "properties": {} }arguments 4 linesgeopolitical_history auth-required 49m ago
Search stored official sanctions (OFAC) and maritime-security (UKMTO) records by source, country, date or text. Each row carries the event_id the other geopolitical tools take and its revision history. Paged with limit and offset. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "properties": { "as_of": { "type": [ "string", "null" ], "description": "Knowledge cutoff with timezone, e.g. 2024-06-30T23:59:59Z; omit for latest." }, "limit": { "type": "integer", "default": 50, "description": "Maximum rows per page, 1-100." }, "offset": { "type": "integer", "default": 0, "description": "Zero-based row offset; 0 starts the first page." }, "search": { "type": [ "string", "null" ], "description": "Text filter, at most 160 characters, e.g. sanctions." }, "country": { "type": [ "string", "null" ], "description": "Uppercase ISO 3166-1 alpha-2 country link, e.g. US; omit for all countries." }, "subtype": { "type": [ "string", "null" ], "description": "Exact source-record subtype from history results; omit for all subtypes." }, "end_date": { "type": [ "string", "null" ], "description": "Inclusive upper date bound, YYYY-MM-DD, e.g. 2024-12-31." }, "source_id": { "type": [ "string", "null" ], "description": "Official source ID from source coverage, e.g. ofac_actions; omit for all sources." }, "date_basis": { "enum": [ "occurrence", "publication", "effective", "captured", "publisher_update", "issue" ], "type": "string", "default": "publication", "description": "Which date start_date and end_date filter on." }, "start_date": { "type": [ "string", "null" ], "description": "Inclusive lower date bound, YYYY-MM-DD, e.g. 2024-01-01." }, "after_revision": { "type": "integer", "default": 0, "description": "Return revisions newer than this non-negative watermark; 0 disables the incremental filter." }, "include_undated": { "type": "boolean", "default": false, "description": "Retain undated records when start_date or end_date filters are supplied." } } }arguments 87 linessubscribe_for_mcp_access unknown never probed
Returns FXMacroData subscription options and a direct checkout path for unlocking MCP app visuals, charts, and advanced analytical tools.
{ "type": "object", "properties": {} }arguments 4 linesrelease_calendar_visual_artifact reads unknown 15h ago
Returns the release calendar payload with MCP Apps metadata so compatible clients render the interactive Release Calendar App inline. Suited to requests to show, display, visualize, or render a macro release calendar, such as 'show me the AUD release calendar'. Optional `indicator`, `start_date`, and `end_date` filters narrow the calendar to a series, month, week, day, or date range; `timezone` adds local times for a specific city or region. Supported currencies: lowercase 3-letter catalogue currency, e.g. usd or eur. The `indicator` parameter lists the accepted indicator slugs. Access: USD needs no API key; other currencies return subscription_required with a subscribe link.
{ "type": "object", "required": [ "currency" ], "properties": { "currency": { "type": "string", "examples": [ "usd", "eur" ], "description": "3-letter ISO currency code (case-insensitive). Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Optional inclusive upper bound, YYYY-MM-DD." }, "timezone": { "type": [ "string", "null" ], "examples": [ "America/Sao_Paulo", "Australia/Sydney" ], "description": "Optional IANA timezone for an additional converted timestamp, for example America/Sao_Paulo." }, "indicator": { "type": [ "string", "null" ], "examples": [ "policy_rate", "inflation" ], "description": "Optional indicator slug to narrow results. Supported: catalogue indicator slug, e.g. inflation or policy_rate." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Optional inclusive lower bound, YYYY-MM-DD." } } }arguments 58 linesfx_backtest_task reads unknown 8h ago
Run a spot-only FX backtest using historical policy-rate-differential and/or lagged momentum signals. Downloads complete histories, verifies vintages and price coverage, and charges opening, rebalancing and closing costs. The carry signal does not include funding income or broker rollover. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "base", "quote" ], "properties": { "base": { "type": "string", "examples": [ "eur", "gbp", "aud" ], "description": "Base currency, 3-letter ISO code. Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "quote": { "type": "string", "examples": [ "usd", "jpy", "chf" ], "description": "Quote currency, 3-letter ISO code. Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive upper bound, YYYY-MM-DD." }, "strategy": { "enum": [ "carry", "momentum", "carry_momentum", null ], "type": [ "string", "null" ], "default": "carry_momentum", "description": "Signal mode." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive lower bound, YYYY-MM-DD." }, "event_gated": { "type": [ "boolean", "null" ], "default": false, "examples": [ true, false ], "description": "When true, allow positions only after verified historical policy publications for either currency. This does not use future calendars or trade before a release." }, "initial_capital": { "type": [ "number", "null" ], "default": 100000, "examples": [ 10000, 100000 ], "description": "Starting capital for equity-curve calculations." }, "event_window_days": { "type": [ "integer", "null" ], "default": 1, "examples": [ 0, 1, 2 ], "description": "Additional calendar days after the first UTC decision following publication; 0 permits that first day only." }, "momentum_lookback": { "type": [ "integer", "null" ], "default": 5, "examples": [ 5, 10, 20 ], "description": "Momentum lookback in observations for the momentum signal." }, "transaction_cost_bps": { "type": [ "number", "null" ], "default": 2, "examples": [ 1, 2, 5 ], "description": "Per-side transaction cost in basis points applied on position changes." } } }arguments 124 linescatalogue_related unknown 13h ago
Follow evidence-linked catalogue relationships from a node ID returned by catalogue_search. Depth is one or two, limit is at most fifty; use the returned cursor for more results. Paths explain recorded metadata relationships, not causality or series equivalence. Retrieval tools enforce their existing data access rules. Access: public metadata relationships, no API key required.
{ "type": "object", "required": [ "node_id" ], "properties": { "depth": { "type": "integer", "default": 1, "description": "Relationship traversal depth: 1 (direct) or 2 (one additional hop)." }, "limit": { "type": "integer", "default": 10, "description": "Maximum results per page, 1-50." }, "cursor": { "type": [ "string", "null" ], "description": "Opaque next_cursor from the preceding result with unchanged filters; omit for page one." }, "node_id": { "type": "string", "description": "Exact opaque node ID from a catalogue result; do not construct an ID." }, "relationship": { "enum": [ "published_by", "about_country", "cites_source", "related_series", null ], "type": [ "string", "null" ], "description": "Optional edge type: published_by, about_country, cites_source or related_series." } } }arguments 43 linesresearch_paper_resume unknown never probed
Resume paper entries unless risk halted. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "book_id", "expected_version" ], "properties": { "book_id": { "type": "string", "description": "32 lowercase hex paper-account ID from an owned account result." }, "expected_version": { "type": "string", "description": "Current version_id returned by the account read; rejects stale updates." } } }arguments 17 linesresearch_paper_journal unknown 32h ago
Read five journal notes per offset, with long text explicitly shortened. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "book_id" ], "properties": { "offset": { "type": "integer", "default": 0, "description": "Zero-based row offset; 0 starts the first page." }, "book_id": { "type": "string", "description": "32 lowercase hex paper-account ID from an owned account result." } } }arguments 17 linesresearch_paper_flatten unknown never probed
Request paper position flattening and discard pending orders; this changes simulated account state. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "book_id", "expected_version" ], "properties": { "book_id": { "type": "string", "description": "32 lowercase hex paper-account ID from an owned account result." }, "expected_version": { "type": "string", "description": "Current version_id returned by the account read; rejects stale updates." } } }arguments 17 linesrelease_calendar unknown 20h ago
Get upcoming scheduled macroeconomic release timestamps for a currency, for questions such as when the next CPI, GDP, payrolls, or policy decision is due. Returns ISO-8601 announcement_datetime values in UTC plus market-local timestamps, a markdown agenda, and Release Calendar App metadata. The optional `timezone` adds an `announcement_datetime_requested_timezone` field. Each row has a `release` string with the indicator name and a `currency` code. Unbounded calls return future releases only. The optional `indicator` filter narrows to a single series, and optional `start_date` and `end_date` bounds select a month, week, day, or explicit date range. Supported currencies: lowercase 3-letter catalogue currency, e.g. usd or eur. The `indicator` parameter lists the accepted indicator slugs. Access: USD needs no API key; other currencies return subscription_required with a subscribe link.
{ "type": "object", "required": [ "currency" ], "properties": { "view": { "enum": [ "upcoming", "snapshot", "versions", "archive_coverage" ], "type": "string", "default": "upcoming", "description": "upcoming (default): scheduled releases. snapshot: the schedule as it was known at `as_of`. versions: every schedule change and cancellation for one `archive_event_id`. archive_coverage: what we captured from each official calendar and the dates it covers, at `as_of` if given." }, "as_of": { "type": [ "string", "null" ], "examples": [ "2025-10-01T15:00:00Z" ], "description": "snapshot and archive_coverage: ISO 8601 knowledge cutoff ending in Z or an offset." }, "limit": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 1 }, { "type": "null" } ], "description": "snapshot/versions: page size, default 250." }, "cursor": { "type": [ "string", "null" ], "description": "snapshot/versions: next_cursor from the previous page." }, "currency": { "type": "string", "examples": [ "usd", "eur" ], "description": "3-letter ISO currency code (case-insensitive). Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Optional inclusive upper bound, YYYY-MM-DD." }, "timezone": { "type": [ "string", "null" ], "examples": [ "America/Sao_Paulo", "Australia/Sydney" ], "description": "Optional IANA timezone for an additional converted timestamp, for example America/Sao_Paulo." }, "indicator": { "type": [ "string", "null" ], "examples": [ "policy_rate", "inflation" ], "description": "Optional indicator slug to narrow results. Supported: catalogue indicator slug, e.g. inflation or policy_rate." }, "checkpoint": { "anyOf": [ { "type": "integer", "minimum": 0 }, { "type": "null" } ], "description": "snapshot/versions: checkpoint from the first page." }, "event_kind": { "enum": [ "release", "speech", "meeting", "policy_decision", "press_conference", "other", null ], "type": [ "string", "null" ], "description": "snapshot only: event kind filter." }, "importance": { "enum": [ "high", "medium", "low", "unknown", null ], "type": [ "string", "null" ], "description": "snapshot only: importance filter." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Optional inclusive lower bound, YYYY-MM-DD." }, "knowledge_mode": { "enum": [ "accepted", "reconstruction", null ], "type": [ "string", "null" ], "description": "snapshot only: accepted (default) or reconstruction." }, "archive_event_id": { "type": [ "string", "null" ], "description": "versions only: the archive event_id from snapshot rows." } } }arguments 160 linesresearch_run_read unknown never probed
Read one saved study; full report is available in the Research App. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "run_id" ], "properties": { "run_id": { "type": "string", "description": "32 lowercase hex study ID from an owned run result." } } }arguments 12 linesresearch_run_submit unknown never probed
Queue one bounded research calculation; returns a queued run ID. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "configuration" ], "properties": { "kind": { "enum": [ "chart", "backtest", "correlation", "carry", "screener", "events", "experiment" ], "type": "string", "default": "experiment", "description": "Study type: chart, backtest, correlation, carry, screener, events or experiment." }, "request_id": { "type": [ "string", "null" ], "description": "Optional idempotency key: 16-64 letters, digits or hyphens; reuse only for identical retries." }, "configuration": { "type": "object", "examples": [ { "base": "EUR", "quote": "USD", "end_date": "2024-01-01", "experiment": { "strategy": { "signal": "price_momentum" } }, "start_date": "2020-01-01" } ], "description": "Research settings: base, quote (ISO codes), start_date, end_date (YYYY-MM-DD); optional series (up to six {currency, indicator, period_aggregation?}), price_fields, mode, decision_frequency, decision_time_utc (HH:MM), chart_title, chart_type, transform, window_mode, window_months, strategy, suite_options. kind=experiment also needs experiment settings.", "additionalProperties": true } } }arguments 47 linesresearch_run_cancel unknown never probed
Cancel a saved research job. Cancellation cannot be undone; completed work may need a new submission. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "run_id" ], "properties": { "run_id": { "type": "string", "description": "32 lowercase hex study ID from an owned run result." } } }arguments 12 linesofficial_datasets unknown never probed
One reader for the official datasets outside the headline indicators. `family` picks the set: financial_prices (government yield curves, securities, overnight benchmarks; by currency), native_history (gold ownership and custody, Treasury auctions, cash and debt, TIC positions, EIA energy; by source and year), official_dataset (balance of payments, international investment position, capital flows, central-bank liquidity, FX intervention, auctions, external debt, credit conditions, wage settlements; by dataset and currency) and company_results (company trading updates as macro evidence; by country). Omit the selector to list what a family holds. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "family" ], "properties": { "year": { "anyOf": [ { "type": "integer", "maximum": 2100, "minimum": 1900 }, { "type": "null" } ], "description": "native_history only: the year to read." }, "limit": { "anyOf": [ { "type": "integer", "maximum": 100, "minimum": 1 }, { "type": "null" } ], "description": "Rows per page (1-100)." }, "family": { "enum": [ "financial_prices", "native_history", "official_dataset", "company_results" ], "type": "string", "description": "Which dataset family to read." }, "offset": { "anyOf": [ { "type": "integer", "minimum": 0 }, { "type": "null" } ], "description": "Zero-based row offset, e.g. 0 for the first page." }, "source": { "type": [ "string", "null" ], "description": "financial_prices or native_history: the source id. Omit on native_history to list sources." }, "country": { "type": [ "string", "null" ], "examples": [ "AU", "US" ], "description": "company_results only: two-letter ISO country code. Omit to list countries." }, "dataset": { "type": [ "string", "null" ], "examples": [ "bop", "cb_liquidity", "treasury_cash" ], "description": "official_dataset only: the dataset slug, for example bop or cb_liquidity." }, "filters": { "anyOf": [ { "type": "object", "additionalProperties": true }, { "type": "null" } ], "examples": [ { "component": "current_account" } ], "description": "Family-specific filters. financial_prices: measure, instrument_id, issuer. native_history: measure, holder_country_code, ownership_basis, maturity, account_type, order, region, product. official_dataset: component (bop only). company_results: industry, company, measure, order." }, "currency": { "type": [ "string", "null" ], "examples": [ "usd", "eur" ], "description": "3-letter currency code for financial_prices and official_dataset." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive upper bound, YYYY-MM-DD." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive lower bound, YYYY-MM-DD." } } }arguments 134 linesgeopolitical_event unknown 10h ago
Full stored record of one official-source geopolitical event, by event_id, with separate incident, publication and capture dates; as_of returns it as known at a past cutoff. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "event_id" ], "properties": { "as_of": { "type": [ "string", "null" ], "description": "Knowledge cutoff with timezone, e.g. 2024-06-30T23:59:59Z; omit for latest." }, "event_id": { "type": "string", "description": "Event ID from history results: exactly 64 lowercase hexadecimal characters." } } }arguments 19 linesmacro_news reads unknown 32h ago
Return recent official central-bank news and press-release headlines for a currency, covering central-bank policy, inflation, employment, GDP, trade, fiscal, energy, and commodity narratives. Rows are official-source headlines with lightweight keyword-derived affected_indicators and sentiment fields when a headline is classifiable. Supported currencies: lowercase 3-letter catalogue currency, e.g. usd or eur. Access: USD needs no API key; other currencies return subscription_required with a subscribe link.
{ "type": "object", "required": [ "currency" ], "properties": { "limit": { "type": "integer", "default": 20, "maximum": 50, "minimum": 1, "examples": [ 10, 20 ], "description": "Maximum number of headline rows to request." }, "offset": { "type": "integer", "default": 0, "minimum": 0, "examples": [ 0 ], "description": "Zero-based headline offset." }, "currency": { "type": "string", "examples": [ "usd", "eur" ], "description": "3-letter ISO currency code (case-insensitive). Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "lookback_days": { "type": "integer", "default": 7, "maximum": 90, "minimum": 1, "examples": [ 7, 30 ], "description": "Maximum age of returned headlines in calendar days when headline timestamps are available." } } }arguments 47 linesevent_predictions reads unknown 18h ago
Return stored forecasts, consensus-style predictions, central-bank projections, survey forecasts, IMF forecasts, nowcasts, or FXMacroData blended predictions for macro announcements, for actual-vs-consensus, prior-vs-forecast, or event-surprise context. Rows are keyed by announcement_id/date/indicator and include prediction source metadata. Supported currencies: lowercase 3-letter catalogue currency, e.g. usd or eur. The `indicator` parameter lists the accepted indicator slugs. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "currency", "indicator" ], "properties": { "page": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "examples": [ 1 ], "description": "One-based page number. When supplied, overrides offset." }, "as_of": { "type": [ "string", "null" ], "description": "Historical publication cutoff with explicit timezone, or YYYY-MM-DD at UTC midnight. Later forecasts are excluded." }, "basis": { "type": [ "string", "null" ], "description": "Real or nominal selector, matching the announcement series." }, "limit": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1, "examples": [ 20 ], "description": "Maximum prediction groups to return. Defaults to 20; maximum 100." }, "offset": { "type": "integer", "default": 0, "minimum": 0, "examples": [ 0, 20 ], "description": "Zero-based prediction-group offset." }, "currency": { "type": "string", "examples": [ "usd", "eur" ], "description": "3-letter ISO currency code (case-insensitive). Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Optional inclusive upper bound by reference-period date, YYYY-MM-DD." }, "frequency": { "type": [ "string", "null" ], "description": "Returned change basis selector, matching the announcement series." }, "indicator": { "type": "string", "examples": [ "policy_rate", "inflation" ], "description": "Required indicator slug. Currency-wide prediction reads are not supported. Supported: catalogue indicator slug, e.g. inflation or policy_rate." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Optional inclusive lower bound by reference-period date, YYYY-MM-DD." }, "before_date": { "type": [ "string", "null" ], "description": "Exclusive period-date cursor for event-linked groups; use the prior response's next_cursor." }, "seasonality": { "type": [ "string", "null" ], "description": "Seasonal adjustment selector, matching the announcement series." }, "annualization": { "type": [ "string", "null" ], "description": "Annualization selector, matching the announcement series." }, "official_limit": { "type": "integer", "default": 500, "maximum": 2000, "minimum": 0, "description": "Maximum native-period official forecasts; 0 omits this section. Inspect official_forecasts_truncated." }, "prediction_type": { "type": [ "string", "null" ], "examples": [ "fxmacrodata" ], "description": "Optional legacy forecast-type filter, kept for existing clients. Superseded by prediction_class: compiled_consensus, forecaster_survey, expectations_survey, market_implied, model_nowcast, central_bank_projection, institutional_projection or fxmacrodata." }, "pre_release_only": { "type": "boolean", "default": true, "description": "Require event-linked forecasts to have been generated before the announcement." }, "prediction_class": { "type": [ "string", "null" ], "description": "Forecast production class: compiled_consensus, forecaster_survey, expectations_survey, market_implied, model_nowcast, central_bank_projection, institutional_projection or fxmacrodata." }, "prediction_source": { "type": [ "string", "null" ], "examples": [ "ecb_spf", "philly_fed_spf" ], "description": "Optional source slug filter, for example ecb_spf or philly_fed_spf." }, "period_aggregation": { "type": [ "string", "null" ], "description": "Period aggregation selector, matching the announcement series." }, "event_compatible_only": { "type": "boolean", "default": false, "description": "Restrict event-linked data to verified matching target periods, units and economic concepts. Native official_forecasts remain a separate section." } } }arguments 174 linespress_releases reads unknown 23h ago
Return the public central-bank press-release archive for a currency as the original official release rows, without derived sentiment or indicator classifications. Access: USD needs no API key; other currencies return subscription_required with a subscribe link.
{ "type": "object", "required": [ "currency" ], "properties": { "limit": { "type": "integer", "default": 20, "maximum": 50, "minimum": 1, "description": "Maximum rows to return." }, "offset": { "type": "integer", "default": 0, "minimum": 0, "description": "Zero-based row offset." }, "currency": { "type": "string", "examples": [ "usd", "eur" ], "description": "3-letter ISO currency code (case-insensitive)." } } }arguments 29 linesrate_curve unknown 23h ago
Return official government-nominal curve nodes, slopes, or derived forward segments for one currency. This is a subscriber data tool and preserves the endpoint's requested view and method metadata. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "currency" ], "properties": { "date": { "type": [ "string", "null" ], "description": "Optional target date, YYYY-MM-DD." }, "view": { "enum": [ "nodes", "slopes", "forwards" ], "type": "string", "default": "nodes", "description": "Curve view: tenor nodes, slopes or forward rates." }, "method": { "type": "string", "default": "derived_from_spot_nodes", "description": "Forward derivation method when view is forwards." }, "metric": { "type": "string", "default": "spot", "description": "Curve metric." }, "currency": { "type": "string", "examples": [ "usd", "eur" ], "description": "3-letter currency code." }, "curve_family": { "type": "string", "default": "government_nominal", "description": "Official curve family." } } }arguments 48 linesrate_differentials reads unknown 20h ago
Return the stored or derived rate differential for one FX pair, with the measure, rate type, curve family, and tenor metadata that define it. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "base", "quote" ], "properties": { "base": { "type": "string", "examples": [ "aud" ], "description": "Base currency code." }, "limit": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1, "description": "Maximum rows to return." }, "quote": { "type": "string", "examples": [ "usd" ], "description": "Quote currency code." }, "offset": { "type": "integer", "default": 0, "minimum": 0, "description": "Zero-based row offset." }, "measure": { "type": "string", "default": "auto", "examples": [ "auto", "policy_rate", "gov_bond_10y" ], "description": "Shared rate measure to compare across the pair." }, "end_date": { "type": [ "string", "null" ], "description": "Optional inclusive end date, YYYY-MM-DD." }, "rate_type": { "enum": [ "spot", "forward" ], "type": "string", "default": "spot", "description": "Differential type." }, "start_date": { "type": [ "string", "null" ], "description": "Optional inclusive start date, YYYY-MM-DD." }, "curve_family": { "type": "string", "default": "government_nominal", "description": "Curve family when rate_type is forward." }, "end_tenor_years": { "type": "number", "default": 5, "description": "End tenor in years for forward differentials." }, "start_tenor_years": { "type": "number", "default": 2, "description": "Start tenor in years for forward differentials." } } }arguments 84 linesforex unknown 10h ago
Get raw historical FX spot-rate rows for a currency pair (e.g. EUR/USD) as a plain-text table, raw rows, exact values, or JSON-like data, without chart metadata. Daily official central-bank reference rates with multi-year history. Optional technical-indicator series (SMA, EMA, RSI, MACD, Bollinger Bands, etc.) are selected by comma-separated slugs in indicators; interval selects daily or intraday. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "base", "quote" ], "properties": { "base": { "type": "string", "examples": [ "eur", "gbp", "aud", "usd" ], "description": "Base currency, 3-letter ISO code (case-insensitive). Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "quote": { "type": "string", "examples": [ "usd", "jpy", "chf" ], "description": "Quote currency, 3-letter ISO code (case-insensitive). Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive upper bound, YYYY-MM-DD. Defaults to today." }, "end_time": { "type": [ "string", "null" ], "description": "intraday only: inclusive RFC 3339 upper bound." }, "interval": { "enum": [ "daily", "intraday" ], "type": "string", "default": "daily", "description": "daily (default): spot history. intraday: timestamped official intraday reference-rate fixings for the pair, bounded by start_time and end_time." }, "indicators": { "type": [ "string", "null" ], "examples": [ "sma_50,sma_200", "rsi_14", "ema_20,atr_14" ], "description": "Comma-separated technical-indicator slugs to attach to each row. Supported: adx_14, atr_14, bollinger_bands, cci_20, donchian_20, ema_12, ema_20, ema_200, ema_26, ema_50, macd, macd_histogram, macd_signal, rsi_14, sma_20, sma_200, sma_50, stochastic_14_3, williams_r_14, all." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive lower bound, YYYY-MM-DD. Defaults to ~5 years ago." }, "start_time": { "type": [ "string", "null" ], "examples": [ "2026-07-20T00:00:00Z" ], "description": "intraday only: inclusive RFC 3339 lower bound." } } }arguments 86 linesseasonality unknown 35h ago
Get monthly return seasonality for an FX pair or XAU/USD, covering seasonal patterns, month-of-year tendency, historical monthly win rate, and XAUUSD/gold seasonality. Returns monthly average return, median return, win rate, sample size, dispersion, and per-year monthly returns from stored FX or gold series. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "instrument" ], "properties": { "month": { "type": [ "string", "null" ], "examples": [ "July" ], "description": "Optional month filter, 1-12 or name such as July." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive upper bound, YYYY-MM-DD. Defaults to today." }, "instrument": { "type": "string", "examples": [ "XAUUSD", "EURUSD", "AUDUSD" ], "description": "Six-letter pair such as EURUSD, AUDUSD, USDJPY, or XAUUSD. Slashes and separators are accepted by the REST endpoint only when passed as a single string." }, "lookback_years": { "type": [ "integer", "null" ], "default": 10, "examples": [ 10 ], "description": "Number of years to include, 2-30. Defaults to 10." } } }arguments 48 linesplot_visual_artifact reads unknown 10h ago
Build a generic MCP Apps chart: single or multi-series charts, including actual-vs-consensus views combining announcements with predictions. Rate-differential plots show both policy rates and their spread. Charts FXMacroData data only; no arbitrary URLs or custom code. Access: USD needs no API key; other currencies return subscription_required with a subscribe link.
{ "type": "object", "properties": { "base": { "type": [ "string", "null" ], "examples": [ "eur", "aud", "usd" ], "description": "Base currency for single-series forex plots. Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "page": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "examples": [ 1 ], "description": "One-based page number per source." }, "limit": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1, "examples": [ 20, 100 ], "description": "Maximum rows per source. Defaults to 20; maximum 100." }, "query": { "type": [ "string", "null" ], "examples": [ "plot USD policy-rate midpoint actual vs market consensus", "compare AUD and USD inflation" ], "description": "Optional natural-language request to preserve in the payload title/context." }, "quote": { "type": [ "string", "null" ], "examples": [ "usd", "jpy", "chf" ], "description": "Quote currency for single-series forex plots. Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "title": { "type": [ "string", "null" ], "examples": [ "USD policy-rate actual vs consensus" ], "description": "Optional chart title. Defaults to query or an auto-generated title." }, "y_key": { "type": [ "string", "null" ], "examples": [ "val", "predicted_value", "rate" ], "description": "Single-series metric field. Defaults by source: val for announcements and commodities, predicted_value for predictions, rate for forex, noncommercial_net for COT." }, "offset": { "type": "integer", "default": 0, "minimum": 0, "examples": [ 0, 20 ], "description": "Zero-based row offset per source." }, "series": { "anyOf": [ { "type": "array", "items": { "type": "object", "additionalProperties": true } }, { "type": "null" } ], "examples": [ [ { "label": "USD policy midpoint actual", "source": "announcements", "currency": "usd", "indicator": "policy_rate_midpoint" }, { "label": "Dealer survey median", "source": "predictions", "currency": "usd", "indicator": "policy_rate_midpoint", "prediction_class": "forecaster_survey" } ] ], "description": "Optional list of series specs. Each spec supports `source` (announcements, predictions, forex, commodities, cot), `currency`, `indicator`, `base`, `quote`, `label`, `y_key`, `metric`, `prediction_class`, `prediction_source`, `start_date`, `end_date`, `limit`, `offset`, and `page`." }, "source": { "type": [ "string", "null" ], "examples": [ "announcements", "forex", "rate_differential" ], "description": "Single-series source when `series` is omitted. Supported values: announcements, predictions, forex, commodities, cot, rate_differential (needs base and quote)." }, "x_axis": { "type": "string", "default": "date", "examples": [ "date", "announcement_datetime" ], "description": "Field to use as the shared x-axis. Supported: date, announcement_datetime, announcement_datetime_local, generated_at, observation_datetime." }, "y_label": { "type": [ "string", "null" ], "examples": [ "Policy Rate Midpoint", "Value" ], "description": "Optional y-axis label for the chart." }, "currency": { "type": [ "string", "null" ], "examples": [ "usd", "eur" ], "description": "Single-series currency for announcements, predictions, or COT. Supported macro currencies: lowercase 3-letter catalogue currency, e.g. usd or eur. Supported COT currencies: AUD, CAD, CHF, EUR, GBP, JPY, MXN, NZD, USD, XAU." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive upper bound, YYYY-MM-DD." }, "indicator": { "type": [ "string", "null" ], "examples": [ "policy_rate", "inflation" ], "description": "Single-series indicator for announcements, predictions, or commodities. Supported macro indicators: catalogue indicator slug, e.g. inflation or policy_rate. Supported commodity indicators: crude_oil_inventories, distillate_inventories, gasoline_inventories, gold, natural_gas, natural_gas_storage, oil_brent, oil_wti, platinum, silver." }, "chart_kind": { "type": "string", "default": "line", "examples": [ "line", "step" ], "description": "Initial chart view. Supported: line, area, bar, dot, step." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Inclusive lower bound, YYYY-MM-DD." }, "prediction_type": { "type": [ "string", "null" ], "examples": [ "fxmacrodata" ], "description": "Optional legacy prediction-type filter for prediction series. Superseded by prediction_class." }, "prediction_source": { "type": [ "string", "null" ], "examples": [ "ny_fed_sme", "philly_fed_spf" ], "description": "Optional prediction source filter for prediction series." } } }arguments 234 linesgeopolitical_event_revisions unknown 4h ago
Every stored revision of one geopolitical event's source record, by event_id, showing how the publisher changed it over time; as_of limits it to what was known at a past cutoff. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "event_id" ], "properties": { "as_of": { "type": [ "string", "null" ], "description": "Knowledge cutoff with timezone, e.g. 2024-06-30T23:59:59Z; omit for latest." }, "limit": { "type": "integer", "default": 50, "description": "Maximum rows per page, 1-100." }, "offset": { "type": "integer", "default": 0, "description": "Zero-based row offset; 0 starts the first page." }, "event_id": { "type": "string", "description": "Event ID from history results: exactly 64 lowercase hexadecimal characters." } } }arguments 29 linesgeopolitical_event_reaction unknown 8h ago
Precomputed FX reference-price moves for one currency pair around one geopolitical event, by event_id. Context only: not causation or a trading signal. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "event_id" ], "properties": { "pair": { "type": "string", "default": "EUR/USD", "description": "Uppercase BASE/QUOTE currency pair, e.g. EUR/USD." }, "as_of": { "type": [ "string", "null" ], "description": "Knowledge cutoff with timezone, e.g. 2024-06-30T23:59:59Z; omit for latest." }, "event_id": { "type": "string", "description": "Event ID from history results: exactly 64 lowercase hexadecimal characters." } } }arguments 24 linesevent_impact_replay_task unknown 20h ago
Replay verified publication events against measured 1, 5 and 20-observation FX reference returns. Daily windows exclude the publication-day fixing; changes from previous actuals are not consensus surprises. Access: USD needs no API key; other currencies return subscription_required with a subscribe link.
{ "type": "object", "required": [ "currency", "indicator" ], "properties": { "base": { "type": [ "string", "null" ], "default": "eur", "examples": [ "eur", "gbp", "aud", "usd" ], "description": "FX base currency for market context, 3-letter ISO code (case-insensitive). Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "quote": { "type": [ "string", "null" ], "default": "usd", "examples": [ "usd", "jpy", "chf" ], "description": "FX quote currency for market context, 3-letter ISO code (case-insensitive). Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "currency": { "type": "string", "examples": [ "usd", "eur", "gbp" ], "description": "Currency for macro event series, 3-letter ISO code (case-insensitive). Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Optional inclusive upper bound, YYYY-MM-DD." }, "indicator": { "type": "string", "examples": [ "inflation", "policy_rate", "gdp" ], "description": "Indicator slug for event replay. Supported examples: catalogue indicator slug, e.g. inflation or policy_rate." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "Optional inclusive lower bound, YYYY-MM-DD." }, "lookback_events": { "type": [ "integer", "null" ], "default": 12, "examples": [ 6, 12, 24 ], "description": "Maximum number of recent events to include in replay." } } }arguments 87 linesfx_trade_setup_task reads unknown never probed
Build a trader-oriented FX pair setup using spot context, macro differentials, upcoming catalyst risk, and optional COT positioning. Set view for pair context only or a ranked event-risk score. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "base", "quote" ], "properties": { "base": { "type": "string", "examples": [ "eur", "gbp", "aud" ], "description": "Base currency, 3-letter ISO code. Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "view": { "enum": [ "setup", "pair_intel", "release_risk" ], "type": "string", "default": "setup", "description": "setup (default) builds the full trade setup. pair_intel returns spot, carry and policy-differential context. release_risk ranks upcoming event risk for the pair." }, "quote": { "type": "string", "examples": [ "usd", "jpy", "chf" ], "description": "Quote currency, 3-letter ISO code. Supported: lowercase 3-letter catalogue currency, e.g. usd or eur." }, "end_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "view='pair_intel' only: inclusive upper bound, YYYY-MM-DD." }, "start_date": { "type": [ "string", "null" ], "examples": [ "2024-06-30" ], "description": "view='pair_intel' only: inclusive lower bound, YYYY-MM-DD." }, "include_cot": { "type": [ "boolean", "null" ], "default": false, "examples": [ true, false ], "description": "When true, attempt to include COT positioning context for both legs." }, "horizon_events": { "type": [ "integer", "null" ], "examples": [ 3, 4, 6 ], "description": "Maximum upcoming catalysts per leg to rank. Defaults to 4, or 6 for view='release_risk'." } } }arguments 81 linesresearch_run_list unknown never probed
List owned saved studies. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "properties": {} }arguments 4 linesresearch_run_reveal_holdout unknown never probed
Irreversibly expose a study holdout and record its exposure. The holdout can no longer be treated as unseen. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "run_id" ], "properties": { "run_id": { "type": "string", "description": "32 lowercase hex study ID from an owned run result." } } }arguments 12 linesresearch_paper_read unknown 25h ago
Read one reference paper account and its versions. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "book_id" ], "properties": { "book_id": { "type": "string", "description": "32 lowercase hex paper-account ID from an owned account result." } } }arguments 12 linesresearch_paper_start unknown never probed
Create a new reference paper account starting flat at USD 100. Replay is historical. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "run_id", "label", "request_id" ], "properties": { "mode": { "enum": [ "forward", "replay" ], "type": "string", "default": "forward", "description": "forward observes new reference inputs; replay simulates saved historical inputs." }, "label": { "type": "string", "description": "Account/version display label, 1-80 characters; no credentials." }, "limits": { "anyOf": [ { "type": "object", "additionalProperties": true }, { "type": "null" } ], "description": "Optional risk object: allocation (0,1], max_drawdown_pct 1-50, max_reference_age_days integer 1-7. Defaults: 1, 20, 4." }, "run_id": { "type": "string", "description": "32 lowercase hex study ID from an owned run result." }, "request_id": { "type": "string", "description": "Idempotency ID: 32 lowercase hex characters; reuse only when retrying the same request." } } }arguments 43 linesresearch_paper_start_version unknown never probed
Archive the current version and start a fresh immutable version flat at USD 100. Discards its active position and pending order without a synthetic closing fill; preserves history. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "book_id", "expected_version", "run_id", "label", "request_id" ], "properties": { "mode": { "enum": [ "forward", "replay" ], "type": "string", "default": "forward", "description": "forward observes new reference inputs; replay simulates saved historical inputs." }, "label": { "type": "string", "description": "Account/version display label, 1-80 characters; no credentials." }, "limits": { "anyOf": [ { "type": "object", "additionalProperties": true }, { "type": "null" } ], "description": "Optional risk object: allocation (0,1], max_drawdown_pct 1-50, max_reference_age_days integer 1-7. Defaults: 1, 20, 4." }, "run_id": { "type": "string", "description": "32 lowercase hex study ID from an owned run result." }, "book_id": { "type": "string", "description": "32 lowercase hex paper-account ID from an owned account result." }, "request_id": { "type": "string", "description": "Idempotency ID: 32 lowercase hex characters; reuse only when retrying the same request." }, "expected_version": { "type": "string", "description": "Current version_id returned by the account read; rejects stale updates." } } }arguments 53 linesresearch_paper_events unknown 4h ago
Read paged paper event summaries; full input evidence remains in the private audit export. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "book_id" ], "properties": { "offset": { "type": "integer", "default": 0, "description": "Zero-based row offset; 0 starts the first page." }, "book_id": { "type": "string", "description": "32 lowercase hex paper-account ID from an owned account result." } } }arguments 17 linesresearch_paper_pause unknown never probed
Pause new paper entries. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "book_id", "expected_version" ], "properties": { "book_id": { "type": "string", "description": "32 lowercase hex paper-account ID from an owned account result." }, "expected_version": { "type": "string", "description": "Current version_id returned by the account read; rejects stale updates." } } }arguments 17 linesresearch_paper_archive unknown never probed
Archive a paper account and its active version. This account cannot be resumed. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "book_id", "expected_version" ], "properties": { "book_id": { "type": "string", "description": "32 lowercase hex paper-account ID from an owned account result." }, "expected_version": { "type": "string", "description": "Current version_id returned by the account read; rejects stale updates." } } }arguments 17 linesresearch_paper_append_journal unknown never probed
Append a version-linked journal note; does not modify existing notes. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "book_id", "version_id", "kind", "body" ], "properties": { "body": { "type": "string", "description": "Journal note text, 1-6000 characters; no credentials." }, "kind": { "enum": [ "hypothesis", "observation", "decision", "review" ], "type": "string", "description": "Journal note category: hypothesis, observation, decision or review." }, "book_id": { "type": "string", "description": "32 lowercase hex paper-account ID from an owned account result." }, "event_id": { "type": [ "string", "null" ], "description": "Optional paper event ID from this version; omit for an unlinked note." }, "version_id": { "type": "string", "description": "Exact version_id belonging to this paper account, copied from its read result." } } }arguments 40 linesresearch_paper_revise_journal unknown never probed
Append a new revision of an existing journal note, retaining the previous revisions. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.
{ "type": "object", "required": [ "entry_id", "expected_revision", "book_id", "version_id", "kind", "body" ], "properties": { "body": { "type": "string", "description": "Journal note text, 1-6000 characters; no credentials." }, "kind": { "enum": [ "hypothesis", "observation", "decision", "review" ], "type": "string", "description": "Journal note category: hypothesis, observation, decision or review." }, "book_id": { "type": "string", "description": "32 lowercase hex paper-account ID from an owned account result." }, "entry_id": { "type": "string", "description": "Existing journal entry ID: 32 lowercase hex characters, copied from the journal." }, "event_id": { "type": [ "string", "null" ], "description": "Optional paper event ID from this version; omit for an unlinked note." }, "version_id": { "type": "string", "description": "Exact version_id belonging to this paper account, copied from its read result." }, "expected_revision": { "type": "integer", "description": "Current integer revision returned by the journal; rejects stale revisions." } } }arguments 50 linesorganisation_search unknown 30h ago
Find publication-cleared FX industry organisations by name or service, optionally within a business category. Returns at most ten directory references with canonical citation URLs; does not rank firms or export the database. Access: public directory references, no API key required.
{ "type": "object", "required": [ "query" ], "properties": { "limit": { "type": "integer", "default": 10, "description": "Maximum directory references, 1-10." }, "query": { "type": "string", "description": "Organisation name or service search, 2-120 characters, e.g. currency exchange." }, "category": { "type": [ "string", "null" ], "description": "Exact business category ID from directory results; omit to search all categories." } } }arguments 24 linesorganisation_profile unknown 30h ago
Read one sourced public organisation summary by slug, including services, original sources and a canonical FXMacroData citation URL. Directory references carry no claim of regulatory approval or endorsement. No claim evidence or contact records are returned. Access: one public organisation summary, no API key required.
{ "type": "object", "required": [ "slug" ], "properties": { "slug": { "type": "string", "description": "Exact lowercase hyphenated organisation slug from a directory search result." } } }arguments 12 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id57cab4c1363b9303.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/57cab4c1363b9303/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/57cab4c1363b9303?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.
Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.
- mcp.fxmacrodata.com FX Macrodata API
- api.fxmacrodata.com api.fxmacrodata.com