Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

FXMacroData

REMOTE · FXMACRODATA.COM · SCANNED SEP 21

Macroeconomic and FX time-series data for AI agents: indicators, calendars, COT, forex, commodities.

Available components

0 this week 87 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security80
Transport & Reachability100
Schema Quality & AI Usability73
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 20972 tokens (~355/item across 59 items; 50 tools + 9 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 96% of tool parameters carry a description.Partial
  • Structured output schemas are declared (48% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 50 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 52 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
  • Supports UI / widget rendering.Pass
Install

How do I install the FXMacroData MCP server?

FXMacroData is a hosted endpoint at https://fxmacrodata.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · fxmacrodata.com

# add to Claude Code
claude mcp add --transport http fxmacrodata-fxmacrodata 'https://fxmacrodata.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "fxmacrodata-fxmacrodata": {
      "url": "https://fxmacrodata.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "fxmacrodata-fxmacrodata": {
      "type": "http",
      "url": "https://fxmacrodata.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.fxmacrodata-fxmacrodata]
url = "https://fxmacrodata.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "fxmacrodata-fxmacrodata": {
      "type": "remote",
      "url": "https://fxmacrodata.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add fxmacrodata-fxmacrodata --url 'https://fxmacrodata.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  fxmacrodata-fxmacrodata:
    url: "https://fxmacrodata.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "fxmacrodata-fxmacrodata": {
      "Transport": "http",
      "Url": "https://fxmacrodata.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add fxmacrodata-fxmacrodata -t streamable-http -u 'https://fxmacrodata.com/mcp'
// mcp.json
{
  "mcpServers": {
    "fxmacrodata-fxmacrodata": {
      "type": "http",
      "url": "https://fxmacrodata.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 15 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • “event_impact_replay_task” reworded the description of “indicator” cosmetic
    • “event_predictions” reworded the description of “indicator” cosmetic
    • “indicator_intel_task” reworded the description of “indicator” cosmetic
    • “indicator_query” reworded the description of “indicator” cosmetic
    • “indicator_visual_artifact” reworded the description of “indicator” cosmetic
    • “known_at_time_task” reworded the description of “indicator” cosmetic
    • “macro_heatmap_task” reworded the description of “indicators” cosmetic
    • “macro_research_pack_task” reworded the description of “indicator” cosmetic
    • “macro_war_room_task” reworded the description of “indicator” cosmetic
    • “plot_visual_artifact” reworded the description of “indicator” cosmetic
    • “release_calendar” reworded the description of “indicator” cosmetic
    • “release_calendar_visual_artifact” reworded the description of “indicator” cosmetic
  • 13 Sept 26 0
    • Stability: 0.97 → pass security
  • 12 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “data_catalogue” rewrote its description, which is the text the model reads security
    • Tool “event_impact_replay_task” rewrote its description, which is the text the model reads security
    • Tool “event_predictions” rewrote its description, which is the text the model reads security
    • Tool “forex” rewrote its description, which is the text the model reads security
    • Tool “fx_backtest_task” rewrote its description, which is the text the model reads security
    • Tool “indicator_query” rewrote its description, which is the text the model reads security
    • Tool “indicator_visual_artifact” rewrote its description, which is the text the model reads security
    • Tool “known_at_time_task” rewrote its description, which is the text the model reads security
    • Tool “macro_news” rewrote its description, which is the text the model reads security
    • Tool “release_calendar” rewrote its description, which is the text the model reads security
    • Tool “release_calendar_visual_artifact” rewrote its description, which is the text the model reads security
    • New tool “prediction_coverage” functional
    • “event_predictions” added an optional parameter “annualization” cosmetic
    • “event_predictions” added an optional parameter “as_of” cosmetic
    • “event_predictions” added an optional parameter “basis” cosmetic
    • “event_predictions” added an optional parameter “before_date” cosmetic
    • “event_predictions” added an optional parameter “event_compatible_only” cosmetic
    • “event_predictions” added an optional parameter “frequency” cosmetic
    • “event_predictions” added an optional parameter “official_limit” cosmetic
    • “event_predictions” added an optional parameter “period_aggregation” cosmetic
    • “event_predictions” added an optional parameter “pre_release_only” cosmetic
    • “event_predictions” added an optional parameter “prediction_class” cosmetic
    • “event_predictions” added an optional parameter “seasonality” cosmetic
    • “indicator_query” added an optional parameter “as_of” cosmetic
    • “indicator_query” added an optional parameter “availability” cosmetic
    • “indicator_query” added an optional parameter “dataset_version” cosmetic
    • “indicator_query” added an optional parameter “revisions” cosmetic
    • “indicator_query” added an optional parameter “series_mode” cosmetic
    • “indicator_query” added an optional parameter “value_mode” cosmetic
    • “known_at_time_task” added an optional parameter “availability” cosmetic
    • “known_at_time_task” added an optional parameter “dataset_version” cosmetic
    • “data_catalogue” reworded the description of “currency” cosmetic
    • “event_impact_replay_task” reworded the description of “base” cosmetic
    • “event_impact_replay_task” reworded the description of “currency” cosmetic
    • “event_impact_replay_task” reworded the description of “quote” cosmetic
    • “event_predictions” reworded the description of “currency” cosmetic
    • “forex” reworded the description of “base” cosmetic
    • “forex” reworded the description of “quote” cosmetic
    • “forex_visual_artifact” reworded the description of “base” cosmetic
    • “forex_visual_artifact” reworded the description of “quote” cosmetic
    • “fx_backtest_task” reworded the description of “base” cosmetic
    • “fx_backtest_task” reworded the description of “event_gated” cosmetic
    • “fx_backtest_task” reworded the description of “event_window_days” cosmetic
    • “fx_backtest_task” reworded the description of “quote” cosmetic
    • “fx_trade_setup_task” reworded the description of “base” cosmetic
    • “fx_trade_setup_task” reworded the description of “quote” cosmetic
    • “indicator_intel_task” reworded the description of “currency” cosmetic
    • “indicator_query” reworded the description of “currency” cosmetic
    • “indicator_visual_artifact” reworded the description of “currency” cosmetic
    • “known_at_time_task” reworded the description of “as_of” cosmetic
    • “known_at_time_task” reworded the description of “currency” cosmetic
    • “macro_briefing_task” reworded the description of “currency” cosmetic
    • “macro_heatmap_task” reworded the description of “currencies” cosmetic
    • “macro_news” reworded the description of “currency” cosmetic
    • “macro_regime_classifier_task” reworded the description of “currency” cosmetic
    • “macro_research_pack_task” reworded the description of “currency” cosmetic
    • “macro_war_room_task” reworded the description of “base” cosmetic
    • “macro_war_room_task” reworded the description of “currency” cosmetic
    • “macro_war_room_task” reworded the description of “quote” cosmetic
    • “pair_intel_task” reworded the description of “base” cosmetic
    • “pair_intel_task” reworded the description of “quote” cosmetic
    • “plot_visual_artifact” reworded the description of “base” cosmetic
    • “plot_visual_artifact” reworded the description of “currency” cosmetic
    • “plot_visual_artifact” reworded the description of “quote” cosmetic
    • “policy_rate_differential_visual_artifact” reworded the description of “base” cosmetic
    • “policy_rate_differential_visual_artifact” reworded the description of “quote” cosmetic
    • “policy_scenario_modeler_task” reworded the description of “base” cosmetic
    • “policy_scenario_modeler_task” reworded the description of “quote” cosmetic
    • “quant_scenario_lab_task” reworded the description of “base” cosmetic
    • “quant_scenario_lab_task” reworded the description of “quote” cosmetic
    • “release_calendar” reworded the description of “currency” cosmetic
    • “release_calendar_visual_artifact” reworded the description of “currency” cosmetic
    • “release_risk_score_task” reworded the description of “base” cosmetic
    • “release_risk_score_task” reworded the description of “quote” cosmetic
  • 10 Sept 26 −1
    • Stability: pass → 0.90 functional
  • 9 Sept 26 −1
    • Tool “plot_visual_artifact” rewrote its description, which is the text the model reads security
    • Schema quality: 17491 → 19263 functional
    • New tool “financial_prices” functional
    • “event_impact_replay_task” reworded the description of “indicator” cosmetic
    • “event_predictions” reworded the description of “indicator” cosmetic
    • “event_predictions” reworded the description of “prediction_type” cosmetic
    • “indicator_intel_task” reworded the description of “indicator” cosmetic
    • “indicator_query” reworded the description of “indicator” cosmetic
    • “indicator_visual_artifact” reworded the description of “indicator” cosmetic
    • “known_at_time_task” reworded the description of “indicator” cosmetic
    • “macro_heatmap_task” reworded the description of “indicators” cosmetic
    • “macro_research_pack_task” reworded the description of “indicator” cosmetic
    • “macro_war_room_task” reworded the description of “indicator” cosmetic
    • “plot_visual_artifact” reworded the description of “indicator” cosmetic
    • “plot_visual_artifact” reworded the description of “series” cosmetic
    • “release_calendar” reworded the description of “indicator” cosmetic
    • “release_calendar_visual_artifact” reworded the description of “indicator” cosmetic
  • 8 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “announcement_changes” rewrote its description, which is the text the model reads security
    • Tool “commodities” rewrote its description, which is the text the model reads security
    • Tool “commodities_visual_artifact” rewrote its description, which is the text the model reads security
    • Tool “cot_data” rewrote its description, which is the text the model reads security
    • Tool “cot_visual_artifact” rewrote its description, which is the text the model reads security
    • Tool “data_catalogue” rewrote its description, which is the text the model reads security
    • Tool “event_impact_replay_task” rewrote its description, which is the text the model reads security
    • Tool “event_predictions” rewrote its description, which is the text the model reads security
    • Tool “forex” rewrote its description, which is the text the model reads security
    • Tool “forex_visual_artifact” rewrote its description, which is the text the model reads security
    • Tool “fx_intraday_reference_rates” rewrote its description, which is the text the model reads security
    • Tool “fx_reference_sources” rewrote its description, which is the text the model reads security
    • Tool “fx_reference_universe” rewrote its description, which is the text the model reads security
    • Tool “indicator_intel_task” rewrote its description, which is the text the model reads security
    • Tool “indicator_query” rewrote its description, which is the text the model reads security
    • Tool “indicator_visual_artifact” rewrote its description, which is the text the model reads security
    • Tool “known_at_time_task” rewrote its description, which is the text the model reads security
    • Tool “latest_announcements” rewrote its description, which is the text the model reads security
    • Tool “latest_commodities” rewrote its description, which is the text the model reads security
    • Tool “macro_briefing_task” rewrote its description, which is the text the model reads security
    • Tool “macro_factor” rewrote its description, which is the text the model reads security
    • Tool “macro_news” rewrote its description, which is the text the model reads security
    • Tool “macro_regime_classifier_task” rewrote its description, which is the text the model reads security
    • Tool “macro_research_pack_task” rewrote its description, which is the text the model reads security
    • Tool “macro_war_room_task” rewrote its description, which is the text the model reads security
    • Tool “official_dataset_family” rewrote its description, which is the text the model reads security
    • Tool “pair_intel_task” rewrote its description, which is the text the model reads security
    • Tool “plot_visual_artifact” rewrote its description, which is the text the model reads security
    • Tool “policy_rate_differential_visual_artifact” rewrote its description, which is the text the model reads security
    • Tool “policy_scenario_modeler_task” rewrote its description, which is the text the model reads security
    • Tool “press_releases” rewrote its description, which is the text the model reads security
    • Tool “rate_curve” rewrote its description, which is the text the model reads security
    • Tool “rate_differentials” rewrote its description, which is the text the model reads security
    • Tool “release_calendar” rewrote its description, which is the text the model reads security
    • Tool “release_calendar_visual_artifact” rewrote its description, which is the text the model reads security
    • Tool “risk_sentiment” rewrote its description, which is the text the model reads security
    • “event_predictions” reworded the description of “prediction_type” cosmetic
    • “plot_visual_artifact” reworded the description of “prediction_type” cosmetic
  • 5 Sept 26 +1
    • Tool “event_predictions” rewrote its description, which is the text the model reads security
    • Tool “indicator_query” rewrote its description, which is the text the model reads security
    • Tool “indicator_visual_artifact” rewrote its description, which is the text the model reads security
    • Tool “release_calendar” rewrote its description, which is the text the model reads security
    • Tool “release_calendar_visual_artifact” rewrote its description, which is the text the model reads security
    • Server version: 1.26.0 → 1.29.1 functional
    • “event_impact_replay_task” reworded the description of “indicator” cosmetic
    • “event_predictions” reworded the description of “indicator” cosmetic
    • “indicator_intel_task” reworded the description of “indicator” cosmetic
    • “indicator_query” reworded the description of “indicator” cosmetic
    • “indicator_visual_artifact” reworded the description of “indicator” cosmetic
    • “known_at_time_task” reworded the description of “indicator” cosmetic
    • “macro_heatmap_task” reworded the description of “indicators” cosmetic
    • “macro_research_pack_task” reworded the description of “indicator” cosmetic
    • “macro_war_room_task” reworded the description of “indicator” cosmetic
    • “plot_visual_artifact” reworded the description of “indicator” cosmetic
    • “release_calendar” reworded the description of “indicator” cosmetic
    • “release_calendar_visual_artifact” reworded the description of “indicator” cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Probed https://fxmacrodata.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=fxmacrodata.com CN=YE2,O=Let's Encrypt,C=US 25 Jul 2026 23 Oct 2026 ECDSA 256 ECDSA-SHA384 58af267b584425a52ff386f154acad4a635
SANs: *.fxmacrodata.com, fxmacrodata.com
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of fxmacrodata.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
fxmacrodata.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
content-security-policy default-src 'self' https: data: blob:; script-src 'self' 'unsafe-inline' https://cdnjs.cloudflare.com https://cdn.jsdelivr.net https://cdn.plot.ly https://cdn.ampproject.org https://appsforoffice.microsoft.com https://www.googletagmanager.com https://apis.google.com https://www.gstatic.com https://assets.endorsely.com https://googleads.g.doubleclick.net https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline' https:; img-src 'self' data: blob: https:; font-src 'self' data: https:; connect-src 'self' https: wss:; frame-src 'self' https:; object-src 'none'; base-uri 'self'; frame-ancestors 'self'; upgrade-insecure-requests; trusted-types default goog#html gapi#gapi
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=()

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://fxmacrodata.com/mcp Verified 200
http (plaintext) http://fxmacrodata.com/mcp HTTPS enforced 301 https://fxmacrodata.com/mcp
MCP tools · 50 exposed · ~19,626 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
announcement_changes ~170

Poll recently ingested macro announcement changes with a resumable cursor. This is the bounded MCP-safe companion to the release-event stream: use the returned next_cursor as since on a later call instead of holding an unbounded streaming tool invocation open. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
currenciesOptional comma-separated currency codes, `g10`, or `all`. Without subscriber access, results are limited to the public scope.
indicatorsOptional comma-separated announcement indicator slugs.
limitintegerMaximum matching change events to return.
payloadstringEvent payload shape: compact trigger rows or full announcement rows.
sinceOptional previous next_cursor, ISO 8601 timestamp, or Unix epoch seconds.
NameTypeReqDescription
resultobjectyes

No examples provided.

commodities ~170

Get historical price series for supported commodity indicators using the exact slugs advertised by this schema. Requires an API key. Supported indicators: crude_oil_inventories, gold, natural_gas, natural_gas_storage, oil_brent, oil_wti, platinum, silver. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
end_dateInclusive upper bound, YYYY-MM-DD.
indicatorCommodity indicator slug. Supported: crude_oil_inventories, gold, natural_gas, natural_gas_storage, oil_brent, oil_wti, platinum, silver.
start_dateInclusive lower bound, YYYY-MM-DD.
symbolBackward-compatible alias for `indicator`. Prefer `indicator` in new calls.
NameTypeReqDescription
resultobjectyes

No examples provided.

commodities_visual_artifact ~121

Same payload as commodities, but packaged with MCP Apps chart metadata so compatible clients render an interactive commodity chart inline. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
end_dateInclusive upper bound, YYYY-MM-DD.
indicatorstringyesCommodity indicator slug. Supported: crude_oil_inventories, gold, natural_gas, natural_gas_storage, oil_brent, oil_wti, platinum, silver.
start_dateInclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

cot_data ~216

Get weekly CFTC Commitment of Traders (COT) positioning data for a currency's FX futures contract on the CME. Use this when the user asks about speculator positioning, non-commercial longs vs shorts, hedge-fund FX positioning, or wants to gauge sentiment extremes. Returns weekly snapshots with long/short open interest by trader category. Updated every Friday at 15:30 ET reflecting the Tuesday cutoff. Requires an API key. Supported currencies: AUD, CAD, CHF, EUR, GBP, JPY, MXN, NZD, USD, XAU. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes3-letter ISO currency code for the FX futures contract (case-insensitive). Supported: AUD, CAD, CHF, EUR, GBP, JPY, MXN, NZD, USD, XAU.
end_dateInclusive upper bound, YYYY-MM-DD.
start_dateInclusive lower bound, YYYY-MM-DD.
NameTypeReqDescription
resultobjectyes

No examples provided.

cot_visual_artifact ~175

Same payload as cot_data, but with MCP Apps chart metadata. By default it charts noncommercial net positioning; pass `metric` to chart another COT field. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes3-letter ISO currency code for the FX futures contract (case-insensitive). Supported: AUD, CAD, CHF, EUR, GBP, JPY, MXN, NZD, USD, XAU.
end_dateInclusive upper bound, YYYY-MM-DD.
metricField to plot from each COT row. Typical values: noncommercial_net, noncommercial_net_zscore, noncommercial_long, noncommercial_short, open_interest.
start_dateInclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

data_catalogue ~371

List every macroeconomic indicator FXMacroData publishes for a currency, with units, frequency, and coverage/freshness metadata. ALWAYS call this first when the user asks about a country's macro data — it returns the exact `indicator` slug strings to pass to indicator_query, release_calendar, and indicator_visual_artifact. Check `coverage` before calling indicator_query; stale, partial, or unavailable rows are not suitable for real-time carry or inflation analysis. Supported currencies (lowercase 3-letter codes): AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
include_capabilitiesbooleanInclude machine-readable indicator capabilities when the API supports them, such as supported transformations, history availability, and release-calendar linkage.
include_coveragebooleanInclude coverage/freshness rows with latest_available_date, coverage_quality, has_recent_data, and recent_observation_count. Leave true when deciding whether an indicator is usable before calling ind…
indicatorOptional indicator slug to limit coverage calculation, for example `core_inflation`. Use this when you already know the candidate series.
NameTypeReqDescription
resultobjectyes

No examples provided.

event_impact_replay_task ~985

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. Supports MCP Tasks for async execution when clients send task-augmented requests. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
baseFX base currency for market context, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
currencystringyesCurrency for macro event series, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateOptional inclusive upper bound, YYYY-MM-DD.
indicatorstringyesIndicator slug for event replay. Supported examples: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr, breakeven_inflation_rate, bro…
lookback_eventsMaximum number of recent events to include in replay.
quoteFX quote currency for market context, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
start_dateOptional inclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

event_predictions ~1,275

Return stored forecasts, consensus-style predictions, central-bank projections, survey forecasts, IMF forecasts, nowcasts, or FXMacroData blended predictions for macro announcements. Use this with release_calendar and indicator_query when a report needs 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: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD. Call data_catalogue(currency) for the exact indicator slugs; the `indicator` parameter below also lists them. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
annualizationAnnualization selector, matching the announcement series.
as_ofHistorical publication cutoff with explicit timezone, or YYYY-MM-DD at UTC midnight. Later forecasts are excluded.
basisReal or nominal selector, matching the announcement series.
before_dateExclusive period-date cursor for event-linked groups; use the prior response's next_cursor.
currencystringyes3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateOptional inclusive upper bound by reference-period date, YYYY-MM-DD.
event_compatible_onlybooleanRestrict event-linked data to verified matching target periods, units and economic concepts. Native official_forecasts remain a separate section.
frequencyReturned change basis selector, matching the announcement series.
indicatorstringyesRequired indicator slug. Currency-wide prediction reads are not supported. Supported: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bg…
limitintegerMaximum prediction groups to return. Defaults to 20; maximum 100.
official_limitintegerMaximum native-period official forecasts; 0 omits this section. Inspect official_forecasts_truncated.
offsetintegerZero-based prediction-group offset.
pageOne-based page number. When supplied, overrides offset.
period_aggregationPeriod aggregation selector, matching the announcement series.
pre_release_onlybooleanRequire event-linked forecasts to have been generated before the announcement.
prediction_classForecast production class: compiled_consensus, forecaster_survey, market_implied, model_nowcast, central_bank_projection, institutional_projection or fxmacrodata.
prediction_sourceOptional source slug filter, for example ecb_spf or philly_fed_spf.
prediction_typeOptional legacy forecast-type filter, kept for existing clients. Prefer prediction_class: compiled_consensus, forecaster_survey, market_implied, model_nowcast, central_bank_projection, institutional_…
seasonalitySeasonal adjustment selector, matching the announcement series.
start_dateOptional inclusive lower bound by reference-period date, YYYY-MM-DD.
NameTypeReqDescription
resultobjectyes

No examples provided.

financial_prices ~133

Read persisted official financial price observations: government yield curves, individual securities, overnight benchmarks and reference prices. Preserves issuer, instrument, maturity, curve type and source precision. Requires an API key; an empty result means no stored observations for the selection. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes
end_date
instrument_id
issuer
limitinteger
measure
offsetinteger
source
start_date
NameTypeReqDescription
resultobjectyes

No examples provided.

forex ~635

Get raw historical FX spot-rate rows for a currency pair (e.g. EUR/USD, USD/JPY). Prefer this tool when the user explicitly wants a plain-text table, raw rows, exact values, JSON-like data, or technical-indicator series (SMA, EMA, RSI, MACD, Bollinger Bands, etc.) computed from spot without a chart. If the user asks more generally to show/tell/explain the last few weeks or months of a pair, prefer forex_visual_artifact instead so the client can render a chart. Daily granularity from official central-bank reference rates with full multi-year history. Supported currencies (use lowercase 3-letter codes): AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD. Optional `indicators` parameter accepts a comma-separated list of technical indicator slugs to attach to each row. Supported indicator values: 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. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
basestringyesBase currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateInclusive upper bound, YYYY-MM-DD. Defaults to today.
indicatorsComma-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_s…
quotestringyesQuote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
start_dateInclusive lower bound, YYYY-MM-DD. Defaults to ~5 years ago.
NameTypeReqDescription
resultobjectyes

No examples provided.

forex_visual_artifact ~421

Same payload as forex, but packaged with MCP Apps chart metadata so compatible clients render an interactive spot-rate chart inline. Prefer this by default for FX pair time-series requests, especially for prompts like 'show me AUD/USD', 'tell me the last 30 days', 'how has EUR/USD moved recently', or any request where a trend view is more useful than raw rows. Only prefer plain forex when the user explicitly asks for a table, raw values, JSON, CSV-style output, or exact row-by-row data. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
basestringyesBase currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateInclusive upper bound, YYYY-MM-DD.
indicatorsOptional technical indicators to include in the raw payload. 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_signa…
quotestringyesQuote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
start_dateInclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

fx_backtest_task ~378

Run a spot-only FX backtest using historical policy-rate-differential and/or lagged momentum signals. Download complete histories, verify vintages and price coverage, and charge opening, rebalancing and closing costs. The carry signal does not include funding income or broker rollover. Supports MCP Tasks for async execution when clients send task-augmented requests.

NameTypeReqDescription
basestringyesBase currency, 3-letter ISO code. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateInclusive upper bound, YYYY-MM-DD.
event_gatedWhen true, allow positions only after verified historical policy publications for either currency. This does not use future calendars or trade before a release.
event_window_daysAdditional calendar days after the first UTC decision following publication; 0 permits that first day only.
initial_capitalStarting capital for equity-curve calculations.
momentum_lookbackMomentum lookback in observations for the momentum signal.
quotestringyesQuote currency, 3-letter ISO code. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
start_dateInclusive lower bound, YYYY-MM-DD.
strategySignal mode: carry, momentum, or carry_momentum.
transaction_cost_bpsPer-side transaction cost in basis points applied on position changes.

No output schema declared.

No examples provided.

fx_intraday_reference_rates ~106

Return subscriber intraday official FX reference-rate observations for one pair. Call fx_reference_universe first to verify pair and source availability. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
basestringyesBase currency code.
end_timeOptional inclusive RFC 3339 source timestamp.
quotestringyesQuote currency code.
start_timeOptional inclusive RFC 3339 source timestamp.
NameTypeReqDescription
resultobjectyes

No examples provided.

fx_reference_sources ~52

List public official FX reference-rate sources and their source policy before requesting a pair-specific intraday reference-rate series. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultobjectyes

No examples provided.

fx_reference_universe ~80

List the public FX reference-rate pair universe, optionally filtered by currency or source id. Call this before requesting an intraday reference-rate series. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
currencyOptional 3-letter currency filter.
sourceOptional official source id filter.
NameTypeReqDescription
resultobjectyes

No examples provided.

fx_trade_setup_task ~231

Build a trader-oriented FX pair setup using spot context, macro differentials, upcoming catalyst risk, and optional COT positioning. Supports MCP Tasks for async execution when clients send task-augmented requests.

NameTypeReqDescription
basestringyesBase currency, 3-letter ISO code. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
horizon_eventsMaximum upcoming catalysts per leg to rank.
include_cotWhen true, attempt to include COT positioning context for both legs.
quotestringyesQuote currency, 3-letter ISO code. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.

No output schema declared.

No examples provided.

indicator_intel_task ~785

Build an intelligence pack for one indicator by combining chart-ready series data, derived analytics, and nearest release timing context. Supports MCP Tasks for async execution when clients send task-augmented requests. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateInclusive upper bound, YYYY-MM-DD.
indicatorstringyesIndicator slug for the given currency. Supported: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr, breakeven_inflation_rate, broad_…
start_dateInclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

indicator_query ~1,385

Get a paginated historical time series of a single macroeconomic indicator for a currency, sourced directly from the official central bank or statistical agency. Use this for CPI/inflation, GDP, unemployment, policy rates, bond yields, payrolls, retail sales, PCE, PPI, trade balance, current account, money supply, and similar series. Each row returns `date` (economic reference period), `val` (numeric), and separate publication evidence. Use `as_of` for historically eligible values; current values can include later revisions. Use known_at_time_task for a complete, verified historical slice. This plain tool returns raw rows for data workflows. Use `indicator_visual_artifact` when the host should render an MCP App chart. Use `limit`, `offset`, or `page` to page through broad histories; check `pagination.next_offset` and `pagination.page_includes_latest_available` in the result. Responses default to official-source rows only; prohibited private aggregator rows are always removed. Always call data_catalogue(currency) first to get the exact indicator slug. USD indicators are free; non-USD requires API key. Supported currencies: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD. Call data_catalogue(currency) for the exact indicator slugs; the `indicator` parameter below also lists them. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
as_ofHistorical decision cutoff with explicit timezone, or YYYY-MM-DD at UTC midnight; verifies vintages before returning rows.
availabilitystringReplay clock: public or captured. Used with as_of.
currency3-letter ISO currency code (case-insensitive). Optional if `slug` is provided as a `"usd:cpi"`-style compound. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NO…
dataset_versionOptional content version; use the first page's version on subsequent pages to reject changed data.
end_dateInclusive upper bound, YYYY-MM-DD.
indicatorIndicator slug for the given currency. Optional if `slug` is provided as a `"usd:cpi"`-style compound. Supported: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_go…
limitintegerMaximum rows to return from the existing REST pagination path. Defaults to 20; maximum 100.
official_onlybooleanWhen true, return only official-source rows and remove explicit fallback observations. Prohibited private aggregator rows are always removed.
offsetintegerZero-based row offset after most-recent-first ordering.
pageOne-based page number. When supplied, the REST endpoint derives offset as `(page - 1) * limit`.
revisionsRevision view: latest, first, final or all. Historical replay uses latest among vintages eligible at as_of.
series_modeSeries mode: canonical or raw. Historical replay defaults to raw.
slugOptional 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`…
start_dateInclusive lower bound, YYYY-MM-DD.
value_modeValue mode: normalized or source. Historical replay defaults to unchanged source values and requires raw series mode.
NameTypeReqDescription
resultobjectyes

No examples provided.

indicator_visual_artifact ~1,031

Same payload as indicator_query, but also returns MCP Apps metadata so compatible clients (Claude Desktop, ChatGPT, Codex, etc.) render an interactive line chart instead of a JSON dump. Prefer this by default for indicator time-series requests, especially when the user asks to show, tell, explain, compare, inspect a trend, or review a recent window. For broad histories, use the existing `limit`, `offset`, or `page` controls and inspect `pagination.next_offset` rather than retrying with arbitrary shorter windows. Only fall back to indicator_query when the user explicitly wants a raw table, plain text list, JSON, exact rows, or minimal structured data. Supported currencies: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD. Call data_catalogue(currency) for the exact indicator slugs; the `indicator` parameter below also lists them. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateInclusive upper bound, YYYY-MM-DD.
indicatorstringyesIndicator slug. Supported: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr, breakeven_inflation_rate, broad_dollar_index, broad_mon…
limitintegerMaximum rows to render from the existing REST pagination path. Defaults to 20; maximum 100.
offsetintegerZero-based row offset after most-recent-first ordering.
pageOne-based page number. When supplied, the REST endpoint derives offset as `(page - 1) * limit`.
start_dateInclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

known_at_time_task ~870

Return the slice of a macro series that would have been known at a specific timestamp, selecting verified value vintages before pagination. Supports MCP Tasks for async execution when clients send task-augmented requests. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
as_ofstringyesUTC ISO-8601 timestamp or YYYY-MM-DD cutoff (start of UTC day). Only verified value vintages eligible on the selected availability clock are returned.
availabilitystringHistorical availability clock: public source-publication evidence or captured per-value observation evidence.
currencystringyes3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
dataset_versionOptional content version returned by a previous replay; a changed dataset returns an error.
end_dateOptional inclusive upper bound, YYYY-MM-DD.
indicatorstringyesIndicator slug for the given currency. Supported: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr, breakeven_inflation_rate, broad_…
start_dateOptional inclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

latest_announcements ~80

Return the latest stored macroeconomic value for every available indicator in one currency. Use this for a compact current macro snapshot after data_catalogue has confirmed the currency coverage. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes3-letter ISO currency code (case-insensitive).
NameTypeReqDescription
resultobjectyes

No examples provided.

latest_commodities ~55

Return the latest stored value for every available commodity indicator in one response. This subscriber tool is the batch counterpart to commodities. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultobjectyes

No examples provided.

macro_briefing_task ~163

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. Supports MCP Tasks for async execution when clients send a task-augmented request. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.

No output schema declared.

No examples provided.

macro_factor ~178

Return a precomputed macro factor for one currency, with optional stored component scores and source references. Use this for a documented factor value, not as a substitute for inspecting its underlying macro releases. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes3-letter ISO currency code (case-insensitive).
end_dateOptional inclusive end date, YYYY-MM-DD.
factorstringyesFactor slug, for example monetary_stance.
include_componentsbooleanInclude stored component scores when available.
include_sourcesbooleanInclude public source endpoint references when available.
limitintegerMaximum rows to return.
offsetintegerZero-based row offset.
start_dateOptional inclusive start date, YYYY-MM-DD.
NameTypeReqDescription
resultobjectyes

No examples provided.

macro_heatmap_task ~778

Build a cross-currency macro heatmap from indicator time series and return a matrix with latest values, recent changes, and z-scores. Supports MCP Tasks for async execution when clients send task-augmented requests.

NameTypeReqDescription
currenciesComma-separated 3-letter currency codes (lowercase preferred). Supported values include: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateOptional inclusive upper bound, YYYY-MM-DD.
indicatorsComma-separated indicator slugs to include in the matrix. Supported values include: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr…
start_dateOptional inclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

macro_news ~263

Return recent official central-bank news and press-release headlines for a currency. Use this when a report needs headline context for central-bank policy, inflation, employment, GDP, trade, fiscal, energy, or commodity narratives. The tool returns official-source headline rows and lightweight keyword-derived affected_indicators and sentiment fields when a headline is classifiable. Supported currencies: AUD, BRL, CAD, CHF, CZK, DKK, EUR, GBP, HKD, ILS, INR, JPY, NGN, NOK, NZD, PEN, PLN, SEK, USD, ZAR. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CZK, DKK, EUR, GBP, HKD, ILS, INR, JPY, NGN, NOK, NZD, PEN, PLN, SEK, USD, ZAR.
limitintegerMaximum number of headline rows to request.
lookback_daysintegerMaximum age of returned headlines in calendar days when headline timestamps are available.
offsetintegerZero-based headline offset.
NameTypeReqDescription
resultobjectyes

No examples provided.

macro_regime_classifier_task ~177

Classify a currency's macro regime using policy rate, inflation, GDP, and unemployment context, with explicit assumptions and confidence notes. Supports MCP Tasks for async execution when clients send task-augmented requests. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateOptional inclusive upper bound, YYYY-MM-DD.
start_dateOptional inclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

macro_research_pack_task ~804

Bundle catalogue, indicator history, next release timing, and optional FX pair context into one persistent-host-friendly research payload. Supports MCP Tasks for async execution when clients send task-augmented requests. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
baseOptional FX base currency for pair context.
currencystringyes3-letter ISO currency code. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateOptional inclusive upper bound, YYYY-MM-DD.
indicatorstringyesIndicator slug. Supported: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr, breakeven_inflation_rate, broad_dollar_index, broad_mon…
quoteOptional FX quote currency for pair context.
start_dateOptional inclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

macro_war_room_task ~950

Build a multi-panel macro market cockpit that combines FX sessions, upcoming release queue, pair context, and generated risk alerts. Supports MCP Tasks for async execution when clients send task-augmented requests. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
baseBase currency for pair context, 3-letter ISO code (case-insensitive). Defaults to the release currency when omitted. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, N…
currencyRelease currency used for queue and spotlight indicator. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateOptional inclusive upper bound, YYYY-MM-DD.
indicatorSpotlight indicator slug for release context. Supported examples: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr, breakeven_inflat…
quoteQuote currency for pair context, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
start_dateOptional inclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

market_sessions ~122

Tell the user which FX trading sessions are currently open (Sydney, Tokyo, London, New York) and when the next session opens/closes. Use this when the user asks 'is the market open?', 'when does London open?', or 'which sessions overlap right now?'. Pass an ISO-8601 UTC timestamp via `at` to get the snapshot for a specific moment instead of now. Accounts for weekends and major banking holidays.

NameTypeReqDescription
atOptional ISO-8601 UTC timestamp; defaults to now. Use to snapshot session state at a specific moment.
NameTypeReqDescription
resultobjectyes

No examples provided.

mcp_auth_guide ~82

Explain which authentication mode to use for FXMacroData MCP across major clients and platforms. Use this when the user asks whether to use OAuth, an API key, a bearer token, ChatGPT/OpenAI Apps, Claude/Anthropic, Microsoft/VS Code/Copilot-style clients, AstrBot, Cursor, Codex, local scripts, or CI.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

mcp_capabilities ~89

Explain what the FXMacroData MCP server can do, which tools render MCP Apps, which tools return plain rows, what is public versus subscriber-only, and how to choose tools across ChatGPT, Claude, Cursor, Codex, and plain MCP clients. Use this when a user asks what is available, why visuals are not showing, or how to get the same result in a different interface.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

official_dataset_family ~259

Get metadata-first official dataset payloads grouped by API endpoint type. Use endpoint_type to pick the API taxonomy group and dataset to choose the specific series family. Supported endpoint types: monetary_policy, fiscal_policy, international_trade, statistics_releases. Supported datasets: auction_metrics, bop, capital_flows, cb_liquidity, credit_conditions, external_debt, fx_intervention, iip, services_trade, treasury_cash, wage_settlements. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
componentRequired only when dataset='bop'. Supported bop components: goods_balance, services_balance, primary_income, secondary_income, current_account, capital_account, financial_account.
currencystringyes3-letter ISO currency code (case-insensitive).
datasetstringyesDataset slug within the selected endpoint_type. Supported: auction_metrics, bop, capital_flows, cb_liquidity, credit_conditions, external_debt, fx_intervention, iip, services_trade, treasury_cash, wa…
endpoint_typestringyesEndpoint taxonomy group from the API structure. Supported: monetary_policy, fiscal_policy, international_trade, statistics_releases.
NameTypeReqDescription
resultobjectyes

No examples provided.

pair_intel_task ~253

Build an intelligence pack for an FX pair by combining policy-rate spread context, spot-rate context, and release-timing metadata. Supports MCP Tasks for async execution when clients send task-augmented requests. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
basestringyesBase currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateInclusive upper bound, YYYY-MM-DD.
quotestringyesQuote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
start_dateInclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

ping ~40

Quick health check that confirms the FXMacroData API and MCP server are reachable. Use this only if other tools fail unexpectedly — it is not needed before normal calls.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultobjectyes

No examples provided.

plot_visual_artifact ~1,410

Build a generic MCP Apps chart from one or more FXMacroData endpoint families. Use this for arbitrary plot requests, multi-series charts, and actual-vs-consensus views that need to combine announcements with event_predictions. Supported series sources are announcements, predictions, forex, commodities, and cot. For example, plot USD policy-rate midpoint actuals against market consensus by passing one announcements series for `usd/policy_rate_midpoint` and one predictions series for `usd/policy_rate_midpoint` with `prediction_class=forecaster_survey`. This tool never fetches arbitrary URLs or runs custom chart code; it only composes approved FXMacroData API surfaces into the comparison chart app. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
baseBase currency for single-series forex plots. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
chart_kindstringInitial chart view. Supported: line, area, bar, dot, step.
currencySingle-series currency for announcements, predictions, or COT. Supported macro currencies: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD…
end_dateInclusive upper bound, YYYY-MM-DD.
indicatorSingle-series indicator for announcements, predictions, or commodities. Supported macro indicators: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_o…
limitintegerMaximum rows per source. Defaults to 20; maximum 100.
offsetintegerZero-based row offset per source.
pageOne-based page number per source.
prediction_sourceOptional prediction source filter for prediction series.
prediction_typeOptional legacy prediction-type filter for prediction series. Prefer prediction_class.
queryOptional natural-language request to preserve in the payload title/context.
quoteQuote currency for single-series forex plots. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
seriesOptional list of series specs. Each spec supports `source` (announcements, predictions, forex, commodities, cot), `currency`, `indicator`, `base`, `quote`, `label`, `y_key`, `metric`, `prediction_cla…
sourceSingle-series source when `series` is omitted. Supported values: announcements, predictions, forex, commodities, cot.
start_dateInclusive lower bound, YYYY-MM-DD.
titleOptional chart title. Defaults to query or an auto-generated title.
x_axisstringField to use as the shared x-axis. Supported: date, announcement_datetime, announcement_datetime_local, generated_at, observation_datetime.
y_keySingle-series metric field. Defaults by source: val for announcements and commodities, predicted_value for predictions, rate for forex, noncommercial_net for COT.
y_labelOptional y-axis label for the chart.

No output schema declared.

No examples provided.

policy_rate_differential_visual_artifact ~240

Build a two-series chart comparing base and quote policy-rate history to visualize the rate differential setup for an FX pair. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
basestringyesBase currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateInclusive upper bound, YYYY-MM-DD.
quotestringyesQuote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
start_dateInclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

policy_scenario_modeler_task ~354

Run a policy-rate spread what-if scenario for an FX pair and estimate directional spot impact using an explicit heuristic elasticity assumption. Supports MCP Tasks for async execution when clients send task-augmented requests. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
basestringyesBase currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
elasticity_per_100bpsHeuristic percent change in FX spot for a 100 bps spread change. Used as a scenario assumption, not a forecast guarantee.
end_dateOptional inclusive upper bound, YYYY-MM-DD.
policy_shock_bpsOptional alias for shock_bps for compatibility with host-side app payloads.
quotestringyesQuote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
shock_bpsPolicy shock size in basis points (100 bps = 1.00 percentage point).
shock_legWhich leg receives the policy shock: base or quote.
start_dateOptional inclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

portfolio_risk_engine_task ~126

Analyze a multi-position FX book for concentration, stress exposure, and event-driven catalyst risk. Supports MCP Tasks for async execution when clients send task-augmented requests.

NameTypeReqDescription
horizon_eventsMaximum release events to consider per currency leg.
positions_jsonstringyesJSON array of FX positions. Each item should include base, quote, side (long/short), and notional. Example: [{"base":"eur","quote":"usd","side":"long","notional":100000}]
stress_shock_pctStress shock in percent applied to each pair.

No output schema declared.

No examples provided.

prediction_coverage ~241

List which publishers produce pre-release forecasts for a currency's indicators, what class of forecast each one is (compiled consensus, forecaster survey, market implied, model nowcast, central-bank projection), whether any of them is a genuine consensus, and how far the verified archive runs. Call this whenever the user asks whether a consensus, forecast or estimate exists for a release -- 'do you have the consensus for US CPI', 'what forecast do you have for payrolls' -- BEFORE calling event_predictions, and whenever event_predictions returns nothing or returns subscription_required. It needs no API key and works for every served currency. It returns no forecast values: those require a subscription. Its answer distinguishes the two cases a user cannot otherwise tell apart -- no publisher produces this forecast for anybody (no subscription adds it), versus the data exists and is behind the paywall. Never report a pair listed here as unavailable. Access: free for every currency, no API key required. It returns coverage metadata only; forecast values need a subscription.

NameTypeReqDescription
currencyOptional 3-letter currency code. Omit for the cross-currency summary; pass one for per-indicator detail.
NameTypeReqDescription
resultobjectyes

No examples provided.

press_releases ~109

Return the public central-bank press-release archive for a currency without adding derived sentiment or indicator classifications. Use macro_news when a headline summary is useful; use this tool when the original official release rows matter. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes3-letter ISO currency code (case-insensitive).
limitintegerMaximum rows to return.
offsetintegerZero-based row offset.
NameTypeReqDescription
resultobjectyes

No examples provided.

quant_scenario_lab_task ~325

Run an expanded quant-style policy scenario for an FX pair with deterministic projection, stress percentiles, and horizon assumptions. Supports MCP Tasks for async execution when clients send task-augmented requests.

NameTypeReqDescription
annualized_volatility_pctAnnualized volatility assumption (percent) for stress-band construction.
basestringyesBase currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
elasticity_per_100bpsHeuristic percent FX move per 100 bps spread change.
end_dateOptional inclusive upper bound, YYYY-MM-DD.
horizon_daysScenario horizon in calendar days.
quotestringyesQuote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
shock_bpsPolicy shock size in basis points (100 bps = 1.00 percentage point).
shock_legWhich leg receives the policy shock: base or quote.
start_dateOptional inclusive lower bound, YYYY-MM-DD.

No output schema declared.

No examples provided.

rate_curve ~140

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: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes3-letter currency code.
curve_familystringOfficial curve family.
dateOptional target date, YYYY-MM-DD.
methodstringForward derivation method when view is forwards.
metricstringCurve metric.
viewstringCurve view: nodes, slopes, or forwards.
NameTypeReqDescription
resultobjectyes

No examples provided.

rate_differentials ~216

Return the stored or derived rate differential for one FX pair. Use the returned measure, rate type, curve family, and tenor metadata when explaining the result. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
basestringyesBase currency code.
curve_familystringCurve family when rate_type is forward.
end_dateOptional inclusive end date, YYYY-MM-DD.
end_tenor_yearsnumberEnd tenor in years for forward differentials.
limitintegerMaximum rows to return.
measurestringShared rate measure to compare across the pair.
offsetintegerZero-based row offset.
quotestringyesQuote currency code.
rate_typestringDifferential type: spot or forward.
start_dateOptional inclusive start date, YYYY-MM-DD.
start_tenor_yearsnumberStart tenor in years for forward differentials.
NameTypeReqDescription
resultobjectyes

No examples provided.

release_calendar ~1,042

Get upcoming scheduled macroeconomic release timestamps for a currency. Use this when the user asks 'when is the next CPI/GDP/payrolls/policy decision', or to plan a trade around a known release. Returns ISO-8601 announcement_datetime values in UTC plus market-local timestamps. Pass `timezone` for an additional `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; do not show stale past rows unless the user explicitly asks for historical/past calendar data. Consumer-facing clients should present the returned markdown agenda or render the Release Calendar App resource; do not summarize this tool as only a row count. Pass an optional `indicator` filter to narrow to a single series. Pass optional `start_date` and `end_date` bounds when the user mentions a month, week, day, or explicit date range. Supported currencies: AUD, BRL, CAD, CHF, CNH, CNY, COMM, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD. Call data_catalogue(currency) for the exact indicator slugs; the `indicator` parameter below also lists them. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, COMM, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateOptional inclusive upper bound, YYYY-MM-DD.
indicatorOptional indicator slug to narrow results. Supported: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr, breakeven_inflation_rate, br…
start_dateOptional inclusive lower bound, YYYY-MM-DD.
timezoneOptional IANA timezone for an additional converted timestamp, for example America/Sao_Paulo.

No output schema declared.

No examples provided.

release_calendar_visual_artifact ~995

Same payload as release_calendar, but named as an explicit visual artifact tool so compatible MCP Apps clients render the interactive Release Calendar App inline. Prefer this by default when the user asks to show, display, visualize, or render a macro release calendar, especially for prompts like 'show me the AUD release calendar'. Only prefer plain release_calendar when the user explicitly asks for a raw table, JSON, exact rows, or text-only output. Pass optional `indicator`, `start_date`, and `end_date` filters when the user names a specific series, month, week, day, or date range. Pass `timezone` when the user asks for local times in a specific city or region. Supported currencies: AUD, BRL, CAD, CHF, CNH, CNY, COMM, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD. Call data_catalogue(currency) for the exact indicator slugs; the `indicator` parameter below also lists them. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.

NameTypeReqDescription
currencystringyes3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, COMM, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
end_dateOptional inclusive upper bound, YYYY-MM-DD.
indicatorOptional indicator slug to narrow results. Supported: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr, breakeven_inflation_rate, br…
start_dateOptional inclusive lower bound, YYYY-MM-DD.
timezoneOptional IANA timezone for an additional converted timestamp, for example America/Sao_Paulo.

No output schema declared.

No examples provided.

release_risk_score_task ~204

Score upcoming releases for a currency pair using release-calendar proximity and indicator-level heuristics. Supports MCP Tasks for async execution when clients send task-augmented requests.

NameTypeReqDescription
basestringyesBase currency, 3-letter ISO code. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.
horizon_eventsMaximum release events per currency to score.
quotestringyesQuote currency, 3-letter ISO code. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.

No output schema declared.

No examples provided.

risk_sentiment ~124

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. Use this for cross-asset regime context before classifying high-beta, safe-haven, commodity, or USD-defensive FX conditions. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.

NameTypeReqDescription
end_dateOptional inclusive end date in YYYY-MM-DD format.
start_dateOptional inclusive start date in YYYY-MM-DD format.
NameTypeReqDescription
resultobjectyes

No examples provided.

seasonality ~180

Get monthly return seasonality for an FX pair or XAU/USD. Use this when the user asks for seasonal patterns, month-of-year tendency, historical monthly win rate, or 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.

NameTypeReqDescription
end_dateInclusive upper bound, YYYY-MM-DD. Defaults to today.
instrumentstringyesSix-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_yearsNumber of years to include, 2-30. Defaults to 10.
monthOptional month filter, 1-12 or name such as July.
NameTypeReqDescription
resultobjectyes

No examples provided.

subscribe_for_mcp_access ~37

Open subscription options when a user needs to unlock MCP app visuals, charts, and advanced analytical tools. Returns a direct checkout path.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

Common questions

What is the FXMacroData MCP server?

FXMacroData is an MCP server listed in the public MCP registry as io.github.fxmacrodata/fxmacrodata. Macroeconomic and FX time-series data for AI agents: indicators, calendars, COT, forex, commodities. This page covers its hosted endpoint (https://fxmacrodata.com/mcp).

Is the FXMacroData MCP server safe to use?

FXMacroData scores 87 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the FXMacroData MCP server expose?

FXMacroData exposes 50 tools: ping, mcp_capabilities, mcp_auth_guide, subscribe_for_mcp_access, data_catalogue, and 45 more. Their descriptions and schemas cost roughly 19,626 tokens of context every time the server is loaded.

Does the FXMacroData MCP server require authentication?

No. We connected to FXMacroData without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the FXMacroData MCP server still maintained?

FXMacroData is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.