FXMacroData
Macroeconomic and FX time-series data for AI agents: indicators, calendars, COT, forex, commodities.The vendor's description, from its MCP Registry listing.
Every public check ran and passed. Public audit: we connect as an AI client would, list the tools and check what they say. We do not run them. How we audit
- Does it work?
- YesConnected in 215 ms.
- Sign-up?
- None neededIt answered without any account or key.
- Can it change things?
- YesSome tools say they can change things. Your AI client should ask you first.
https://fxmacrodata.com/mcpSource code Website Streamable HTTP · protocol 2025-11-25 · server version 1.0.1
What we checked
Security
Passed: Connections are encrypted (HTTPS).
Passed: No hidden instructions found in tool text.
Safety labels
Note: 11 tools are labelled as able to change things.
Expected for tools that send, write or buy. Your AI client should ask before calling them.
- research_run_submit
- research_run_cancel
- research_run_reveal_holdout
- research_paper_start
- research_paper_start_version
- research_paper_pause
- research_paper_resume
- research_paper_flatten
- and 3 more
Passed: Every tool says whether it only reads or can change things.
Tools
Note: Some tool text is long, so it uses more of the AI's working memory.
- server instructions (10,807 characters)
Passed: 52 tools listed.
Passed: Every tool describes its inputs with a valid schema.
Protocol
Passed: The MCP handshake works (Streamable HTTP).
Passed: Protocol version 2025-11-25 (latest).
Passed: Unknown requests are refused.
Connection
Passed: The server responds.
Tools (52)
As the server describes them. The labels are the server's own: it says whether each tool only reads or can change things.
- pingHealth check that confirms the FXMacroData API and MCP server are reachable. Returns the API health response.Read-only
- mcp_capabilitiesExplains 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, Cu…Read-only
- subscribe_for_mcp_accessReturns FXMacroData subscription options and a direct checkout path for unlocking MCP app visuals, charts, and advanced analytical tools.Read-only
- data_catalogueList every macroeconomic indicator FXMacroData publishes for a currency, with units, frequency, and coverage/freshness metadata. Returns the exact `indicator` slug strings used across FXMacroData ind…Read-only
- risk_sentimentReturn 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 met…Read-only
- macro_newsReturn 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 ar…Read-only
- release_calendarGet 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 value…Read-only
- release_calendar_visual_artifactReturns 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…Read-only
- event_predictionsReturn stored forecasts, consensus-style predictions, central-bank projections, survey forecasts, IMF forecasts, nowcasts, or FXMacroData blended predictions for macro announcements, for actual-vs-co…Read-only
- latest_announcementsReturn 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…Read-only
- press_releasesReturn the public central-bank press-release archive for a currency as the original official release rows, without derived sentiment or indicator classifications. Access: USD needs no API key; other…Read-only
- rate_curveReturn 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. A…Read-only
- rate_differentialsReturn the stored or derived rate differential for one FX pair, with the measure, rate type, curve family, and tenor metadata that define it. Access: API key required, else returns subscription_requi…Read-only
- forexGet raw historical FX spot-rate rows for a currency pair (e.g. EUR/USD) as a plain-text table, raw rows, exact values, or JSON-like data, without chart metadata. Daily official central-bank reference…Read-only
- seasonalityGet 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,…Read-only
- indicator_queryReturns one currency/indicator's persisted official-producer history using catalogue identifiers. Rows contain `date` (reference period), numeric `val` and separate publication evidence; no chart met…Read-only
- plot_visual_artifactBuild a generic MCP Apps chart: single or multi-series charts, including actual-vs-consensus views combining announcements with predictions. Rate-differential plots show both policy rates and their s…Read-only
- macro_briefing_taskBuild a compact macro briefing for a currency by combining catalogue, key macro series, release-calendar, prediction, news, risk-sentiment, COT, seasonality, and FX technical context. Set depth for o…Read-only
- macro_heatmap_taskBuild a cross-currency macro heatmap from indicator time series and return a matrix with latest values, recent changes, and z-scores. Set mode for a single-pair market cockpit instead. Access: USD ne…Read-only
- geopolitical_historySearch stored official sanctions (OFAC) and maritime-security (UKMTO) records by source, country, date or text. Each row carries the event_id the other geopolitical tools take and its revision histor…Read-only
- geopolitical_eventFull stored record of one official-source geopolitical event, by event_id, with separate incident, publication and capture dates; as_of returns it as known at a past cutoff. Access: API key required,…Read-only
- geopolitical_event_revisionsEvery stored revision of one geopolitical event's source record, by event_id, showing how the publisher changed it over time; as_of limits it to what was known at a past cutoff. Access: API key requi…Read-only
- geopolitical_sourcesLists the official geopolitical sources held: source_id values, record counts, collection outcomes and coverage limits. Takes no arguments. Access: API key required, else returns subscription_require…Read-only
- geopolitical_event_reactionPrecomputed FX reference-price moves for one currency pair around one geopolitical event, by event_id. Context only: not causation or a trading signal. Access: API key required, else returns subscrip…Read-only
- event_impact_replay_taskReplay 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 sur…Read-only
- fx_trade_setup_taskBuild a trader-oriented FX pair setup using spot context, macro differentials, upcoming catalyst risk, and optional COT positioning. Set view for pair context only or a ranked event-risk score. Acces…Read-only
- fx_backtest_taskRun 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, rebalanc…Read-only
- research_run_listList owned saved studies. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.Read-only
- research_run_readRead one saved study; full report is available in the Research App. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscrip…Read-only
- research_run_submitQueue one bounded research calculation; returns a queued run ID. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscriptio…Can change things
- research_run_cancelCancel a saved research job. Cancellation cannot be undone; completed work may need a new submission. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API k…Can change things
- research_run_reveal_holdoutIrreversibly expose a study holdout and record its exposure. The holdout can no longer be treated as unseen. Requires FXMacroData account access; owner-only. No live orders or model inference. Access…Can change things
- research_paper_listList owned reference paper accounts. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe…Read-only
- research_paper_readRead one reference paper account and its versions. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required wit…Read-only
- research_paper_startCreate a new reference paper account starting flat at USD 100. Replay is historical. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else…Can change things
- research_paper_start_versionArchive the current version and start a fresh immutable version flat at USD 100. Discards its active position and pending order without a synthetic closing fill; preserves history. Requires FXMacroDa…Can change things
- research_paper_eventsRead paged paper event summaries; full input evidence remains in the private audit export. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required…Read-only
- research_paper_pausePause new paper entries. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link.Can change things
- research_paper_resumeResume paper entries unless risk halted. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscr…Can change things
- research_paper_flattenRequest paper position flattening and discard pending orders; new entries stay paused until the account is resumed. This changes simulated account state. Requires FXMacroData account access; owner-on…Can change things
- research_paper_archiveArchive a paper account and its active version. This account cannot be resumed. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else retu…Can change things
- research_paper_journalRead five journal notes per offset, with long text explicitly shortened. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns sub…Read-only
- research_paper_append_journalAppend a version-linked journal note; does not modify existing notes. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscr…Can change things
- research_paper_revise_journalAppend a new revision of an existing journal note, retaining the previous revisions. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else…Can change things
- market_sessionsReturns 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?'…Read-only
- cot_dataGet 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 positionin…Read-only
- commoditiesGet historical price series for supported commodity indicators using the exact slugs advertised by this schema. Supported indicators: crude_oil_inventories, crude_oil_stocks, distillate_inventories,…Read-only
- catalogue_searchFind public macro indicator series, publishers, explicit country links or organisation references. Search by text or filter by currency, country code, or publisher ID. Empty results do not establish…Read-only
- catalogue_relatedFollow evidence-linked catalogue relationships from a node ID returned by catalogue_search. Depth is one or two, limit is at most fifty; use the returned cursor for more results. Paths explain record…Read-only
- organisation_searchFind 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 firm…Read-only
- organisation_profileRead 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 endo…Read-only
- official_datasetsOne 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…Read-only
Audit history
- Nov 13Passed
What we sent
Every request in this audit, with the answer and how long it took. We never send credentials and never call a tool.
| Request | Answer | Time |
|---|---|---|
| initialize | HTTP 200 | 215 ms |
| initialized | HTTP 202 | 137 ms |
| tools/list | HTTP 200 | 171 ms |
| resources/list | HTTP 200 | 137 ms |
| prompts/list | HTTP 200 | 83 ms |
| unknown-method | HTTP 200 | 109 ms |
Run this server, or disagree with the result?
Fix the issue and it shows in the next weekly audit, or email us to ask for a re-audit or to dispute a finding. Read how we audit for what each check means.
{
"mcpServers": {
"io-github-fxmacrodata-fxmacrodata": {
"type": "http",
"url": "https://fxmacrodata.com/mcp"
}
}
}{
"server": {
"name": "io.github.fxmacrodata/fxmacrodata",
"title": "FXMacroData",
"url": "https://fxmacrodata.com/mcp",
"transport": "streamable-http",
"topics": [
"Financial",
"Global Macro"
],
"repository": "https://github.com/fxmacrodata/fxmacrodata",
"website": "https://fxmacrodata.com",
"inRegistry": true
},
"audit": {
"slug": "io-github-fxmacrodata-fxmacrodata",
"url": "https://fxmacrodata.com/mcp",
"auditedAt": "2026-11-13T16:26:43.108Z",
"firstAuditedAt": "2026-11-13T15:57:53.822Z",
"auditor": "1.0.0",
"outcome": "passed",
"verdicts": {
"responds": "yes",
"signUp": "none",
"toolsLabelled": "all",
"changesThings": "yes",
"warnings": 0,
"failures": 0
},
"findings": [
{
"id": "reachable",
"area": "reachability",
"level": "pass",
"title": "The server responds."
},
{
"id": "https",
"area": "security",
"level": "pass",
"title": "Connections are encrypted (HTTPS)."
},
{
"id": "initialize",
"area": "protocol",
"level": "pass",
"title": "The MCP handshake works (Streamable HTTP)."
},
{
"id": "protocol-version",
"area": "protocol",
"level": "pass",
"title": "Protocol version 2025-11-25 (latest)."
},
{
"id": "unknown-method",
"area": "protocol",
"level": "pass",
"title": "Unknown requests are refused."
},
{
"id": "tools-list",
"area": "tools",
"level": "pass",
"title": "52 tools listed."
},
{
"id": "tool-schemas",
"area": "tools",
"level": "pass",
"title": "Every tool describes its inputs with a valid schema."
},
{
"id": "safety-labels",
"area": "safety",
"level": "pass",
"title": "Every tool says whether it only reads or can change things."
},
{
"id": "changes-things",
"area": "safety",
"level": "info",
"title": "11 tools are labelled as able to change things.",
"detail": "Expected for tools that send, write or buy. Your AI client should ask before calling them.",
"evidence": [
"research_run_submit",
"research_run_cancel",
"research_run_reveal_holdout",
"research_paper_start",
"research_paper_start_version",
"research_paper_pause",
"research_paper_resume",
"research_paper_flatten",
"and 3 more"
]
},
{
"id": "tool-poisoning",
"area": "security",
"level": "pass",
"title": "No hidden instructions found in tool text."
},
{
"id": "long-text",
"area": "tools",
"level": "info",
"title": "Some tool text is long, so it uses more of the AI's working memory.",
"evidence": [
"server instructions (10,807 characters)"
]
}
],
"server": {
"name": "FXMacroData",
"version": "1.0.1",
"title": "FXMacroData",
"protocolVersion": "2025-11-25",
"transport": "streamable-http"
},
"toolCount": 52,
"toolsHash": "c908ff15b17fafeb4a7c90b208079f7b8356f3b89be0748132d7bbb628be38e4",
"latencyMs": 215,
"history": [
{
"date": "2026-11-13",
"outcome": "passed",
"tools": 52
}
]
},
"tools": [
{
"name": "ping",
"title": "Ping",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Health check that confirms the FXMacroData API and MCP server are reachable. Returns the API health response."
},
{
"name": "mcp_capabilities",
"title": "MCP Capabilities",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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, Cu…"
},
{
"name": "subscribe_for_mcp_access",
"title": "Subscribe For MCP Access",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Returns FXMacroData subscription options and a direct checkout path for unlocking MCP app visuals, charts, and advanced analytical tools."
},
{
"name": "data_catalogue",
"title": "Indicator Catalogue",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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 ind…"
},
{
"name": "risk_sentiment",
"title": "Global Risk Sentiment",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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 met…"
},
{
"name": "macro_news",
"title": "Macro News",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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 ar…"
},
{
"name": "release_calendar",
"title": "Release Calendar",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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 value…"
},
{
"name": "release_calendar_visual_artifact",
"title": "Release Calendar View",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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…"
},
{
"name": "event_predictions",
"title": "Event Predictions",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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-co…"
},
{
"name": "latest_announcements",
"title": "Latest Macro Announcements",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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…"
},
{
"name": "press_releases",
"title": "Official Press Releases",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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 needs no API key; other…"
},
{
"name": "rate_curve",
"title": "Rate Curve Analytics",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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. A…"
},
{
"name": "rate_differentials",
"title": "Pair Rate Differentials",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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: API key required, else returns subscription_requi…"
},
{
"name": "forex",
"title": "FX Spot Rates",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Get raw historical FX spot-rate rows for a currency pair (e.g. EUR/USD) as a plain-text table, raw rows, exact values, or JSON-like data, without chart metadata. Daily official central-bank reference…"
},
{
"name": "seasonality",
"title": "FX Seasonality",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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,…"
},
{
"name": "indicator_query",
"title": "Indicator Time Series",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Returns one currency/indicator's persisted official-producer history using catalogue identifiers. Rows contain `date` (reference period), numeric `val` and separate publication evidence; no chart met…"
},
{
"name": "plot_visual_artifact",
"title": "Plot Chart",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Build a generic MCP Apps chart: single or multi-series charts, including actual-vs-consensus views combining announcements with predictions. Rate-differential plots show both policy rates and their s…"
},
{
"name": "macro_briefing_task",
"title": "Macro Briefing",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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. Set depth for o…"
},
{
"name": "macro_heatmap_task",
"title": "Macro Heatmap",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Build a cross-currency macro heatmap from indicator time series and return a matrix with latest values, recent changes, and z-scores. Set mode for a single-pair market cockpit instead. Access: USD ne…"
},
{
"name": "geopolitical_history",
"title": "Geopolitical Event History",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Search stored official sanctions (OFAC) and maritime-security (UKMTO) records by source, country, date or text. Each row carries the event_id the other geopolitical tools take and its revision histor…"
},
{
"name": "geopolitical_event",
"title": "Geopolitical Event Details",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Full stored record of one official-source geopolitical event, by event_id, with separate incident, publication and capture dates; as_of returns it as known at a past cutoff. Access: API key required,…"
},
{
"name": "geopolitical_event_revisions",
"title": "Geopolitical Event Revisions",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Every stored revision of one geopolitical event's source record, by event_id, showing how the publisher changed it over time; as_of limits it to what was known at a past cutoff. Access: API key requi…"
},
{
"name": "geopolitical_sources",
"title": "Geopolitical Source Coverage",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Lists the official geopolitical sources held: source_id values, record counts, collection outcomes and coverage limits. Takes no arguments. Access: API key required, else returns subscription_require…"
},
{
"name": "geopolitical_event_reaction",
"title": "Geopolitical Event FX Context",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Precomputed FX reference-price moves for one currency pair around one geopolitical event, by event_id. Context only: not causation or a trading signal. Access: API key required, else returns subscrip…"
},
{
"name": "event_impact_replay_task",
"title": "Event Impact Replay",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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 sur…"
},
{
"name": "fx_trade_setup_task",
"title": "FX Trade Setup Analysis",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Build a trader-oriented FX pair setup using spot context, macro differentials, upcoming catalyst risk, and optional COT positioning. Set view for pair context only or a ranked event-risk score. Acces…"
},
{
"name": "fx_backtest_task",
"title": "FX Backtest",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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, rebalanc…"
},
{
"name": "research_run_list",
"title": "List Saved Research",
"readOnly": true,
"destructive": false,
"openWorld": false,
"description": "List owned saved studies. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link."
},
{
"name": "research_run_read",
"title": "Read Saved Research",
"readOnly": true,
"destructive": false,
"openWorld": false,
"description": "Read one saved study; full report is available in the Research App. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscrip…"
},
{
"name": "research_run_submit",
"title": "Submit Research Study",
"readOnly": false,
"destructive": false,
"openWorld": false,
"description": "Queue one bounded research calculation; returns a queued run ID. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscriptio…"
},
{
"name": "research_run_cancel",
"title": "Cancel Research Study",
"readOnly": false,
"destructive": true,
"openWorld": false,
"description": "Cancel a saved research job. Cancellation cannot be undone; completed work may need a new submission. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API k…"
},
{
"name": "research_run_reveal_holdout",
"title": "Reveal Sealed Holdout",
"readOnly": false,
"destructive": true,
"openWorld": false,
"description": "Irreversibly expose a study holdout and record its exposure. The holdout can no longer be treated as unseen. Requires FXMacroData account access; owner-only. No live orders or model inference. Access…"
},
{
"name": "research_paper_list",
"title": "List Paper Accounts",
"readOnly": true,
"destructive": false,
"openWorld": false,
"description": "List owned reference paper accounts. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe…"
},
{
"name": "research_paper_read",
"title": "Read Paper Account",
"readOnly": true,
"destructive": false,
"openWorld": false,
"description": "Read one reference paper account and its versions. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required wit…"
},
{
"name": "research_paper_start",
"title": "Start Paper Account",
"readOnly": false,
"destructive": false,
"openWorld": false,
"description": "Create a new reference paper account starting flat at USD 100. Replay is historical. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else…"
},
{
"name": "research_paper_start_version",
"title": "Start New Paper Version",
"readOnly": false,
"destructive": true,
"openWorld": false,
"description": "Archive the current version and start a fresh immutable version flat at USD 100. Discards its active position and pending order without a synthetic closing fill; preserves history. Requires FXMacroDa…"
},
{
"name": "research_paper_events",
"title": "Read Paper Events",
"readOnly": true,
"destructive": false,
"openWorld": false,
"description": "Read paged paper event summaries; full input evidence remains in the private audit export. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required…"
},
{
"name": "research_paper_pause",
"title": "Pause Paper Account",
"readOnly": false,
"destructive": false,
"openWorld": false,
"description": "Pause new paper entries. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscribe link."
},
{
"name": "research_paper_resume",
"title": "Resume Paper Account",
"readOnly": false,
"destructive": false,
"openWorld": false,
"description": "Resume paper entries unless risk halted. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscription_required with a subscr…"
},
{
"name": "research_paper_flatten",
"title": "Flatten Paper Account",
"readOnly": false,
"destructive": true,
"openWorld": false,
"description": "Request paper position flattening and discard pending orders; new entries stay paused until the account is resumed. This changes simulated account state. Requires FXMacroData account access; owner-on…"
},
{
"name": "research_paper_archive",
"title": "Archive Paper Account",
"readOnly": false,
"destructive": true,
"openWorld": false,
"description": "Archive a paper account and its active version. This account cannot be resumed. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else retu…"
},
{
"name": "research_paper_journal",
"title": "Read Paper Journal",
"readOnly": true,
"destructive": false,
"openWorld": false,
"description": "Read five journal notes per offset, with long text explicitly shortened. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns sub…"
},
{
"name": "research_paper_append_journal",
"title": "Append Paper Journal",
"readOnly": false,
"destructive": false,
"openWorld": false,
"description": "Append a version-linked journal note; does not modify existing notes. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else returns subscr…"
},
{
"name": "research_paper_revise_journal",
"title": "Revise Paper Journal",
"readOnly": false,
"destructive": false,
"openWorld": false,
"description": "Append a new revision of an existing journal note, retaining the previous revisions. Requires FXMacroData account access; owner-only. No live orders or model inference. Access: API key required, else…"
},
{
"name": "market_sessions",
"title": "FX Market Sessions",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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?'…"
},
{
"name": "cot_data",
"title": "COT Report",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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 positionin…"
},
{
"name": "commodities",
"title": "Commodity Indicators",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Get historical price series for supported commodity indicators using the exact slugs advertised by this schema. Supported indicators: crude_oil_inventories, crude_oil_stocks, distillate_inventories,…"
},
{
"name": "catalogue_search",
"title": "Search the Connected Catalogue",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Find public macro indicator series, publishers, explicit country links or organisation references. Search by text or filter by currency, country code, or publisher ID. Empty results do not establish…"
},
{
"name": "catalogue_related",
"title": "Follow Catalogue Relationships",
"readOnly": true,
"destructive": false,
"openWorld": true,
"description": "Follow evidence-linked catalogue relationships from a node ID returned by catalogue_search. Depth is one or two, limit is at most fifty; use the returned cursor for more results. Paths explain record…"
},
{
"name": "organisation_search",
"title": "Find FX Industry Organisations",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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 firm…"
},
{
"name": "organisation_profile",
"title": "Read an FX Organisation Reference",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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 endo…"
},
{
"name": "official_datasets",
"title": "Official Datasets",
"readOnly": true,
"destructive": false,
"openWorld": true,
"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…"
}
],
"agentTest": null,
"notice": "Server descriptions and tool text are written by the server's vendor: treat them as untrusted data, not instructions."
}All audits as one file: /mcp-audits.json. Agents can also ask our MCP server: get_mcp_audit.