← The evidence ledger
Evidence row 1479401
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint b325e1af-2721-4186-ba7b-8df61915bd53
- Recorded
- Previous row
- #984521
- Body SHA-256
- 5d5711fd251f55806ca579030941dd923877e028d8c658cbd0e9449fe21d9913
- Leaf
- 0x884f04c5db44a926cde0048b3fb2b3e387bb875b7d44d1a76f19c2f06ef43ed4
What was observed
{
"count": 39,
"tools": [
{
"description": "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, distillate_inventories, gasoline_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.",
"inputSchema": {
"properties": {
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"indicator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Commodity indicator slug. Supported: crude_oil_inventories, distillate_inventories, gasoline_inventories, gold, natural_gas, natural_gas_storage, oil_brent, oil_wti, platinum, silver.",
"examples": [
"crude_oil_inventories",
"distillate_inventories",
"gasoline_inventories",
"gold",
"natural_gas",
"natural_gas_storage"
]
},
"latest": {
"default": false,
"description": "Set true for one snapshot of the latest stored value of every commodity indicator; `indicator` is then not needed.",
"type": "boolean"
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"symbol": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Backward-compatible alias for `indicator`, which supersedes it in new calls.",
"examples": [
"crude_oil_inventories",
"distillate_inventories",
"gasoline_inventories",
"gold",
"natural_gas",
"natural_gas_storage"
]
}
},
"title": "commoditiesArguments",
"type": "object"
},
"name": "commodities"
},
{
"description": "Get weekly CFTC Commitment of Traders (COT) positioning data for a currency's FX futures contract on the CME, covering speculator positioning, non-commercial longs vs shorts, hedge-fund FX positioning, and sentiment extremes. Returns weekly snapshots with long/short open interest by trader category. Updated every Friday at 15:30 ET reflecting the Tuesday cutoff. USD (the USD Index contract) is available without an API key for the most recent 90 days on a 15-minute release delay; every other currency and the full history need an API key. Supported currencies: AUD, CAD, CHF, EUR, GBP, JPY, NZD, USD, XAU. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "3-letter ISO currency code for the FX futures contract (case-insensitive). Supported: AUD, CAD, CHF, EUR, GBP, JPY, NZD, USD, XAU.",
"examples": [
"eur",
"jpy",
"gbp",
"aud"
]
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"instrument": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Any CFTC contract by instrument id (rates, equity, energy, metals and micro contracts) instead of a currency. Use `list` to see the supported instrument/report combinations.",
"examples": [
"list",
"ust_10y",
"wti_crude"
]
},
"limit": {
"anyOf": [
{
"maximum": 100,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Rows per page for instrument reads (1-100)."
},
"offset": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Row offset for instrument reads."
},
"report": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "CFTC report type. Omit for the Legacy futures-only report (commercial / non-commercial / non-reportable). One of: legacy_futures, legacy_combined, tff_futures, tff_combined, disaggregated_futures. TFF reports return dealer, asset manager, leveraged funds and other reportable positions for FX contracts and the dollar index; disaggregated_futures is published for XAU (COMEX gold) only.",
"examples": [
"tff_futures",
"tff_combined",
"legacy_combined"
]
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
}
},
"title": "cot_dataArguments",
"type": "object"
},
"name": "cot_data"
},
{
"description": "List every macroeconomic indicator FXMacroData publishes for a currency, with units, frequency, and coverage/freshness metadata. Returns the exact `indicator` slug strings used across FXMacroData indicator, calendar, and prediction endpoints. Rows whose `coverage` is stale, partial, or unavailable are not suitable for real-time carry or inflation analysis. 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. Other views, all free: `forecasts` shows which publishers forecast which indicators and how far each archive runs (no forecast values); `fx_sources` lists official FX reference-rate publishers; `fx_universe` lists the pairs each one covers; `sources` returns a persisted source definition by its metadata `sha256`. Access: free for every currency, no API key required.",
"inputSchema": {
"properties": {
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "3-letter ISO currency code (case-insensitive). Required for the indicators and sources views; optional filter for the others. Supported: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD.",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
]
},
"include_capabilities": {
"default": false,
"description": "Include machine-readable indicator capabilities when the API supports them, such as supported transformations, history availability, and release-calendar linkage.",
"examples": [
false
],
"type": "boolean"
},
"include_coverage": {
"default": true,
"description": "Include coverage/freshness rows with latest_available_date, coverage_quality, has_recent_data, and recent_observation_count. These rows show whether an indicator series is current enough for analysis.",
"examples": [
true
],
"type": "boolean"
},
"indicator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional indicator slug that narrows the result to that one catalogue entry and its coverage row, for example `core_inflation`. Useful when the candidate series is already known; omit it to list every indicator.",
"examples": [
"core_inflation"
]
},
"sha256": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "sources only: the metadata SHA256 from a catalogue row."
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "fx_universe only: official source id filter.",
"examples": [
"ecb_eurofxref_daily"
]
},
"view": {
"default": "indicators",
"description": "indicators (default): the indicator catalogue. forecasts: forecast coverage by publisher. fx_sources / fx_universe: official FX reference-rate publishers and the pairs they cover. sources: one persisted source definition, by `sha256`.",
"enum": [
"indicators",
"forecasts",
"fx_sources",
"fx_universe",
"sources"
],
"type": "string"
}
},
"title": "data_catalogueArguments",
"type": "object"
},
"name": "data_catalogue"
},
{
"description": "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. Returns analysis in the tool response. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"base": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "eur",
"description": "FX base currency for market context, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"eur",
"gbp",
"aud",
"usd"
]
},
"currency": {
"description": "Currency for macro event series, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"eur",
"gbp"
],
"type": "string"
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"indicator": {
"description": "Indicator slug for event replay. Supported examples: any indicator slug the FXMacroData catalogue lists for the currency, for example inflation, gdp, policy_rate, unemployment.",
"examples": [
"inflation",
"policy_rate",
"gdp"
],
"type": "string"
},
"lookback_events": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 12,
"description": "Maximum number of recent events to include in replay.",
"examples": [
6,
12,
24
]
},
"quote": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "usd",
"description": "FX quote currency for market context, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"jpy",
"chf"
]
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
}
},
"required": [
"currency",
"indicator"
],
"title": "event_impact_replay_taskArguments",
"type": "object"
},
"name": "event_impact_replay_task"
},
{
"description": "Return stored forecasts, consensus-style predictions, central-bank projections, survey forecasts, IMF forecasts, nowcasts, or FXMacroData blended predictions for macro announcements, for actual-vs-consensus, prior-vs-forecast, or event-surprise context. Rows are keyed by announcement_id/date/indicator and include prediction source metadata. Supported currencies: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy. The `indicator` parameter lists the accepted indicator slugs. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"annualization": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Annualization selector, matching the announcement series."
},
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Historical publication cutoff with explicit timezone, or YYYY-MM-DD at UTC midnight. Later forecasts are excluded."
},
"basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Real or nominal selector, matching the announcement series."
},
"before_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exclusive period-date cursor for event-linked groups; use the prior response's next_cursor."
},
"currency": {
"description": "3-letter ISO currency code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
],
"type": "string"
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive upper bound by reference-period date, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"event_compatible_only": {
"default": false,
"description": "Restrict event-linked data to verified matching target periods, units and economic concepts. Native official_forecasts remain a separate section.",
"type": "boolean"
},
"frequency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Returned change basis selector, matching the announcement series."
},
"indicator": {
"description": "Required indicator slug. Currency-wide prediction reads are not supported. Supported: any indicator slug the FXMacroData catalogue lists for the currency, for example inflation, gdp, policy_rate, unemployment.",
"examples": [
"policy_rate",
"inflation",
"unemployment",
"gdp"
],
"type": "string"
},
"limit": {
"default": 20,
"description": "Maximum prediction groups to return. Defaults to 20; maximum 100.",
"examples": [
20
],
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"official_limit": {
"default": 500,
"description": "Maximum native-period official forecasts; 0 omits this section. Inspect official_forecasts_truncated.",
"maximum": 2000,
"minimum": 0,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Zero-based prediction-group offset.",
"examples": [
0,
20
],
"minimum": 0,
"type": "integer"
},
"page": {
"anyOf": [
{
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "One-based page number. When supplied, overrides offset.",
"examples": [
1
]
},
"period_aggregation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Period aggregation selector, matching the announcement series."
},
"pre_release_only": {
"default": true,
"description": "Require event-linked forecasts to have been generated before the announcement.",
"type": "boolean"
},
"prediction_class": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Forecast production class: compiled_consensus, forecaster_survey, expectations_survey, market_implied, model_nowcast, central_bank_projection, institutional_projection or fxmacrodata."
},
"prediction_source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional source slug filter, for example ecb_spf or philly_fed_spf.",
"examples": [
"ecb_spf",
"philly_fed_spf"
]
},
"prediction_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional legacy forecast-type filter, kept for existing clients. Superseded by prediction_class: compiled_consensus, forecaster_survey, expectations_survey, market_implied, model_nowcast, central_bank_projection, institutional_projection or fxmacrodata.",
"examples": [
"fxmacrodata"
]
},
"seasonality": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Seasonal adjustment selector, matching the announcement series."
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive lower bound by reference-period date, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
}
},
"required": [
"currency",
"indicator"
],
"title": "event_predictionsArguments",
"type": "object"
},
"name": "event_predictions"
},
{
"description": "Get raw historical FX spot-rate rows for a currency pair (e.g. EUR/USD, USD/JPY) as a plain-text table, raw rows, exact values, or JSON-like data, with optional technical-indicator series (SMA, EMA, RSI, MACD, Bollinger Bands, etc.) computed from spot. Returns data only, without chart metadata. Daily granularity from official central-bank reference rates with full multi-year history. Supported currencies (lowercase 3-letter codes): any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy. The 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.",
"inputSchema": {
"properties": {
"base": {
"description": "Base currency, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"eur",
"gbp",
"aud",
"usd"
],
"type": "string"
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive upper bound, YYYY-MM-DD. Defaults to today.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"end_time": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "intraday only: inclusive RFC 3339 upper bound."
},
"indicators": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Comma-separated technical-indicator slugs to attach to each row. Supported: adx_14, atr_14, bollinger_bands, cci_20, donchian_20, ema_12, ema_20, ema_200, ema_26, ema_50, macd, macd_histogram, macd_signal, rsi_14, sma_20, sma_200, sma_50, stochastic_14_3, williams_r_14, all.",
"examples": [
"sma_50,sma_200",
"rsi_14",
"ema_20,atr_14"
]
},
"interval": {
"default": "daily",
"description": "daily (default): spot history. intraday: timestamped official intraday reference-rate fixings for the pair, bounded by start_time and end_time.",
"enum": [
"daily",
"intraday"
],
"type": "string"
},
"quote": {
"description": "Quote currency, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"jpy",
"chf"
],
"type": "string"
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive lower bound, YYYY-MM-DD. Defaults to ~5 years ago.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"start_time": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "intraday only: inclusive RFC 3339 lower bound.",
"examples": [
"2026-07-20T00:00:00Z"
]
}
},
"required": [
"base",
"quote"
],
"title": "forexArguments",
"type": "object"
},
"name": "forex"
},
{
"description": "Run a spot-only FX backtest using historical policy-rate-differential and/or lagged momentum signals. Downloads complete histories, verifies vintages and price coverage, and charges opening, rebalancing and closing costs. The carry signal does not include funding income or broker rollover. Returns analysis in the tool response. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"base": {
"description": "Base currency, 3-letter ISO code. Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"eur",
"gbp",
"aud"
],
"type": "string"
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"event_gated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "When true, allow positions only after verified historical policy publications for either currency. This does not use future calendars or trade before a release.",
"examples": [
true,
false
]
},
"event_window_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 1,
"description": "Additional calendar days after the first UTC decision following publication; 0 permits that first day only.",
"examples": [
0,
1,
2
]
},
"initial_capital": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": 100000,
"description": "Starting capital for equity-curve calculations.",
"examples": [
10000,
100000
]
},
"momentum_lookback": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 5,
"description": "Momentum lookback in observations for the momentum signal.",
"examples": [
5,
10,
20
]
},
"quote": {
"description": "Quote currency, 3-letter ISO code. Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"jpy",
"chf"
],
"type": "string"
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"strategy": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "carry_momentum",
"description": "Signal mode: carry, momentum, or carry_momentum.",
"examples": [
"carry_momentum",
"carry",
"momentum"
]
},
"transaction_cost_bps": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": 2,
"description": "Per-side transaction cost in basis points applied on position changes.",
"examples": [
1,
2,
5
]
}
},
"required": [
"base",
"quote"
],
"title": "fx_backtest_taskArguments",
"type": "object"
},
"name": "fx_backtest_task"
},
{
"description": "Build a trader-oriented FX pair setup using spot context, macro differentials, upcoming catalyst risk, and optional COT positioning. Returns analysis in the tool response. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"base": {
"description": "Base currency, 3-letter ISO code. Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"eur",
"gbp",
"aud"
],
"type": "string"
},
"horizon_events": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 4,
"description": "Maximum upcoming catalysts per leg to rank.",
"examples": [
3,
4,
6
]
},
"include_cot": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "When true, attempt to include COT positioning context for both legs.",
"examples": [
true,
false
]
},
"quote": {
"description": "Quote currency, 3-letter ISO code. Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"jpy",
"chf"
],
"type": "string"
}
},
"required": [
"base",
"quote"
],
"title": "fx_trade_setup_taskArguments",
"type": "object"
},
"name": "fx_trade_setup_task"
},
{
"description": "Build an intelligence pack for one indicator by combining chart-ready series data, derived analytics, and nearest release timing context. Returns analysis in the tool response. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"currency": {
"description": "3-letter ISO currency code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
],
"type": "string"
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"indicator": {
"description": "Indicator slug for the given currency. Supported: any indicator slug the FXMacroData catalogue lists for the currency, for example inflation, gdp, policy_rate, unemployment.",
"examples": [
"policy_rate",
"inflation",
"unemployment",
"gdp"
],
"type": "string"
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
}
},
"required": [
"currency",
"indicator"
],
"title": "indicator_intel_taskArguments",
"type": "object"
},
"name": "indicator_intel_task"
},
{
"description": "Get a paginated historical time series of a single macroeconomic indicator for a currency, sourced directly from the official central bank or statistical agency. Covers 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. The `as_of` parameter restricts results to historically eligible values; current values can include later revisions. Returns raw rows without chart metadata. Each call returns one page, newest first: 100 rows when `start_date` is set, otherwise 20 (`limit` overrides, maximum 100). A page is not the full history. When `pagination.has_more` is true the result has a `partial_page` object: `partial_page.next_call` holds the exact arguments for the next page and `partial_page.pages_remaining` gives the number of pages left. Responses default to official-source rows only; prohibited private aggregator rows are always removed. USD indicators are free; non-USD requires an API key. Supported currencies: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy. The `indicator` parameter lists the accepted indicator slugs. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Historical decision cutoff with explicit timezone, or YYYY-MM-DD at UTC midnight; verifies vintages before returning rows."
},
"availability": {
"default": "public",
"description": "Replay clock: public or captured. Used with as_of.",
"type": "string"
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "3-letter ISO currency code (case-insensitive). Optional if `slug` is provided as a `\"usd:cpi\"`-style compound. Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
]
},
"dataset_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional content version; use the first page's version on subsequent pages to reject changed data."
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"factor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Instead of an indicator, return a precomputed macro factor score for `currency`, for example monetary_stance.",
"examples": [
"monetary_stance"
]
},
"include_components": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "factor only: include the stored component scores."
},
"include_sources": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "factor only: include source endpoint references."
},
"indicator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Indicator slug for the given currency. Optional if `slug` is provided as a `\"usd:cpi\"`-style compound. Supported: any indicator slug the FXMacroData catalogue lists for the currency, for example inflation, gdp, policy_rate, unemployment.",
"examples": [
"policy_rate",
"inflation",
"unemployment",
"gdp"
]
},
"limit": {
"anyOf": [
{
"maximum": 100,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Rows per page, newest first, maximum 100. Unset means 100 when `start_date` is set, otherwise 20.",
"examples": [
1,
100
]
},
"official_only": {
"default": true,
"description": "When true, return only official-source rows and remove explicit fallback observations. Prohibited private aggregator rows are always removed.",
"examples": [
true
],
"type": "boolean"
},
"offset": {
"default": 0,
"description": "Zero-based row offset after most-recent-first ordering. Take it from `partial_page.next_call`.",
"examples": [
0,
1000
],
"minimum": 0,
"type": "integer"
},
"page": {
"anyOf": [
{
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "One-based page number. When supplied, the REST endpoint derives offset as `(page - 1) * limit`.",
"examples": [
1,
2
]
},
"revisions": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Revision view: latest, first, final or all. Historical replay uses latest among vintages eligible at as_of."
},
"series_mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Series mode: canonical or raw. Historical replay defaults to raw."
},
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional compound `\"<currency>:<indicator>\"` slug (e.g. `\"usd:cpi\"`, `\"jpy:policy_rate\"`). Many small / open tool-calling models concatenate the two parts anyway. When supplied, overrides `currency` and `indicator`.",
"examples": [
"usd:cpi",
"jpy:policy_rate",
"eur:gdp"
]
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"value_mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Value mode: normalized or source. Historical replay defaults to unchanged source values and requires raw series mode."
}
},
"title": "indicator_queryArguments",
"type": "object"
},
"name": "indicator_query"
},
{
"description": "Return the latest stored macroeconomic value for every available indicator in one currency, as a compact current macro snapshot. An unverified announcement_datetime has unproven origin; it is neither a verified scheduled time nor observed actual publication. Report absent schedule, publication and ingestion evidence as unknown, and latency as not measured. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"currencies": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "changes only: comma-separated codes, `g10` or `all`.",
"examples": [
"usd,eur",
"g10"
]
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "3-letter ISO currency code (case-insensitive). Required for the latest view.",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
]
},
"indicators": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "changes only: comma-separated indicator slugs."
},
"limit": {
"anyOf": [
{
"maximum": 500,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "changes only: page size, default 100."
},
"payload": {
"anyOf": [
{
"enum": [
"compact",
"full"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "changes only: compact (default) or full rows."
},
"since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "changes only: previous next_cursor, ISO 8601 time or epoch seconds."
},
"view": {
"default": "latest",
"description": "latest (default): newest value per indicator for `currency`. changes: a resumable feed of newly ingested announcements across currencies; pass the returned next_cursor back as `since`.",
"enum": [
"latest",
"changes"
],
"type": "string"
}
},
"title": "latest_announcementsArguments",
"type": "object"
},
"name": "latest_announcements"
},
{
"description": "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. Returns analysis in the tool response. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"currency": {
"description": "3-letter ISO currency code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
],
"type": "string"
}
},
"required": [
"currency"
],
"title": "macro_briefing_taskArguments",
"type": "object"
},
"name": "macro_briefing_task"
},
{
"description": "Build a cross-currency macro heatmap from indicator time series and return a matrix with latest values, recent changes, and z-scores. Returns analysis in the tool response.",
"inputSchema": {
"properties": {
"currencies": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Comma-separated 3-letter currency codes (lowercase preferred). Supported values include: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd,eur,gbp,jpy",
"aud,cad,chf,nzd",
"usd,sek,nok,pln"
]
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"indicators": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Comma-separated indicator slugs to include in the matrix. Supported values include: any indicator slug the FXMacroData catalogue lists for the currency, for example inflation, gdp, policy_rate, unemployment.",
"examples": [
"policy_rate,inflation,gdp",
"inflation,unemployment,retail_sales"
]
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
}
},
"title": "macro_heatmap_taskArguments",
"type": "object"
},
"name": "macro_heatmap_task"
},
{
"description": "Return recent official central-bank news and press-release headlines for a currency, covering central-bank policy, inflation, employment, GDP, trade, fiscal, energy, and commodity narratives. Rows are official-source headlines with lightweight keyword-derived affected_indicators and sentiment fields when a headline is classifiable. Supported currencies: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"currency": {
"description": "3-letter ISO currency code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
],
"type": "string"
},
"limit": {
"default": 20,
"description": "Maximum number of headline rows to request.",
"examples": [
10,
20
],
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"lookback_days": {
"default": 7,
"description": "Maximum age of returned headlines in calendar days when headline timestamps are available.",
"examples": [
7,
30
],
"maximum": 90,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Zero-based headline offset.",
"examples": [
0
],
"minimum": 0,
"type": "integer"
}
},
"required": [
"currency"
],
"title": "macro_newsArguments",
"type": "object"
},
"name": "macro_news"
},
{
"description": "Classify a currency's macro regime using policy rate, inflation, GDP, and unemployment context, with explicit assumptions and confidence notes. Returns analysis in the tool response. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"currency": {
"description": "3-letter ISO currency code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
],
"type": "string"
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
}
},
"required": [
"currency"
],
"title": "macro_regime_classifier_taskArguments",
"type": "object"
},
"name": "macro_regime_classifier_task"
},
{
"description": "Bundles catalogue, indicator history, next release timing, and optional FX pair context into one persistent-host-friendly research payload. Returns analysis in the tool response. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"base": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional FX base currency for pair context.",
"examples": [
"eur",
"usd"
]
},
"currency": {
"description": "3-letter ISO currency code. Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
],
"type": "string"
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"indicator": {
"description": "Indicator slug. Supported: any indicator slug the FXMacroData catalogue lists for the currency, for example inflation, gdp, policy_rate, unemployment.",
"examples": [
"policy_rate",
"inflation",
"unemployment",
"gdp"
],
"type": "string"
},
"quote": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional FX quote currency for pair context.",
"examples": [
"usd",
"jpy"
]
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
}
},
"required": [
"currency",
"indicator"
],
"title": "macro_research_pack_taskArguments",
"type": "object"
},
"name": "macro_research_pack_task"
},
{
"description": "Build a multi-panel macro market cockpit that combines FX sessions, upcoming release queue, pair context, and generated risk alerts. Returns analysis in the tool response. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"base": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Base currency for pair context, 3-letter ISO code (case-insensitive). Defaults to the release currency when omitted. Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"eur",
"gbp",
"aud",
"usd"
]
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "usd",
"description": "Release currency used for queue and spotlight indicator. Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"eur",
"gbp"
]
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"indicator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "inflation",
"description": "Spotlight indicator slug for release context. Supported examples: any indicator slug the FXMacroData catalogue lists for the currency, for example inflation, gdp, policy_rate, unemployment.",
"examples": [
"inflation",
"policy_rate",
"gdp"
]
},
"quote": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "usd",
"description": "Quote currency for pair context, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"jpy",
"chf"
]
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
}
},
"title": "macro_war_room_taskArguments",
"type": "object"
},
"name": "macro_war_room_task"
},
{
"description": "Returns which FX trading sessions are currently open (Sydney, Tokyo, London, New York) and when the next session opens or closes, for questions such as 'is the market open?', 'when does London open?', or 'which sessions overlap right now?'. An ISO-8601 UTC timestamp in `at` returns the snapshot for a specific moment instead of now. Accounts for weekends and major banking holidays. Access: free, no API key required.",
"inputSchema": {
"properties": {
"at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional ISO-8601 UTC timestamp; defaults to now. Use to snapshot session state at a specific moment.",
"examples": [
"2025-06-15T13:30:00Z",
"2025-12-25T00:00:00Z"
]
}
},
"title": "market_sessionsArguments",
"type": "object"
},
"name": "market_sessions"
},
{
"description": "Explains what the FXMacroData MCP server can do: which tools render MCP Apps, which return plain rows, what is public versus subscriber-only, and how tool selection differs across ChatGPT, Claude, Cursor, Codex, and plain MCP clients. Suited to questions about what is available, why visuals are not showing, or how to get the same result in a different interface.",
"inputSchema": {
"properties": {
"topic": {
"default": "overview",
"description": "overview (default) explains tools, visuals and access; auth explains whether to use OAuth, an API key or a bearer token for a given client.",
"enum": [
"overview",
"auth"
],
"type": "string"
}
},
"title": "mcp_capabilitiesArguments",
"type": "object"
},
"name": "mcp_capabilities"
},
{
"description": "One reader for the official datasets outside the headline indicators. `family` picks the set: financial_prices (government yield curves, securities, overnight benchmarks; by currency), native_history (gold ownership and custody, Treasury auctions, cash and debt, TIC positions, EIA energy; by source and year), official_dataset (balance of payments, international investment position, capital flows, central-bank liquidity, FX intervention, auctions, external debt, credit conditions, wage settlements; by dataset and currency) and company_results (company trading updates as macro evidence; by country). Omit the selector to list what a family holds. Requires an API key. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "company_results only: two-letter ISO country code. Omit to list countries.",
"examples": [
"AU",
"US"
]
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "3-letter currency code for financial_prices and official_dataset.",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
]
},
"dataset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "official_dataset only: the dataset slug, for example bop or cb_liquidity.",
"examples": [
"bop",
"cb_liquidity",
"treasury_cash"
]
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"family": {
"description": "Which dataset family to read.",
"enum": [
"financial_prices",
"native_history",
"official_dataset",
"company_results"
],
"type": "string"
},
"filters": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Family-specific filters. financial_prices: measure, instrument_id, issuer. native_history: measure, holder_country_code, ownership_basis, maturity, account_type, order, region, product. official_dataset: component (bop only). company_results: industry, company, measure, order.",
"examples": [
{
"component": "current_account"
}
]
},
"limit": {
"anyOf": [
{
"maximum": 100,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Rows per page (1-100)."
},
"offset": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Row offset."
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "financial_prices or native_history: the source id. Omit on native_history to list sources."
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"year": {
"anyOf": [
{
"maximum": 2100,
"minimum": 1900,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "native_history only: the year to read."
}
},
"required": [
"family"
],
"title": "official_datasetsArguments",
"type": "object"
},
"name": "official_datasets"
},
{
"description": "Read one sourced public organisation summary by slug, including services, original sources and a canonical FXMacroData citation URL. Directory references carry no claim of regulatory approval or endorsement. No claim evidence or contact records are returned. Access: one public organisation summary, no API key required.",
"inputSchema": {
"properties": {
"slug": {
"type": "string"
}
},
"required": [
"slug"
],
"title": "organisation_profileArguments",
"type": "object"
},
"name": "organisation_profile"
},
{
"description": "Find publication-cleared FX industry organisations by name or service, optionally within a business category. Returns at most ten directory references with canonical citation URLs; does not rank firms or export the database. Access: public directory references, no API key required.",
"inputSchema": {
"properties": {
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"default": 10,
"type": "integer"
},
"query": {
"type": "string"
}
},
"required": [
"query"
],
"title": "organisation_searchArguments",
"type": "object"
},
"name": "organisation_search"
},
{
"description": "Build an intelligence pack for an FX pair by combining policy-rate spread context, spot-rate context, and release-timing metadata. Returns analysis in the tool response. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"base": {
"description": "Base currency, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"eur",
"gbp",
"aud",
"usd"
],
"type": "string"
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"quote": {
"description": "Quote currency, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"jpy",
"chf"
],
"type": "string"
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
}
},
"required": [
"base",
"quote"
],
"title": "pair_intel_taskArguments",
"type": "object"
},
"name": "pair_intel_task"
},
{
"description": "Health check that confirms the FXMacroData API and MCP server are reachable. Returns the API health response.",
"inputSchema": {
"properties": {},
"title": "pingArguments",
"type": "object"
},
"name": "ping"
},
{
"description": "Build a generic MCP Apps chart from one or more FXMacroData endpoint families: arbitrary plots, multi-series charts, and actual-vs-consensus views that combine announcements with predictions. Supported series sources are announcements, predictions, forex, commodities, and cot; `source=rate_differential` with base and quote charts two policy rates and their spread. For example, USD policy-rate midpoint actuals against market consensus use one announcements series for `usd/policy_rate_midpoint` and one predictions series for `usd/policy_rate_midpoint` with `prediction_class=forecaster_survey`. It only charts FXMacroData data; it never fetches arbitrary URLs or runs custom chart code. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"base": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Base currency for single-series forex plots. Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"eur",
"aud",
"usd"
]
},
"chart_kind": {
"default": "line",
"description": "Initial chart view. Supported: line, area, bar, dot, step.",
"examples": [
"line",
"step"
],
"type": "string"
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Single-series currency for announcements, predictions, or COT. Supported macro currencies: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy. Supported COT currencies: AUD, CAD, CHF, EUR, GBP, JPY, NZD, USD, XAU.",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
]
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"indicator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Single-series indicator for announcements, predictions, or commodities. Supported macro indicators: any indicator slug the FXMacroData catalogue lists for the currency, for example inflation, gdp, policy_rate, unemployment. Supported commodity indicators: crude_oil_inventories, distillate_inventories, gasoline_inventories, gold, natural_gas, natural_gas_storage, oil_brent, oil_wti, platinum, silver.",
"examples": [
"policy_rate",
"inflation",
"unemployment",
"gdp"
]
},
"limit": {
"default": 20,
"description": "Maximum rows per source. Defaults to 20; maximum 100.",
"examples": [
20,
100
],
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Zero-based row offset per source.",
"examples": [
0,
20
],
"minimum": 0,
"type": "integer"
},
"page": {
"anyOf": [
{
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "One-based page number per source.",
"examples": [
1
]
},
"prediction_source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional prediction source filter for prediction series.",
"examples": [
"ny_fed_sme",
"philly_fed_spf"
]
},
"prediction_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional legacy prediction-type filter for prediction series. Superseded by prediction_class.",
"examples": [
"fxmacrodata"
]
},
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional natural-language request to preserve in the payload title/context.",
"examples": [
"plot USD policy-rate midpoint actual vs market consensus",
"compare AUD and USD inflation"
]
},
"quote": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Quote currency for single-series forex plots. Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"jpy",
"chf"
]
},
"series": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional list of series specs. Each spec supports `source` (announcements, predictions, forex, commodities, cot), `currency`, `indicator`, `base`, `quote`, `label`, `y_key`, `metric`, `prediction_class`, `prediction_source`, `start_date`, `end_date`, `limit`, `offset`, and `page`.",
"examples": [
[
{
"currency": "usd",
"indicator": "policy_rate_midpoint",
"label": "USD policy midpoint actual",
"source": "announcements"
},
{
"currency": "usd",
"indicator": "policy_rate_midpoint",
"label": "Dealer survey median",
"prediction_class": "forecaster_survey",
"source": "predictions"
}
]
]
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Single-series source when `series` is omitted. Supported values: announcements, predictions, forex, commodities, cot, rate_differential (needs base and quote).",
"examples": [
"announcements",
"forex",
"rate_differential"
]
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional chart title. Defaults to query or an auto-generated title.",
"examples": [
"USD policy-rate actual vs consensus"
]
},
"x_axis": {
"default": "date",
"description": "Field to use as the shared x-axis. Supported: date, announcement_datetime, announcement_datetime_local, generated_at, observation_datetime.",
"examples": [
"date",
"announcement_datetime"
],
"type": "string"
},
"y_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Single-series metric field. Defaults by source: val for announcements and commodities, predicted_value for predictions, rate for forex, noncommercial_net for COT.",
"examples": [
"val",
"predicted_value",
"rate"
]
},
"y_label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional y-axis label for the chart.",
"examples": [
"Policy Rate Midpoint",
"Value"
]
}
},
"title": "plot_visual_artifactArguments",
"type": "object"
},
"name": "plot_visual_artifact"
},
{
"description": "Run a policy-rate spread what-if scenario for an FX pair and estimate directional spot impact using an explicit heuristic elasticity assumption. Returns analysis in the tool response. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"base": {
"description": "Base currency, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"eur",
"gbp",
"aud",
"usd"
],
"type": "string"
},
"elasticity_per_100bps": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": 0.8,
"description": "Heuristic percent change in FX spot for a 100 bps spread change. Used as a scenario assumption, not a forecast guarantee.",
"examples": [
0.5,
0.8,
1.2
]
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"policy_shock_bps": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional alias for shock_bps for compatibility with host-side app payloads.",
"examples": [
25,
50
]
},
"quote": {
"description": "Quote currency, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"jpy",
"chf"
],
"type": "string"
},
"shock_bps": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": 25,
"description": "Policy shock size in basis points (100 bps = 1.00 percentage point).",
"examples": [
25,
50,
-25
]
},
"shock_leg": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "base",
"description": "Which leg receives the policy shock: base or quote.",
"examples": [
"base",
"quote"
]
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
}
},
"required": [
"base",
"quote"
],
"title": "policy_scenario_modeler_taskArguments",
"type": "object"
},
"name": "policy_scenario_modeler_task"
},
{
"description": "Analyze a multi-position FX book for concentration, stress exposure, and event-driven catalyst risk. Returns analysis in the tool response. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"horizon_events": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 4,
"description": "Maximum release events to consider per currency leg.",
"examples": [
3,
4,
8
]
},
"positions_json": {
"description": "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}]",
"examples": [
"[{\"base\":\"eur\",\"quote\":\"usd\",\"side\":\"long\",\"notional\":100000},{\"base\":\"gbp\",\"quote\":\"usd\",\"side\":\"short\",\"notional\":80000}]"
],
"type": "string"
},
"stress_shock_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": 1,
"description": "Stress shock in percent applied to each pair.",
"examples": [
0.5,
1,
2
]
}
},
"required": [
"positions_json"
],
"title": "portfolio_risk_engine_taskArguments",
"type": "object"
},
"name": "portfolio_risk_engine_task"
},
{
"description": "Return the public central-bank press-release archive for a currency as the original official release rows, without derived sentiment or indicator classifications. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"currency": {
"description": "3-letter ISO currency code (case-insensitive).",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
],
"type": "string"
},
"limit": {
"default": 20,
"description": "Maximum rows to return.",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Zero-based row offset.",
"minimum": 0,
"type": "integer"
}
},
"required": [
"currency"
],
"title": "press_releasesArguments",
"type": "object"
},
"name": "press_releases"
},
{
"description": "Run an expanded quant-style policy scenario for an FX pair with deterministic projection, stress percentiles, and horizon assumptions. Returns analysis in the tool response. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"annualized_volatility_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": 8,
"description": "Annualized volatility assumption (percent) for stress-band construction.",
"examples": [
6,
8,
12
]
},
"base": {
"description": "Base currency, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"eur",
"gbp",
"aud",
"usd"
],
"type": "string"
},
"elasticity_per_100bps": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": 0.8,
"description": "Heuristic percent FX move per 100 bps spread change.",
"examples": [
0.5,
0.8,
1.2
]
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"horizon_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 30,
"description": "Scenario horizon in calendar days.",
"examples": [
7,
30,
90
]
},
"quote": {
"description": "Quote currency, 3-letter ISO code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"jpy",
"chf"
],
"type": "string"
},
"shock_bps": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": 50,
"description": "Policy shock size in basis points (100 bps = 1.00 percentage point).",
"examples": [
25,
50,
-25
]
},
"shock_leg": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "base",
"description": "Which leg receives the policy shock: base or quote.",
"examples": [
"base",
"quote"
]
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
}
},
"required": [
"base",
"quote"
],
"title": "quant_scenario_lab_taskArguments",
"type": "object"
},
"name": "quant_scenario_lab_task"
},
{
"description": "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.",
"inputSchema": {
"properties": {
"currency": {
"description": "3-letter currency code.",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
],
"type": "string"
},
"curve_family": {
"default": "government_nominal",
"description": "Official curve family.",
"type": "string"
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional target date, YYYY-MM-DD."
},
"method": {
"default": "derived_from_spot_nodes",
"description": "Forward derivation method when view is forwards.",
"type": "string"
},
"metric": {
"default": "spot",
"description": "Curve metric.",
"type": "string"
},
"view": {
"default": "nodes",
"description": "Curve view: nodes, slopes, or forwards.",
"examples": [
"nodes",
"slopes",
"forwards"
],
"type": "string"
}
},
"required": [
"currency"
],
"title": "rate_curveArguments",
"type": "object"
},
"name": "rate_curve"
},
{
"description": "Return the stored or derived rate differential for one FX pair, with the measure, rate type, curve family, and tenor metadata that define it. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"base": {
"description": "Base currency code.",
"examples": [
"aud"
],
"type": "string"
},
"curve_family": {
"default": "government_nominal",
"description": "Curve family when rate_type is forward.",
"type": "string"
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive end date, YYYY-MM-DD."
},
"end_tenor_years": {
"default": 5,
"description": "End tenor in years for forward differentials.",
"type": "number"
},
"limit": {
"default": 20,
"description": "Maximum rows to return.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"measure": {
"default": "auto",
"description": "Shared rate measure to compare across the pair.",
"examples": [
"auto",
"policy_rate",
"gov_bond_10y"
],
"type": "string"
},
"offset": {
"default": 0,
"description": "Zero-based row offset.",
"minimum": 0,
"type": "integer"
},
"quote": {
"description": "Quote currency code.",
"examples": [
"usd"
],
"type": "string"
},
"rate_type": {
"default": "spot",
"description": "Differential type: spot or forward.",
"examples": [
"spot",
"forward"
],
"type": "string"
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive start date, YYYY-MM-DD."
},
"start_tenor_years": {
"default": 2,
"description": "Start tenor in years for forward differentials.",
"type": "number"
}
},
"required": [
"base",
"quote"
],
"title": "rate_differentialsArguments",
"type": "object"
},
"name": "rate_differentials"
},
{
"description": "Get upcoming scheduled macroeconomic release timestamps for a currency, for questions such as when the next CPI, GDP, payrolls, or policy decision is due. Returns ISO-8601 announcement_datetime values in UTC plus market-local timestamps, a markdown agenda, and Release Calendar App metadata. The optional `timezone` adds an `announcement_datetime_requested_timezone` field. Each row has a `release` string with the indicator name and a `currency` code. Unbounded calls return future releases only. The optional `indicator` filter narrows to a single series, and optional `start_date` and `end_date` bounds select a month, week, day, or explicit date range. Supported currencies: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy. The `indicator` parameter lists the accepted indicator slugs. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"archive_event_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "versions only: the archive event_id from snapshot rows."
},
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "snapshot only: ISO 8601 knowledge cutoff ending in Z or an offset.",
"examples": [
"2025-10-01T15:00:00Z"
]
},
"checkpoint": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "snapshot/versions: checkpoint from the first page."
},
"currency": {
"description": "3-letter ISO currency code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
],
"type": "string"
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "snapshot/versions: next_cursor from the previous page."
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"event_kind": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "snapshot only: release, speech, meeting, policy_decision, press_conference or other."
},
"importance": {
"anyOf": [
{
"enum": [
"high",
"medium",
"low",
"unknown"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "snapshot only: importance filter."
},
"indicator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional indicator slug to narrow results. Supported: any indicator slug the FXMacroData catalogue lists for the currency, for example inflation, gdp, policy_rate, unemployment.",
"examples": [
"policy_rate",
"inflation",
"unemployment",
"gdp"
]
},
"knowledge_mode": {
"anyOf": [
{
"enum": [
"accepted",
"reconstruction"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "snapshot only: accepted (default) or reconstruction."
},
"limit": {
"anyOf": [
{
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "snapshot/versions: page size, default 250."
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"timezone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional IANA timezone for an additional converted timestamp, for example America/Sao_Paulo.",
"examples": [
"America/Sao_Paulo",
"Australia/Sydney"
]
},
"view": {
"default": "upcoming",
"description": "upcoming (default): scheduled releases. snapshot: the schedule as it was known at `as_of`. versions: every schedule change and cancellation for one `archive_event_id`. archive_coverage: retained official calendar evidence and known gaps.",
"enum": [
"upcoming",
"snapshot",
"versions",
"archive_coverage"
],
"type": "string"
}
},
"required": [
"currency"
],
"title": "release_calendarArguments",
"type": "object"
},
"name": "release_calendar"
},
{
"description": "Returns the release calendar payload with MCP Apps metadata so compatible clients render the interactive Release Calendar App inline. Suited to requests to show, display, visualize, or render a macro release calendar, such as 'show me the AUD release calendar'. Optional `indicator`, `start_date`, and `end_date` filters narrow the calendar to a series, month, week, day, or date range; `timezone` adds local times for a specific city or region. Supported currencies: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy. The `indicator` parameter lists the accepted indicator slugs. Access: USD is available without an API key; every other currency returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"currency": {
"description": "3-letter ISO currency code (case-insensitive). Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"eur",
"gbp",
"jpy"
],
"type": "string"
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive upper bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"indicator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional indicator slug to narrow results. Supported: any indicator slug the FXMacroData catalogue lists for the currency, for example inflation, gdp, policy_rate, unemployment.",
"examples": [
"policy_rate",
"inflation",
"unemployment",
"gdp"
]
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive lower bound, YYYY-MM-DD.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"timezone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional IANA timezone for an additional converted timestamp, for example America/Sao_Paulo.",
"examples": [
"America/Sao_Paulo",
"Australia/Sydney"
]
}
},
"required": [
"currency"
],
"title": "release_calendar_visual_artifactArguments",
"type": "object"
},
"name": "release_calendar_visual_artifact"
},
{
"description": "Score upcoming releases for a currency pair using release-calendar proximity and indicator-level heuristics. Returns analysis in the tool response. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"base": {
"description": "Base currency, 3-letter ISO code. Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"eur",
"gbp",
"usd"
],
"type": "string"
},
"horizon_events": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 6,
"description": "Maximum release events per currency to score.",
"examples": [
4,
6,
10
]
},
"quote": {
"description": "Quote currency, 3-letter ISO code. Supported: any lowercase 3-letter ISO code in the FXMacroData catalogue, for example usd, eur, gbp, jpy.",
"examples": [
"usd",
"jpy",
"chf"
],
"type": "string"
}
},
"required": [
"base",
"quote"
],
"title": "release_risk_score_taskArguments",
"type": "object"
},
"name": "release_risk_score_task"
},
{
"description": "List, read or start an owned reference paper account; inspect paged event summaries, control entries or append a version-linked journal note. Journal reads return five notes per offset, with long text explicitly shortened. Full event evidence and notes remain in the private website audit export. Paid subscription required. New versions start flat at USD 100. Historical replay is labelled separately. No broker orders, live execution or model inference.",
"inputSchema": {
"properties": {
"action": {
"default": "list",
"type": "string"
},
"book_id": {
"default": "",
"type": "string"
},
"offset": {
"default": 0,
"type": "integer"
},
"settings": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null
}
},
"title": "research_paperArguments",
"type": "object"
},
"name": "research_paper"
},
{
"description": "Submit, list, read, cancel or explicitly reveal a sealed holdout of a private persisted research job. Requires an active paid subscription. Submit queues a bounded worker calculation; read retrieves its saved report. No live trading or model inference. Kind experiment provides the shared Strategy lab report.",
"inputSchema": {
"properties": {
"action": {
"default": "list",
"type": "string"
},
"configuration": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"kind": {
"default": "experiment",
"type": "string"
},
"request_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"run_id": {
"default": "",
"type": "string"
}
},
"title": "research_runArguments",
"type": "object"
},
"name": "research_run"
},
{
"description": "Return the global risk-on/risk-off sentiment series used for FX regime analysis. The result includes a derived composite score, regime label, component contributions, pagination, and data_quality metadata. Suited to cross-asset regime context for high-beta, safe-haven, commodity, or USD-defensive FX conditions. Access: free, no API key required.",
"inputSchema": {
"properties": {
"after_sequence": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "changes only: return changes after this sequence."
},
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive end date in YYYY-MM-DD format.",
"examples": [
"2026-06-30"
]
},
"limit": {
"anyOf": [
{
"maximum": 100,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "changes only: page size, default 20."
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional inclusive start date in YYYY-MM-DD format.",
"examples": [
"2026-06-01"
]
},
"view": {
"default": "series",
"description": "series (default): the score history. changes: a resumable feed of recorded additions and revisions; pass pagination.next_after_sequence back as after_sequence.",
"enum": [
"series",
"changes"
],
"type": "string"
}
},
"title": "risk_sentimentArguments",
"type": "object"
},
"name": "risk_sentiment"
},
{
"description": "Get monthly return seasonality for an FX pair or XAU/USD, covering seasonal patterns, month-of-year tendency, historical monthly win rate, and XAUUSD/gold seasonality. Returns monthly average return, median return, win rate, sample size, dispersion, and per-year monthly returns from stored FX or gold series. Access: requires an FXMacroData API key; an anonymous call returns subscription_required with a subscribe link.",
"inputSchema": {
"properties": {
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Inclusive upper bound, YYYY-MM-DD. Defaults to today.",
"examples": [
"2020-01-01",
"2024-06-30"
]
},
"instrument": {
"description": "Six-letter pair such as EURUSD, AUDUSD, USDJPY, or XAUUSD. Slashes and separators are accepted by the REST endpoint only when passed as a single string.",
"examples": [
"XAUUSD",
"EURUSD",
"AUDUSD"
],
"type": "string"
},
"lookback_years": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 10,
"description": "Number of years to include, 2-30. Defaults to 10.",
"examples": [
10
]
},
"month": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional month filter, 1-12 or name such as July.",
"examples": [
"July"
]
}
},
"required": [
"instrument"
],
"title": "seasonalityArguments",
"type": "object"
},
"name": "seasonality"
},
{
"description": "Returns FXMacroData subscription options and a direct checkout path for unlocking MCP app visuals, charts, and advanced analytical tools.",
"inputSchema": {
"properties": {},
"title": "subscribe_for_mcp_accessArguments",
"type": "object"
},
"name": "subscribe_for_mcp_access"
}
]
}What the leaf hashes
{"body":"5d5711fd251f55806ca579030941dd923877e028d8c658cbd0e9449fe21d9913","id":1479401,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793434649537078,"prev":984521,"subject":"b325e1af-2721-4186-ba7b-8df61915bd53","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (246033 rows).
- 0x884db35a0dc1a43bee057dfdf0b12773e60da813a82ef0f99d7ed4773d28b881
- 0x69f93533df10b5ae773895be37b80727d9c150cb915fe05aa9192013d53d5dbb
- 0x695a8b89e35b05534e0049eec4d26fcc779c495ca0d863bd942479c36a8cfcb2
- 0x66fe0b80645d9a6a8297f43e454202ac33bef7eea834d6543dbd30918d2a2076
- 0xf58c5e23bdd6ac1fef8fff3988bcf0b9e6f5429d40395ed955f055678f1fa880
- 0xe5a87697182a2b2d32240344973f86e229c6210269e9526301919a24248c6c5d
- 0x46b5487a848974ca56f464b42b4208ca20962219bcf19f03cfa6d98dcad702fa
- 0x574d78976686b8ade6fed37c72a7fab4670b754431f18dc274a4d40811d49b38
- 0x57f5e857d457b4c0852b1dddf24d7f237c24edb875d03258ea39b559460f3dc3
- 0x0f61739645caa3978dee9383e3f5391cf964789ea30111a0c7d409fd21c465f0
- 0xdb2ab4f97e739a5d29863a01dd19141bb38daeeb1dfac1cdf4807e0619783d28
- 0xfc285a6ff41aaeb9d14642b9d788577e68e1988eeb934ef3f7aefef96aad6c43
- 0xf78dcc497b1eed1570dd01a177c5d9c85de403719e57871edde8db0cd63ccfa3
- 0x53cec9a253425d115917fd16acdf0d80665ab0944593859ce1e8b491b9693e2f
- 0x91bc1c2b25f148b9b56bf377304983d0f2e68d0d8c3f65c9aaa8adb083331d11
- 0x8605635b6c6bd33c6547585212170cc076018c2dd5f81f35a5ac4ade689fbb12
- 0x50003b3c3045b653f8be4232e95e80582cf5c54c14c509ba0a9a197b9e5005cb
- 0x0504a25438f3c7932125463198ca74c5064f23f71a5c92763b3fc96a98cc8b57
- Day root
- 0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
- Chained
- 0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
- Published
- On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0