# FXMacroData (remote · fxmacrodata.com)

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

- Trust score: 69/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `fxmacrodata.com`: 69/100 (this document), [markdown](https://verifymcp.io/servers/fxmacrodata-fxmacrodata/fxmacrodata.md), [page](https://verifymcp.io/servers/fxmacrodata-fxmacrodata/fxmacrodata)

## Channel facts

- Endpoint: `https://fxmacrodata.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.1`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS check failed: the endpoint is reachable over plaintext HTTP.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 73/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 19034 tokens (~333/item across 57 items; 48 tools + 9 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (46% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.
  - Supports UI / widget rendering.

## Install

### Claude

```bash
claude mcp add --transport http fxmacrodata-fxmacrodata https://fxmacrodata.com/mcp
```

### Codex

```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
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add fxmacrodata-fxmacrodata --url https://fxmacrodata.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  fxmacrodata-fxmacrodata:
    url: "https://fxmacrodata.com/mcp"
```

### Other

```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 recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 69, +1)

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

### 2026-08-01 (score 68, +1)

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

### 2026-07-31 (score 67, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 67, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 66, +1)

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

### 2026-07-27 (score 65, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 64)

First indexed and scored.

## MCP tools (48)

### `ping` (~40 tokens)

Ping

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.

Output parameters:

- `result` (object)

### `mcp_capabilities` (~89 tokens)

MCP Capabilities

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.

### `mcp_auth_guide` (~82 tokens)

MCP Auth Guide

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.

### `subscribe_for_mcp_access` (~37 tokens)

Subscribe For MCP Access

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

### `data_catalogue` (~326 tokens)

Indicator Catalogue

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, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.

Input parameters:

- `currency` (string, required): 3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `include_capabilities` (boolean): Include machine-readable indicator capabilities when the API supports them, such as supported transformations, history availability, and release-calendar linkage.
- `include_coverage` (boolean): Include 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…
- `indicator`: Optional indicator slug to limit coverage calculation, for example `core_inflation`. Use this when you already know the candidate series.

Output parameters:

- `result` (object)

### `risk_sentiment` (~103 tokens)

Global Risk Sentiment

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.

Input parameters:

- `end_date`: Optional inclusive end date in YYYY-MM-DD format.
- `start_date`: Optional inclusive start date in YYYY-MM-DD format.

Output parameters:

- `result` (object)

### `macro_news` (~252 tokens)

Macro News

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, CNY, CZK, DKK, EUR, GBP, HKD, INR, JPY, MXN, NOK, NZD, PEN, PLN, SEK, SGD, THB, USD, ZAR.

Input parameters:

- `currency` (string, required): 3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, INR, JPY, MXN, NOK, NZD, PEN, PLN, SEK, SGD, THB, USD, ZAR.
- `limit` (integer): Maximum number of headline rows to request.
- `lookback_days` (integer): Maximum age of returned headlines in calendar days when headline timestamps are available.
- `offset` (integer): Zero-based headline offset.

Output parameters:

- `result` (object)

### `release_calendar` (~1416 tokens)

Release Calendar

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: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, CNH, CNY, COMM, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, KRW, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR. Supported indicators: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, building_approvals, building_permits, business_confidence, capital_account_balance, cb_assets, commodity_price_energy, commodity_price_ex_energy, commodity_price_index, commodity_prices, consumer_confidence, core_inflation, core_inflation_median, core_inflation_mom, core_inflation_trim, core_pce, core_pce_mom, credit_growth, crude_oil_inventories, current_account_balance, dairy_exports, deposit_rates, durable_goods_orders, employment, exports, financial_account_balance, foreign_reserves, full_time_employment, gdp, gdp_growth_q4_yoy, gdp_growth_qoq_saar, gdp_quarterly, gold_reserves, gov_bond_10y, gov_bond_1y, gov_bond_20y, gov_bond_2y, gov_bond_30y, gov_bond_3y, gov_bond_…

Input parameters:

- `currency` (string, required): 3-letter ISO currency code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, CNH, CNY, COMM, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, KRW, MAD, MXN, MYR,…
- `end_date`: Optional inclusive upper bound, YYYY-MM-DD.
- `indicator`: Optional indicator slug to narrow results. Supported: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, building_approvals, buildi…
- `start_date`: Optional inclusive lower bound, YYYY-MM-DD.
- `timezone`: Optional IANA timezone for an additional converted timestamp, for example America/Sao_Paulo.

### `release_calendar_visual_artifact` (~1369 tokens)

Release Calendar Visual Artifact

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: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, CNH, CNY, COMM, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, KRW, MAD, MXN, MYR, NGN, NOK, NZD, PEN, PHP, PKR, PLN, RUB, SAR, SEK, SGD, THB, TRY, TWD, USD, UYU, VND, ZAR. Supported indicators: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, building_approvals, building_permits, business_confidence, capital_account_balance, cb_assets, commodity_price_energy, commodity_price_ex_energy, commodity_price_index, commodity_prices, consumer_confidence, core_inflation, core_inflation_median, core_inflation_mom, core_inflation_trim, core_pce, core_pce_mom, credit_growth, crude_oil_inventories, current_account_balance, dairy_exports, deposit_rates, durable_goods_orders, employment, exports, financial_account_balance, foreign_reserves, full_time_employment, gdp, gdp_growth_q4_yoy, gdp_growth_qoq_saar, gdp_quarterly, gold_reserves, gov_bond_10y, gov_bond_1y, gov_bond_20y, gov_bond_2y, gov_bond_30y, gov_bond_3y, gov_bond_40y, gov_bond_4y, gov_bond_5y, gov_bond_7y, government_debt, house_price_index, household_credit, housing_starts, imports, inflation, inflation_linked_bond, inflation_mom, initial_jobless_claims, international_assets, international_liabilities, job_open…

Input parameters:

- `currency` (string, required): 3-letter ISO currency code (case-insensitive). Supported: AED, ARS, AUD, BOB, BRL, CAD, CHF, CLP, CNH, CNY, COMM, COP, CZK, DKK, DZD, EGP, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, KRW, MAD, MXN, MYR,…
- `end_date`: Optional inclusive upper bound, YYYY-MM-DD.
- `indicator`: Optional indicator slug to narrow results. Supported: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, building_approvals, buildi…
- `start_date`: Optional inclusive lower bound, YYYY-MM-DD.
- `timezone`: Optional IANA timezone for an additional converted timestamp, for example America/Sao_Paulo.

### `event_predictions` (~1267 tokens)

Event Predictions

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, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD. Supported indicators: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, building_approvals, building_permits, business_confidence, capital_account_balance, cb_assets, commodity_price_energy, commodity_price_ex_energy, commodity_price_index, commodity_prices, consumer_confidence, core_inflation, core_inflation_median, core_inflation_mom, core_inflation_trim, core_pce, core_pce_mom, credit_growth, crude_oil_inventories, current_account_balance, dairy_exports, deposit_rates, durable_goods_orders, employment, exports, financial_account_balance, foreign_reserves, full_time_employment, gdp, gdp_growth_q4_yoy, gdp_growth_qoq_saar, gdp_quarterly, gold_reserves, gov_bond_10y, gov_bond_1y, gov_bond_20y, gov_bond_2y, gov_bond_30y, gov_bond_3y, gov_bond_40y, gov_bond_4y, gov_bond_5y, gov_bond_7y, government_debt, house_price_index, household_credit, housing_starts, imports, inflation, inflation_linked_bond, inflation_mom, initial_jobless_claims, international_assets, international_liabilities, job_openings, m1, m2, m3, monthly_cpi, nairu, natural_gas_storage, net_foreign_asset_position, non_farm_payrolls, non_farm_payrolls_change, part_time_employment, participation_rate, pce, pce_mom, policy_rate, policy_rate_midpoint, policy_rate_mlf, policy_rate_mro, policy_rate_target_lower, ppi, ppi_mom, primary_income_balance, retail_sales, retail_sales_control_group, retail_sales_ex_autos, retail_sales_ex_a…

Input parameters:

- `currency` (string, required): 3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `end_date`: Optional inclusive upper bound by reference-period date, YYYY-MM-DD.
- `indicator` (string, required): Required indicator slug. Currency-wide prediction reads are not supported. Supported: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_…
- `limit` (integer): Maximum prediction groups to return. Defaults to 20; maximum 100.
- `offset` (integer): Zero-based prediction-group offset.
- `page`: One-based page number. When supplied, overrides offset.
- `prediction_source`: Optional source slug filter, for example ecb_spf or philly_fed_spf.
- `prediction_type`: Optional forecast type filter, for example market_consensus, market_prediction, model_nowcast, survey, central_bank_forecast, central_bank_projection, imf_weo, or fxmacrodata.
- `start_date`: Optional inclusive lower bound by reference-period date, YYYY-MM-DD.

Output parameters:

- `result` (object)

### `latest_announcements` (~59 tokens)

Latest Macro Announcements

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.

Input parameters:

- `currency` (string, required): 3-letter ISO currency code (case-insensitive).

Output parameters:

- `result` (object)

### `announcement_changes` (~149 tokens)

Macro Announcement Changes

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.

Input parameters:

- `currencies`: Optional comma-separated currency codes, `g10`, or `all`. Without subscriber access, results are limited to the public scope.
- `indicators`: Optional comma-separated announcement indicator slugs.
- `limit` (integer): Maximum matching change events to return.
- `payload` (string): Event payload shape: compact trigger rows or full announcement rows.
- `since`: Optional previous next_cursor, ISO 8601 timestamp, or Unix epoch seconds.

Output parameters:

- `result` (object)

### `press_releases` (~88 tokens)

Official Press Releases

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.

Input parameters:

- `currency` (string, required): 3-letter ISO currency code (case-insensitive).
- `limit` (integer): Maximum rows to return.
- `offset` (integer): Zero-based row offset.

Output parameters:

- `result` (object)

### `macro_factor` (~157 tokens)

Macro Factor

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.

Input parameters:

- `currency` (string, required): 3-letter ISO currency code (case-insensitive).
- `end_date`: Optional inclusive end date, YYYY-MM-DD.
- `factor` (string, required): Factor slug, for example monetary_stance.
- `include_components` (boolean): Include stored component scores when available.
- `include_sources` (boolean): Include public source endpoint references when available.
- `limit` (integer): Maximum rows to return.
- `offset` (integer): Zero-based row offset.
- `start_date`: Optional inclusive start date, YYYY-MM-DD.

Output parameters:

- `result` (object)

### `fx_reference_sources` (~31 tokens)

FX Reference Sources

List public official FX reference-rate sources and their source policy before requesting a pair-specific intraday reference-rate series.

Output parameters:

- `result` (object)

### `fx_reference_universe` (~59 tokens)

FX Reference Pair Universe

List the public FX reference-rate pair universe, optionally filtered by currency or source id. Call this before requesting an intraday reference-rate series.

Input parameters:

- `currency`: Optional 3-letter currency filter.
- `source`: Optional official source id filter.

Output parameters:

- `result` (object)

### `fx_intraday_reference_rates` (~85 tokens)

Intraday FX Reference Rates

Return subscriber intraday official FX reference-rate observations for one pair. Call fx_reference_universe first to verify pair and source availability.

Input parameters:

- `base` (string, required): Base currency code.
- `end_time`: Optional inclusive RFC 3339 source timestamp.
- `quote` (string, required): Quote currency code.
- `start_time`: Optional inclusive RFC 3339 source timestamp.

Output parameters:

- `result` (object)

### `rate_curve` (~119 tokens)

Rate Curve Analytics

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.

Input parameters:

- `currency` (string, required): 3-letter currency code.
- `curve_family` (string): Official curve family.
- `date`: Optional target date, YYYY-MM-DD.
- `method` (string): Forward derivation method when view is forwards.
- `metric` (string): Curve metric.
- `view` (string): Curve view: nodes, slopes, or forwards.

Output parameters:

- `result` (object)

### `rate_differentials` (~195 tokens)

Pair Rate Differentials

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.

Input parameters:

- `base` (string, required): Base currency code.
- `curve_family` (string): Curve family when rate_type is forward.
- `end_date`: Optional inclusive end date, YYYY-MM-DD.
- `end_tenor_years` (number): End tenor in years for forward differentials.
- `limit` (integer): Maximum rows to return.
- `measure` (string): Shared rate measure to compare across the pair.
- `offset` (integer): Zero-based row offset.
- `quote` (string, required): Quote currency code.
- `rate_type` (string): Differential type: spot or forward.
- `start_date`: Optional inclusive start date, YYYY-MM-DD.
- `start_tenor_years` (number): Start tenor in years for forward differentials.

Output parameters:

- `result` (object)

### `latest_commodities` (~34 tokens)

Latest Commodity Values

Return the latest stored value for every available commodity indicator in one response. This subscriber tool is the batch counterpart to commodities.

Output parameters:

- `result` (object)

### `forex` (~578 tokens)

FX Spot Rates

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, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, 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.

Input parameters:

- `base` (string, required): Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `end_date`: Inclusive upper bound, YYYY-MM-DD. Defaults to today.
- `indicators`: 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_s…
- `quote` (string, required): Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `start_date`: Inclusive lower bound, YYYY-MM-DD. Defaults to ~5 years ago.

Output parameters:

- `result` (object)

### `seasonality` (~180 tokens)

FX Seasonality

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.

Input parameters:

- `end_date`: Inclusive upper bound, YYYY-MM-DD. Defaults to today.
- `instrument` (string, required): 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`: Number of years to include, 2-30. Defaults to 10.
- `month`: Optional month filter, 1-12 or name such as July.

Output parameters:

- `result` (object)

### `indicator_query` (~1466 tokens)

Indicator Time Series

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` (value-as-of), `val` (numeric), and `announcement_datetime` (when the value was first published — useful for backtest point-in-time integrity). 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, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD. Supported indicators: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, building_approvals, building_permits, business_confidence, capital_account_balance, cb_assets, commodity_price_energy, commodity_price_ex_energy, commodity_price_index, commodity_prices, consumer_confidence, core_inflation, core_inflation_median, core_inflation_mom, core_inflation_trim, core_pce, core_pce_mom, credit_growth, crude_oil_inventories, current_account_balance, dairy_exports, deposit_rates, durable_goods_orders, employment, exports, financial_account_balance, foreign_reserves, full_time_employment, gdp, gdp_growth_q4_yoy, gdp_growth_qoq_saar, gdp_quarterly, gold_reserves, gov_bond_10y, gov_bond_1y, gov_bond_20y, gov_bond_2y, gov_bond_30y, gov_bond_3y, gov_bond_40y, gov_bond_4y, gov_bond_5y, gov_bond_7…

Input parameters:

- `currency`: 3-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, ILS, JPY, NGN, NOK, NZD, PEN, SE…
- `end_date`: Inclusive upper bound, YYYY-MM-DD.
- `indicator`: Indicator slug for the given currency. Optional if `slug` is provided as a `"usd:cpi"`-style compound. Supported: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_se…
- `limit` (integer): Maximum rows to return from the existing REST pagination path. Defaults to 20; maximum 100.
- `official_only` (boolean): When true, return only official-source rows and remove explicit fallback observations. Prohibited private aggregator rows are always removed.
- `offset` (integer): Zero-based row offset after most-recent-first ordering.
- `page`: One-based page number. When supplied, the REST endpoint derives offset as `(page - 1) * limit`.
- `slug`: 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`…
- `start_date`: Inclusive lower bound, YYYY-MM-DD.

Output parameters:

- `result` (object)

### `plot_visual_artifact` (~1201 tokens)

Plot Visual Artifact

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_type=market_consensus`. This tool never fetches arbitrary URLs or runs custom chart code; it only composes approved FXMacroData API surfaces into the comparison chart app.

Input parameters:

- `base`: Base currency for single-series forex plots. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `chart_kind` (string): Initial chart view. Supported: line, area, bar, dot, step.
- `currency`: Single-series currency for announcements, predictions, or COT. Supported macro currencies: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD. Supported COT curr…
- `end_date`: Inclusive upper bound, YYYY-MM-DD.
- `indicator`: Single-series indicator for announcements, predictions, or commodities. Supported macro indicators: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breake…
- `limit` (integer): Maximum rows per source. Defaults to 20; maximum 100.
- `offset` (integer): Zero-based row offset per source.
- `page`: One-based page number per source.
- `prediction_source`: Optional prediction source filter for prediction series.
- `prediction_type`: Optional prediction type filter for prediction series.
- `query`: Optional natural-language request to preserve in the payload title/context.
- `quote`: Quote currency for single-series forex plots. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `series`: Optional list of series specs. Each spec supports `source` (announcements, predictions, forex, commodities, cot), `currency`, `indicator`, `base`, `quote`, `label`, `y_key`, `metric`, `prediction_typ…
- `source`: Single-series source when `series` is omitted. Supported values: announcements, predictions, forex, commodities, cot.
- `start_date`: Inclusive lower bound, YYYY-MM-DD.
- `title`: Optional chart title. Defaults to query or an auto-generated title.
- `x_axis` (string): Field to use as the shared x-axis. Supported: date, announcement_datetime, announcement_datetime_local, generated_at, observation_datetime.
- `y_key`: Single-series metric field. Defaults by source: val for announcements and commodities, predicted_value for predictions, rate for forex, noncommercial_net for COT.
- `y_label`: Optional y-axis label for the chart.

### `indicator_visual_artifact` (~1263 tokens)

Indicator Visual Artifact

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, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD. Supported indicators: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, building_approvals, building_permits, business_confidence, capital_account_balance, cb_assets, commodity_price_energy, commodity_price_ex_energy, commodity_price_index, commodity_prices, consumer_confidence, core_inflation, core_inflation_median, core_inflation_mom, core_inflation_trim, core_pce, core_pce_mom, credit_growth, crude_oil_inventories, current_account_balance, dairy_exports, deposit_rates, durable_goods_orders, employment, exports, financial_account_balance, foreign_reserves, full_time_employment, gdp, gdp_growth_q4_yoy, gdp_growth_qoq_saar, gdp_quarterly, gold_reserves, gov_bond_10y, gov_bond_1y, gov_bond_20y, gov_bond_2y, gov_bond_30y, gov_bond_3y, gov_bond_40y, gov_bond_4y, gov_bond_5y, gov_bond_7y, government_debt, house_price_index, household_credit, housing_starts, imports, inflation, inflation_linked_bond, inflation_mom, initial_jobless_claims, international_assets, international_liabilities, job_openings, m1, m2, m3, monthly_cpi, nairu, natural_gas_storage, net_foreign_asset_position, non_farm_payrolls, non_farm_payrolls_change, part_time_employment,…

Input parameters:

- `currency` (string, required): 3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `end_date`: Inclusive upper bound, YYYY-MM-DD.
- `indicator` (string, required): Indicator slug. Supported: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, building_approvals, building_permits, business_confid…
- `limit` (integer): Maximum rows to render from the existing REST pagination path. Defaults to 20; maximum 100.
- `offset` (integer): Zero-based row offset after most-recent-first ordering.
- `page`: One-based page number. When supplied, the REST endpoint derives offset as `(page - 1) * limit`.
- `start_date`: Inclusive lower bound, YYYY-MM-DD.

### `forex_visual_artifact` (~376 tokens)

FX Visual Artifact

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.

Input parameters:

- `base` (string, required): Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `end_date`: Inclusive upper bound, YYYY-MM-DD.
- `indicators`: Optional 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…
- `quote` (string, required): Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `start_date`: Inclusive lower bound, YYYY-MM-DD.

### `commodities_visual_artifact` (~100 tokens)

Commodities Visual Artifact

Same payload as commodities, but packaged with MCP Apps chart metadata so compatible clients render an interactive commodity chart inline.

Input parameters:

- `end_date`: Inclusive upper bound, YYYY-MM-DD.
- `indicator` (string, required): Commodity indicator slug. Supported: crude_oil_inventories, gold, natural_gas, natural_gas_storage, oil_brent, oil_wti, platinum, silver.
- `start_date`: Inclusive lower bound, YYYY-MM-DD.

### `cot_visual_artifact` (~159 tokens)

COT Visual Artifact

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.

Input parameters:

- `currency` (string, required): 3-letter ISO currency code for the FX futures contract (case-insensitive). Supported: AUD, CAD, CHF, EUR, GBP, HUF, JPY, MXN, NZD, TRY, USD, XAU.
- `end_date`: Inclusive upper bound, YYYY-MM-DD.
- `metric`: Field to plot from each COT row. Typical values: noncommercial_net, noncommercial_net_zscore, noncommercial_long, noncommercial_short, open_interest.
- `start_date`: Inclusive lower bound, YYYY-MM-DD.

### `policy_rate_differential_visual_artifact` (~195 tokens)

Policy-Rate Differential Visual Artifact

Build a two-series chart comparing base and quote policy-rate history to visualize the rate differential setup for an FX pair.

Input parameters:

- `base` (string, required): Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `end_date`: Inclusive upper bound, YYYY-MM-DD.
- `quote` (string, required): Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `start_date`: Inclusive lower bound, YYYY-MM-DD.

### `macro_briefing_task` (~130 tokens)

Macro Briefing Task

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.

Input parameters:

- `currency` (string, required): 3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.

### `indicator_intel_task` (~601 tokens)

Indicator Intelligence Task

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.

Input parameters:

- `currency` (string, required): 3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `end_date`: Inclusive upper bound, YYYY-MM-DD.
- `indicator` (string, required): Indicator slug for the given currency. Supported: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, building_approvals, building_p…
- `start_date`: Inclusive lower bound, YYYY-MM-DD.

### `pair_intel_task` (~208 tokens)

FX Pair Intelligence Task

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.

Input parameters:

- `base` (string, required): Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `end_date`: Inclusive upper bound, YYYY-MM-DD.
- `quote` (string, required): Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `start_date`: Inclusive lower bound, YYYY-MM-DD.

### `macro_heatmap_task` (~615 tokens)

Macro Heatmap Task

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.

Input parameters:

- `currencies`: Comma-separated 3-letter currency codes (lowercase preferred). Supported values include: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `end_date`: Optional inclusive upper bound, YYYY-MM-DD.
- `indicators`: Comma-separated indicator slugs to include in the matrix. Supported values include: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_ra…
- `start_date`: Optional inclusive lower bound, YYYY-MM-DD.

### `policy_scenario_modeler_task` (~309 tokens)

Policy Scenario Modeler Task

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.

Input parameters:

- `base` (string, required): Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `elasticity_per_100bps`: Heuristic percent change in FX spot for a 100 bps spread change. Used as a scenario assumption, not a forecast guarantee.
- `end_date`: Optional inclusive upper bound, YYYY-MM-DD.
- `policy_shock_bps`: Optional alias for shock_bps for compatibility with host-side app payloads.
- `quote` (string, required): Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `shock_bps`: Policy shock size in basis points (100 bps = 1.00 percentage point).
- `shock_leg`: Which leg receives the policy shock: base or quote.
- `start_date`: Optional inclusive lower bound, YYYY-MM-DD.

### `macro_war_room_task` (~742 tokens)

Macro War Room Task

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.

Input parameters:

- `base`: Base 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, ILS, JPY, NGN, NOK, NZD, P…
- `currency`: Release currency used for queue and spotlight indicator. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `end_date`: Optional inclusive upper bound, YYYY-MM-DD.
- `indicator`: Spotlight indicator slug for release context. Supported examples: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, building_appro…
- `quote`: Quote currency for pair context, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `start_date`: Optional inclusive lower bound, YYYY-MM-DD.

### `event_impact_replay_task` (~757 tokens)

Event Impact Replay Task

Create a point-in-time replay timeline mapping macro announcements to FX context and heuristic impact markers. Supports MCP Tasks for async execution when clients send task-augmented requests.

Input parameters:

- `base`: FX base currency for market context, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `currency` (string, required): Currency for macro event series, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `end_date`: Optional inclusive upper bound, YYYY-MM-DD.
- `indicator` (string, required): Indicator slug for event replay. Supported examples: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, building_approvals, buildin…
- `lookback_events`: Maximum number of recent events to include in replay.
- `quote`: FX quote currency for market context, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `start_date`: Optional inclusive lower bound, YYYY-MM-DD.

### `quant_scenario_lab_task` (~301 tokens)

Quant Scenario Lab Task

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.

Input parameters:

- `annualized_volatility_pct`: Annualized volatility assumption (percent) for stress-band construction.
- `base` (string, required): Base currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `elasticity_per_100bps`: Heuristic percent FX move per 100 bps spread change.
- `end_date`: Optional inclusive upper bound, YYYY-MM-DD.
- `horizon_days`: Scenario horizon in calendar days.
- `quote` (string, required): Quote currency, 3-letter ISO code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `shock_bps`: Policy shock size in basis points (100 bps = 1.00 percentage point).
- `shock_leg`: Which leg receives the policy shock: base or quote.
- `start_date`: Optional inclusive lower bound, YYYY-MM-DD.

### `known_at_time_task` (~638 tokens)

Known At Time Task

Return the slice of a macro series that would have been known at a specific timestamp, using announcement_datetime as the point-in-time integrity boundary. Supports MCP Tasks for async execution when clients send task-augmented requests.

Input parameters:

- `as_of` (string, required): UTC ISO-8601 timestamp or YYYY-MM-DD cutoff. Only rows with announcement_datetime <= this moment are returned.
- `currency` (string, required): 3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `end_date`: Optional inclusive upper bound, YYYY-MM-DD.
- `indicator` (string, required): Indicator slug for the given currency. Supported: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, building_approvals, building_p…
- `start_date`: Optional inclusive lower bound, YYYY-MM-DD.

### `macro_regime_classifier_task` (~144 tokens)

Macro Regime Classifier Task

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.

Input parameters:

- `currency` (string, required): 3-letter ISO currency code (case-insensitive). Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `end_date`: Optional inclusive upper bound, YYYY-MM-DD.
- `start_date`: Optional inclusive lower bound, YYYY-MM-DD.

### `release_risk_score_task` (~180 tokens)

Release Risk Score Task

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.

Input parameters:

- `base` (string, required): Base currency, 3-letter ISO code. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `horizon_events`: Maximum release events per currency to score.
- `quote` (string, required): Quote currency, 3-letter ISO code. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.

### `portfolio_risk_engine_task` (~126 tokens)

Portfolio Risk Engine Task

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.

Input parameters:

- `horizon_events`: Maximum release events to consider per currency leg.
- `positions_json` (string, required): JSON 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_pct`: Stress shock in percent applied to each pair.

### `fx_trade_setup_task` (~207 tokens)

FX Trade Setup Task

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.

Input parameters:

- `base` (string, required): Base currency, 3-letter ISO code. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `horizon_events`: Maximum upcoming catalysts per leg to rank.
- `include_cot`: When true, attempt to include COT positioning context for both legs.
- `quote` (string, required): Quote currency, 3-letter ISO code. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.

### `fx_backtest_task` (~308 tokens)

FX Backtest Task

Run a transparent rule-based FX backtest on historical spot data using carry and/or momentum signals. Supports MCP Tasks for async execution when clients send task-augmented requests.

Input parameters:

- `base` (string, required): Base currency, 3-letter ISO code. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `end_date`: Inclusive upper bound, YYYY-MM-DD.
- `event_gated`: When true, only allow positions during release-event windows derived from announcement_datetime on base and quote calendars.
- `event_window_days`: Event gate window in days around each release date (0 means release-date only).
- `initial_capital`: Starting capital for equity-curve calculations.
- `momentum_lookback`: Momentum lookback in observations for the momentum signal.
- `quote` (string, required): Quote currency, 3-letter ISO code. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `start_date`: Inclusive lower bound, YYYY-MM-DD.
- `strategy`: Signal mode: carry, momentum, or carry_momentum.
- `transaction_cost_bps`: Per-side transaction cost in basis points applied on position changes.

### `macro_research_pack_task` (~620 tokens)

Macro Research Pack Task

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.

Input parameters:

- `base`: Optional FX base currency for pair context.
- `currency` (string, required): 3-letter ISO currency code. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, THB, USD.
- `end_date`: Optional inclusive upper bound, YYYY-MM-DD.
- `indicator` (string, required): Indicator slug. Supported: average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, breakeven_inflation_rate, building_approvals, building_permits, business_confid…
- `quote`: Optional FX quote currency for pair context.
- `start_date`: Optional inclusive lower bound, YYYY-MM-DD.

### `market_sessions` (~122 tokens)

FX Market Sessions

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.

Input parameters:

- `at`: Optional ISO-8601 UTC timestamp; defaults to now. Use to snapshot session state at a specific moment.

Output parameters:

- `result` (object)

### `cot_data` (~205 tokens)

COT Report

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, HUF, JPY, MXN, NZD, TRY, USD, XAU.

Input parameters:

- `currency` (string, required): 3-letter ISO currency code for the FX futures contract (case-insensitive). Supported: AUD, CAD, CHF, EUR, GBP, HUF, JPY, MXN, NZD, TRY, USD, XAU.
- `end_date`: Inclusive upper bound, YYYY-MM-DD.
- `start_date`: Inclusive lower bound, YYYY-MM-DD.

Output parameters:

- `result` (object)

### `commodities` (~149 tokens)

Commodity Indicators

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.

Input parameters:

- `end_date`: Inclusive upper bound, YYYY-MM-DD.
- `indicator`: Commodity indicator slug. Supported: crude_oil_inventories, gold, natural_gas, natural_gas_storage, oil_brent, oil_wti, platinum, silver.
- `start_date`: Inclusive lower bound, YYYY-MM-DD.
- `symbol`: Backward-compatible alias for `indicator`. Prefer `indicator` in new calls.

Output parameters:

- `result` (object)

### `official_dataset_family` (~238 tokens)

Official Dataset Family

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.

Input parameters:

- `component`: Required only when dataset='bop'. Supported bop components: goods_balance, services_balance, primary_income, secondary_income, current_account, capital_account, financial_account.
- `currency` (string, required): 3-letter ISO currency code (case-insensitive).
- `dataset` (string, required): Dataset 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_type` (string, required): Endpoint taxonomy group from the API structure. Supported: monetary_policy, fiscal_policy, international_trade, statistics_releases.

Output parameters:

- `result` (object)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/fxmacrodata-fxmacrodata/fxmacrodata#diagnostics

## Score history

- 2026-08-03: 69
- 2026-08-02: 68
- 2026-08-01: 68
- 2026-07-31: 67
- 2026-07-30: 67
- 2026-07-29: 66
- 2026-07-28: 65
- 2026-07-27: 65
- 2026-07-26: 64

## Links

- Remote endpoint: https://fxmacrodata.com/mcp
- Repository: https://github.com/fxmacrodata/fxmacrodata
- Website: https://fxmacrodata.com/
- Changelog RSS feed: https://verifymcp.io/servers/fxmacrodata-fxmacrodata/fxmacrodata/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/fxmacrodata-fxmacrodata/fxmacrodata/changelog.json
- HTML version of this page: https://verifymcp.io/servers/fxmacrodata-fxmacrodata/fxmacrodata
