FX Context
Server Details
FX macro context for CPI, NFP, PCE, Fed, ECB, BoE, BoJ, historical analogs, and FX market reactions.
- Status
- Healthy
- Uptime
- 98.4% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose (fundamental event data, market reaction, historical analog cases, aggregate historical patterns, central-bank statement changes, upcoming risks). The descriptions explicitly state when to use one tool over another, including 'Do NOT use' guidance for the two historical tools. No overlapping functions remain ambiguous.
All six tools follow a consistent snake_case get_<noun_phrase> pattern (e.g., get_event_context, get_market_reaction, get_upcoming_risks). There are no mixed conventions or verb-style deviations.
Six tools is a well-scoped set for an FX event-context server, covering the core analytical needs without redundancy. Each tool earns its place by addressing a distinct task.
The set covers fundamental releases, market reactions, historical analogs, aggregate patterns, central-bank language changes, and upcoming calendar risks. However, there is no direct way to retrieve central-bank rate decisions or their consensus, and historical PCE analogs are not yet available, leaving minor gaps.
Available Tools
6 toolsget_central_bank_changesget_central_bank_changesARead-onlyIdempotentInspect
Compare a central bank monetary-policy statement with its immediately preceding comparable statement and return the material changes in policy language, economic assessment, risk balance, and forward guidance.
Specify a central bank such as FEDERAL_RESERVE, ECB, BANK_OF_ENGLAND (alias BOE), or BANK_OF_JAPAN (alias BOJ).
Optionally specify currentStatementDate in YYYY-MM-DD format to compare a historical statement. If the date is omitted, the latest available statement is compared with the previous one.
Returns structured, source-grounded policy changes including direction, materiality, and previous/current evidence.
This tool does not provide trading recommendations or predict market movements.
| Name | Required | Description | Default |
|---|---|---|---|
| centralBank | Yes | Canonical central bank identifier: FEDERAL_RESERVE, ECB, BANK_OF_ENGLAND (alias BOE), or BANK_OF_JAPAN (alias BOJ). | |
| currentStatementDate | No | Optional publication date in YYYY-MM-DD format (e.g. 2024-07-31). If omitted, the latest available statement is compared with the previous one. |
Output Schema
| Name | Required | Description |
|---|---|---|
| changes | Yes | |
| degraded | No | |
| freshness | No | |
| centralBank | Yes | |
| overallShift | Yes | |
| currentSourceUri | Yes | |
| currentPolicyBias | Yes | |
| previousSourceUri | Yes | |
| currentStatementId | Yes | |
| currentPolicyAction | Yes | |
| previousStatementId | Yes | |
| currentStatementDate | Yes | |
| discardedChangeCount | No | |
| previousStatementDate | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the tool as read-only and idempotent. Beyond that, the description adds useful behavioral detail: it compares only the immediately preceding comparable statement, returns source-grounded evidence, includes direction and materiality, and explicitly disclaims trading advice. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well organized and front-loaded with its primary purpose. It is concise overall, though the list of canonical central bank values is duplicated from the schema and could be trimmed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema, annotations, and clear parameter descriptions, the core invocation context is complete. It covers required input, optional historical comparison, default behavior, and output characteristics. The main missing piece is explicit sibling routing guidance, but this is not critical for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents centralBank values, aliases, the date format, and the default behavior. The description mostly restates this information rather than adding new parameter-level meaning, placing it at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: comparing central bank monetary-policy statements and returning material changes. It names the exact comparison dimensions and output features, though it does not explicitly differentiate itself from sibling tools such as get_market_reaction or get_event_context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for using the optional currentStatementDate and the default behavior when omitted. However, it does not say when to prefer this tool over its siblings, and the only exclusion is a brief note that it does not provide trading recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_event_contextget_event_contextARead-onlyIdempotentInspect
Get the official actual values, pre-release market consensus, and surprise for a specific U.S. macro data release: CPI (US_CPI), Nonfarm Payrolls / jobs report (US_NONFARM_PAYROLLS), or PCE inflation (US_PCE).
WHEN TO CALL: whenever the user asks what a release printed or how it compared with expectations, even if they do not mention FX Context. Do not answer these from memory; recent releases are not in your training data. Examples:
"What's the latest US PCE?" -> US_PCE
"Was core PCE hotter than expected?" -> US_PCE
"Did CPI beat expectations?" -> US_CPI
"What was the latest NFP?" / "How many jobs were added last month?" -> US_NONFARM_PAYROLLS
"Give me the latest US inflation release." -> US_CPI and/or US_PCE
"What were the actual and consensus values?" / "What was the surprise?" -> the release under discussion Omit referencePeriod for the latest release. For a specific release, pass the month the data covers (YYYY-MM), not the month it was published.
WHEN NOT TO CALL: general or educational questions that need no specific release data, e.g. "What is PCE?", "What does NFP stand for?", "Why does CPI matter for FX?", "Explain inflation.", "What is the difference between CPI and PCE?". Use get_upcoming_risks for upcoming release dates, get_market_reaction for price moves after a release, and get_central_bank_changes for central-bank decisions.
RESULT: per-metric official actuals (headline/core, MoM/YoY) with publisher provenance; when valid, pre-release consensus and a deterministic actual-minus-consensus surprise. Each observation has consensusStatus (AVAILABLE, NOT_FOUND, NOT_CAPTURED, NOT_AVAILABLE, EXCLUDED_POST_RELEASE, NOT_APPLICABLE) explaining any missing consensus, and revisionStatus (REVISED, UNCHANGED, NOT_CAPTURED). Consensus is valid only when capturedAt is before releaseCutoffAt. Never treat missing consensus or surprise as zero. Official actuals and third-party consensus keep separate source provenance. No trading recommendations or market-direction predictions.
| Name | Required | Description | Default |
|---|---|---|---|
| eventType | Yes | Canonical financial event type. Supported values: US_CPI (Consumer Price Index; headline and core CPI) US_NONFARM_PAYROLLS (NFP / jobs report; payrolls, unemployment rate, average hourly earnings) US_PCE (PCE / core PCE price index) Use these values exactly. | |
| referencePeriod | No | Optional reference period in YYYY-MM format (e.g. 2026-08). If omitted, the latest available event of that type is returned. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | Yes | |
| status | Yes | |
| eventId | Yes | |
| category | Yes | |
| eventType | Yes | |
| releasedAt | No | |
| scheduledAt | Yes | |
| jurisdiction | Yes | |
| observations | Yes | |
| referencePeriod | No | |
| affectedCurrencies | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, yet the description adds substantial behavioral context: the consensusStatus and revisionStatus enumerations, the validity rule (consensus valid only when capturedAt precedes releaseCutoffAt), the warning never to treat missing consensus/surprise as zero, and the provenance separation between official and third-party data. This is information the agent cannot get from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then clearly demarcated WHEN TO CALL / WHEN NOT TO CALL / RESULT sections; the example list is long but each example maps a distinct phrasing to an event type. Some RESULT content overlaps with the existing output schema, costing a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, read-only lookup with an output schema, the description covers selection rules, parameter disambiguation, failure/status semantics, and scope limits (no trading recommendations). An agent has everything needed to pick the right eventType and interpret missing data correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds genuine semantics beyond the schema: omit referencePeriod for the latest release, and pass the data-coverage month (YYYY-MM) rather than the publication month. That disambiguation of a genuinely ambiguous parameter earns above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource ('Get the official actual values, pre-release consensus, and surprise for a specific U.S. macro data release') and enumerates the three exact event types it serves. It is clearly distinguishable from siblings like get_upcoming_risks and get_market_reaction, which are named as separate concerns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit WHEN TO CALL section with six concrete user-utterance examples mapped to specific eventType values, plus a WHEN NOT TO CALL section with exclusion examples (educational questions) and named alternatives (get_upcoming_risks, get_market_reaction, get_central_bank_changes). The 'even if they do not mention FX Context' clause preempts a likely failure mode.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historical_analogsget_historical_analogsRead-onlyIdempotentInspect
Find and return individual historical macroeconomic releases whose surprise profiles are most similar to a selected target event.
Use this CASE-RETRIEVAL tool when the user wants to identify, rank, inspect, or compare specific historical analog events.
It returns the matched events themselves, including event identity, similarity characteristics, surprise profile, and each event's observed post-release reaction.
Supported event types: US_CPI and US_NONFARM_PAYROLLS across EURUSD, GBPUSD, and USDJPY. US_PCE is recognized but not yet publicly available: the historical PCE calibration corpus currently has too few usable periods, and a request for US_PCE returns a structured INSUFFICIENT_HISTORICAL_CALIBRATION error (with usable/required event counts) instead of analog results until the corpus grows.
Similarity methodology is event-specific: US_CPI uses headline/core surprise distance; US_NONFARM_PAYROLLS uses target-relative robust scale normalization (nfp-historical-analog-v1); US_PCE (once activated) uses the same raw surprise -distance approach as US_CPI (pce-historical-analog-v1).
Target period: if referencePeriod is omitted, the target is the most recent event of the requested type. Surprises are never estimated, so if that event has no verified pre-release consensus (common right after a new NFP release) the tool fails with NO_VERIFIED_PRE_RELEASE_EXPECTATION. The error details include targetReferencePeriod, latestReleasedPeriod, latestPeriodWithVerifiedExpectation and a hint; to analyze that prior period, retry with referencePeriod=YYYY-MM. Tell the user the newest release could not be analyzed rather than presenting the prior period as the latest.
Every "cannot compute" error has the same shape: "CODE: reason [hint] details={json}", where the JSON always contains code, eventType and hint.
Do NOT use this tool when the user's primary question is about aggregate behavior across the analog sample; use get_historical_reaction_context instead.
The results are historical observations only and do not predict future price direction or provide trading recommendations.
| Name | Required | Description | Default |
|---|---|---|---|
| eventType | Yes | Canonical target event type: US_CPI, US_NONFARM_PAYROLLS, or US_PCE. | |
| instrument | No | Optional trading instrument: EURUSD, GBPUSD, or USDJPY. Defaults to EURUSD. | |
| maxAnalogs | No | Optional maximum number of individual analogs to return (range 3 to 30, default 10). | |
| referencePeriod | No | Optional reference period in YYYY-MM format (e.g. 2024-06 or 2026-08). If omitted, the most recent event is the target. Use it to analyze a prior period when the latest event has no verified pre-release expectation. |
Output Schema
| Name | Required | Description |
|---|---|---|
| analogs | Yes | |
| coverage | Yes | |
| eventType | Yes | |
| instrument | Yes | |
| methodology | Yes | |
| targetSurprise | Yes | |
| referencePeriod | Yes | |
| methodologyVersion | Yes | |
| reactionStatistics | Yes |
get_historical_reaction_contextget_historical_reaction_contextRead-onlyIdempotentInspect
Summarize the aggregate post-event reaction pattern across historical macroeconomic events similar to a selected target release.
Use this AGGREGATE-PATTERN tool when the user wants to understand what the historical analog sample collectively showed rather than inspect individual analog events.
It summarizes historical outcomes using statistics and behavioral patterns across standardized post-event windows (M5, M15, H1, H4, H24) such as mean, median, quantiles, directional consistency, reaction-path classification (e.g. IMMEDIATE_CONTINUATION, INITIAL_REVERSAL, FADE, DELAYED_REACTION), persistence, and sample-size-based confidence.
Supported event types: US_CPI and US_NONFARM_PAYROLLS across EURUSD, GBPUSD, and USDJPY.
Similarity methodology is event-specific: US_CPI uses headline/core surprise distance; US_NONFARM_PAYROLLS uses target-relative robust scale normalization (nfp-historical-analog-v1).
Target period: if referencePeriod is omitted, the target is the most recent event of the requested type. Surprises are never estimated, so if that event has no verified pre-release consensus (common right after a new NFP release) the tool fails with NO_VERIFIED_PRE_RELEASE_EXPECTATION. The error details include targetReferencePeriod, latestReleasedPeriod, latestPeriodWithVerifiedExpectation and a hint; to analyze that prior period, retry with referencePeriod=YYYY-MM. Tell the user the newest release could not be analyzed rather than presenting the prior period as the latest.
Every "cannot compute" error has the same shape: "CODE: reason [hint] details={json}", where the JSON always contains code, eventType and hint.
Do NOT use this tool when the user's primary goal is to identify, rank, enumerate, or inspect specific historical analog events. For individual historical cases, use get_historical_analogs. When the user asks for both specific cases and collective pattern analysis, invoke both tools.
The results are deterministic empirical observations only and do not predict future prices or provide trading recommendations.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional maximum number of similar historical events to include in aggregate analysis (range 3 to 30, default 10). | |
| eventType | Yes | Canonical target event type: US_CPI or US_NONFARM_PAYROLLS. | |
| instrument | No | Optional trading instrument: EURUSD, GBPUSD, or USDJPY. Defaults to EURUSD. | |
| referencePeriod | No | Optional reference period in YYYY-MM format (e.g. 2024-06 or 2026-08). If omitted, the most recent event is the target. Use it to analyze a prior period when the latest event has no verified pre-release expectation. |
Output Schema
| Name | Required | Description |
|---|---|---|
| analogs | Yes | |
| coverage | Yes | |
| eventType | Yes | |
| instrument | Yes | |
| referencePeriod | Yes | |
| aggregatePattern | Yes | |
| reactionStatistics | Yes | |
| targetSurpriseProfile | Yes |
get_market_reactionget_market_reactionARead-onlyIdempotentInspect
Retrieve deterministic post-event market reaction metrics for an economic release or monetary policy statement.
Specify the targetType, such as US_CPI, US_PCE (alias PCE), US_NONFARM_PAYROLLS (alias NFP), FEDERAL_RESERVE, ECB, BANK_OF_ENGLAND (alias BOE), or BANK_OF_JAPAN (alias BOJ).
Optionally specify dateOrPeriod:
For US_CPI, US_PCE, and US_NONFARM_PAYROLLS: reference period in YYYY-MM format (e.g. 2024-07). If omitted, the latest event is resolved.
For FEDERAL_RESERVE, ECB, BANK_OF_ENGLAND, or BANK_OF_JAPAN: statement date in YYYY-MM-DD format (e.g. 2024-08-01). If omitted, the latest statement is resolved.
Optionally specify instrument: EURUSD, GBPUSD, or USDJPY (defaults to EURUSD).
Returns deterministic price action metrics across 5 standardized post-event windows (M5, M15, H1, H4, H24) including startPrice, endPrice, returnPct, high, low, maxUpMovePct, maxDownMovePct, and rangePct.
All calculations are strictly deterministic and mathematical. This tool does not provide trading recommendations or predictive signals.
| Name | Required | Description | Default |
|---|---|---|---|
| instrument | No | Optional trading instrument: EURUSD, GBPUSD, or USDJPY. Defaults to EURUSD. | |
| targetType | Yes | Canonical target event type: US_CPI, US_PCE (alias PCE), US_NONFARM_PAYROLLS (alias NFP), FEDERAL_RESERVE, ECB, BANK_OF_ENGLAND (alias BOE), or BANK_OF_JAPAN (alias BOJ). | |
| dateOrPeriod | No | Optional reference period (YYYY-MM for US_CPI, US_PCE, and US_NONFARM_PAYROLLS) or statement date (YYYY-MM-DD for central banks). If omitted, the latest event is returned. |
Output Schema
| Name | Required | Description |
|---|---|---|
| windows | Yes | |
| targetId | Yes | |
| eventTime | Yes | |
| freshness | No | |
| isSettled | Yes | |
| instrument | Yes | |
| isComplete | Yes | |
| reactionId | Yes | |
| targetType | Yes | |
| calculatedAt | Yes | |
| coverageStatus | No | |
| marketDataSource | Yes | |
| reactionCoverage | No | |
| targetDescription | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds meaningful behavioral context beyond that: calculations are strictly deterministic and mathematical, and the tool explicitly provides no trading recommendations or predictive signals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but every sentence earns its place: it front-loads the purpose, then parameter rules, then output fields. The structure is scannable and contains no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all call inputs, default behavior, supported date formats, and the returned metric fields. Since an output schema exists, detailed return-value documentation is not required; nothing important for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all three parameters with 100% coverage. The description adds value by giving canonical aliases (PCE/NFP/BOE/BOJ), concrete YYYY-MM vs YYYY-MM-DD examples, and the EURUSD default, though it largely reinforces schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and object—'Retrieve deterministic post-event market reaction metrics'—and enumerates supported event types. Clear enough to distinguish from siblings like get_event_context and get_historical_reaction_context because it targets quantitative reaction metrics, not context or analogs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains exactly how to set targetType and dateOrPeriod per event family, including format and defaulting behavior. It does not explicitly name sibling alternatives or state when not to use this tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_upcoming_risksget_upcoming_risksRead-onlyIdempotentInspect
Retrieve known scheduled macroeconomic and central-bank risks that may affect a supported FX instrument within a future time window.
Use this tool when the user asks what could move EURUSD, GBPUSD, or USDJPY, what macro risks are coming up, what is happening in the next 24 hours, this week, or over the next month, what upcoming macro risks or scheduled events exist, or when the next CPI, next NFP, next PCE, next Fed, next ECB, next BoE, or next BoJ event occurs.
The supported risks are U.S. CPI releases, U.S. Nonfarm Payrolls releases, U.S. PCE inflation releases, Federal Reserve monetary-policy decisions, ECB monetary-policy decisions, Bank of England monetary-policy decisions, and Bank of Japan monetary-policy decisions.
The horizon can extend up to 720 hours (30 days). scheduleCoverage reports, for each supported event type, the latest known scheduled date and whether the known calendar covers the whole window. If scheduleCoverageComplete is false, some event types may have additional events in the window that are not yet known; say so instead of treating the list as complete.
Results are based on official release calendars and contain scheduled events only. This tool does not predict market direction, include unscheduled news, or provide trading recommendations.
If no supported scheduled event exists within the requested horizon, an empty risk list is returned.
| Name | Required | Description | Default |
|---|---|---|---|
| instrument | No | FX instrument: EURUSD, GBPUSD, or USDJPY. Defaults to EURUSD. | |
| horizonHours | No | Future time window in hours. Defaults to 24. Maximum is 720 (30 days). |
Output Schema
| Name | Required | Description |
|---|---|---|
| asOf | Yes | |
| risks | Yes | |
| windowEnd | Yes | |
| instrument | Yes | |
| horizonHours | Yes | |
| scheduleCoverage | Yes | |
| scheduleCoverageComplete | Yes |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
get_historical_analogs1 field changed- changed
Input schema / properties / referencePeriod / descriptionPrevious value: -"Optional reference period in YYYY-MM format (e.g. 2024-06 or 2026-08). If omitted, the latest available event is resolved as the target."New value: +"Optional reference period in YYYY-MM format (e.g. 2024-06 or 2026-08). If omitted, the most recent event is the target. Use it to analyze a prior period when the latest event has no verified pre-release expectation."
- Changed
get_historical_reaction_context1 field changed- changed
Input schema / properties / referencePeriod / descriptionPrevious value: -"Optional reference period in YYYY-MM format (e.g. 2024-06 or 2026-08). If omitted, the latest available event is used as the target."New value: +"Optional reference period in YYYY-MM format (e.g. 2024-06 or 2026-08). If omitted, the most recent event is the target. Use it to analyze a prior period when the latest event has no verified pre-release expectation."
1 tool update
- Changed
get_upcoming_risks8 fields changed- changed
Input schema / properties / horizonHours / descriptionPrevious value: -"Future time window in hours. Defaults to 24. Maximum is 168 (7 days)."New value: +"Future time window in hours. Defaults to 24. Maximum is 720 (30 days)." - added
Output schema / $defsAdded value: +{ + "ScheduledEventType": { + "enum": [ + "US_CPI", + "US_NONFARM_PAYROLLS", + "US_PCE", + "FEDERAL_RESERVE", + "ECB", + "BANK_OF_ENGLAND", + "BANK_OF_JAPAN" + ], + "type": "string" + } +} - added
Output schema / properties / risks / items / properties / eventType / $refAdded value: +"#/$defs/ScheduledEventType" - removed
Output schema / properties / risks / items / properties / eventType / enumRemoved value: -[ - "US_CPI", - "US_NONFARM_PAYROLLS", - "US_PCE", - "FEDERAL_RESERVE", - "ECB", - "BANK_OF_ENGLAND", - "BANK_OF_JAPAN" -] - removed
Output schema / properties / risks / items / properties / eventType / typeRemoved value: -"string" - added
Output schema / properties / scheduleCoverageAdded value: +{ + "items": { + "properties": { + "coversWindow": { + "type": "boolean" + }, + "eventType": { + "$ref": "#/$defs/ScheduledEventType" + }, + "latestKnownScheduledAt": { + "format": "date-time", + "type": "string" + } + }, + "required": [ + "coversWindow", + "eventType" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / scheduleCoverageCompleteAdded value: +{ + "type": "boolean" +} - changed
Output schema / requiredPrevious value: -[ - "asOf", - "horizonHours", - "instrument", - "risks", - "windowEnd" -]New value: +[ + "asOf", + "horizonHours", + "instrument", + "risks", + "scheduleCoverage", + "scheduleCoverageComplete", + "windowEnd" +]
1 tool update
- Changed
get_event_context7 fields changed- changed
Input schema / properties / eventType / descriptionPrevious value: -"Canonical financial event type.\n\nSupported values:\nUS_CPI\nUS_NONFARM_PAYROLLS\nUS_PCE\n\nUse these values exactly."New value: +"Canonical financial event type.\n\nSupported values:\nUS_CPI (Consumer Price Index; headline and core CPI)\nUS_NONFARM_PAYROLLS (NFP / jobs report; payrolls, unemployment rate, average hourly earnings)\nUS_PCE (PCE / core PCE price index)\n\nUse these values exactly." - added
Output schema / properties / observations / items / properties / consensusStatusAdded value: +{ + "description": "Why the expectation block is present or absent: AVAILABLE, NOT_AVAILABLE, NOT_FOUND, NOT_CAPTURED, EXCLUDED_POST_RELEASE or NOT_APPLICABLE.", + "enum": [ + "AVAILABLE", + "NOT_AVAILABLE", + "NOT_FOUND", + "NOT_CAPTURED", + "EXCLUDED_POST_RELEASE", + "NOT_APPLICABLE" + ], + "type": "string" +} - added
Output schema / properties / observations / items / properties / consensusStatusDetailAdded value: +{ + "description": "Human-readable explanation of consensusStatus.", + "type": "string" +} - added
Output schema / properties / observations / items / properties / expectation / properties / capturedAt / descriptionAdded value: +"When the consensus snapshot was captured; always before releaseCutoffAt." - added
Output schema / properties / observations / items / properties / expectation / properties / releaseCutoffAtAdded value: +{ + "description": "Instant the consensus was validated against (capturedAt must be strictly earlier).", + "format": "date-time", + "type": "string" +} - added
Output schema / properties / observations / items / properties / expectation / properties / releaseCutoffBasisAdded value: +{ + "description": "Which event timestamp the cutoff came from: RELEASED_AT, or SCHEDULED_AT when the actual release time is not yet recorded.", + "type": "string" +} - added
Output schema / properties / observations / items / properties / revisionStatusAdded value: +{ + "description": "Revision state supported by stored vintages: REVISED, UNCHANGED, or NOT_CAPTURED (only the initial vintage is stored; revision state unknown).", + "enum": [ + "REVISED", + "UNCHANGED", + "NOT_CAPTURED" + ], + "type": "string" +}
3 tool updates
- Changed
get_historical_analogs1 field changed- changed
Input schema / properties / eventType / descriptionPrevious value: -"Canonical target event type: US_CPI or US_NONFARM_PAYROLLS."New value: +"Canonical target event type: US_CPI, US_NONFARM_PAYROLLS, or US_PCE."
- Changed
get_market_reaction2 fields changed- changed
Input schema / properties / dateOrPeriod / descriptionPrevious value: -"Optional reference period (YYYY-MM for US_CPI and US_NONFARM_PAYROLLS) or statement date (YYYY-MM-DD for central banks). If omitted, the latest event is returned."New value: +"Optional reference period (YYYY-MM for US_CPI, US_PCE, and US_NONFARM_PAYROLLS) or statement date (YYYY-MM-DD for central banks). If omitted, the latest event is returned." - changed
Input schema / properties / targetType / descriptionPrevious value: -"Canonical target event type: US_CPI, US_NONFARM_PAYROLLS (alias NFP), FEDERAL_RESERVE, ECB, BANK_OF_ENGLAND (alias BOE), or BANK_OF_JAPAN (alias BOJ)."New value: +"Canonical target event type: US_CPI, US_PCE (alias PCE), US_NONFARM_PAYROLLS (alias NFP), FEDERAL_RESERVE, ECB, BANK_OF_ENGLAND (alias BOE), or BANK_OF_JAPAN (alias BOJ)."
- Changed
get_upcoming_risks1 field changed- changed
Output schema / properties / risks / items / properties / eventType / enumPrevious value: -[ - "US_CPI", - "US_NONFARM_PAYROLLS", - "FEDERAL_RESERVE", - "ECB", - "BANK_OF_ENGLAND", - "BANK_OF_JAPAN" -]New value: +[ + "US_CPI", + "US_NONFARM_PAYROLLS", + "US_PCE", + "FEDERAL_RESERVE", + "ECB", + "BANK_OF_ENGLAND", + "BANK_OF_JAPAN" +]
1 tool update
- Changed
get_historical_analogs3 fields changed- removed
Output schema / $defs / CpiMetricSurpriseRemoved value: -{ - "properties": { - "calculationBasis": { - "enum": [ - "REPORTED_ACTUAL_MINUS_EXPECTATION", - "DERIVED_ACTUAL_MINUS_EXPECTATION" - ], - "type": "string" - }, - "capturedAt": { - "format": "date-time", - "type": "string" - }, - "consensus": { - "type": "number" - }, - "derivedActual": { - "type": "number" - }, - "direction": { - "enum": [ - "ABOVE_EXPECTATION", - "BELOW_EXPECTATION", - "IN_LINE" - ], - "type": "string" - }, - "provider": { - "type": "string" - }, - "reportedActual": { - "type": "number" - }, - "surprise": { - "type": "number" - }, - "unit": { - "type": "string" - } - }, - "required": [ - "consensus", - "direction", - "reportedActual", - "surprise", - "unit" - ], - "type": "object" -} - removed
Output schema / properties / analogs / items / properties / surpriseProfile / propertiesRemoved value: -{ - "coreMom": { - "$ref": "#/$defs/CpiMetricSurprise" - }, - "coreYoy": { - "$ref": "#/$defs/CpiMetricSurprise" - }, - "headlineMom": { - "$ref": "#/$defs/CpiMetricSurprise" - }, - "headlineYoy": { - "$ref": "#/$defs/CpiMetricSurprise" - } -} - removed
Output schema / properties / analogs / items / properties / surpriseProfile / typeRemoved value: -"object"
4 tool updates
- Changed
get_historical_analogs7 fields changed- changed
Input schema / properties / eventType / descriptionPrevious value: -"Canonical target event type. Currently only US_CPI is supported."New value: +"Canonical target event type: US_CPI or US_NONFARM_PAYROLLS." - changed
Input schema / properties / referencePeriod / descriptionPrevious value: -"Optional reference period in YYYY-MM format (e.g. 2024-06). If omitted, the latest available event is resolved as the target."New value: +"Optional reference period in YYYY-MM format (e.g. 2024-06 or 2026-08). If omitted, the latest available event is resolved as the target." - removed
Output schema / $defs / CpiSurpriseProfileRemoved value: -{ - "properties": { - "coreMom": { - "$ref": "#/$defs/CpiMetricSurprise" - }, - "coreYoy": { - "$ref": "#/$defs/CpiMetricSurprise" - }, - "headlineMom": { - "$ref": "#/$defs/CpiMetricSurprise" - }, - "headlineYoy": { - "$ref": "#/$defs/CpiMetricSurprise" - } - }, - "type": "object" -} - removed
Output schema / properties / analogs / items / properties / surpriseProfile / $refRemoved value: -"#/$defs/CpiSurpriseProfile" - added
Output schema / properties / analogs / items / properties / surpriseProfile / propertiesAdded value: +{ + "coreMom": { + "$ref": "#/$defs/CpiMetricSurprise" + }, + "coreYoy": { + "$ref": "#/$defs/CpiMetricSurprise" + }, + "headlineMom": { + "$ref": "#/$defs/CpiMetricSurprise" + }, + "headlineYoy": { + "$ref": "#/$defs/CpiMetricSurprise" + } +} - added
Output schema / properties / analogs / items / properties / surpriseProfile / typeAdded value: +"object" - removed
Output schema / properties / targetSurprise / $refRemoved value: -"#/$defs/CpiSurpriseProfile"
- Changed
get_historical_reaction_context5 fields changed- changed
Input schema / properties / eventType / descriptionPrevious value: -"Canonical target event type. Currently only US_CPI is supported."New value: +"Canonical target event type: US_CPI or US_NONFARM_PAYROLLS." - removed
Output schema / $defs / CpiMetricSurpriseRemoved value: -{ - "properties": { - "calculationBasis": { - "enum": [ - "REPORTED_ACTUAL_MINUS_EXPECTATION", - "DERIVED_ACTUAL_MINUS_EXPECTATION" - ], - "type": "string" - }, - "capturedAt": { - "format": "date-time", - "type": "string" - }, - "consensus": { - "type": "number" - }, - "derivedActual": { - "type": "number" - }, - "direction": { - "enum": [ - "ABOVE_EXPECTATION", - "BELOW_EXPECTATION", - "IN_LINE" - ], - "type": "string" - }, - "provider": { - "type": "string" - }, - "reportedActual": { - "type": "number" - }, - "surprise": { - "type": "number" - }, - "unit": { - "type": "string" - } - }, - "required": [ - "consensus", - "direction", - "reportedActual", - "surprise", - "unit" - ], - "type": "object" -} - removed
Output schema / $defs / CpiSurpriseProfileRemoved value: -{ - "properties": { - "coreMom": { - "$ref": "#/$defs/CpiMetricSurprise" - }, - "coreYoy": { - "$ref": "#/$defs/CpiMetricSurprise" - }, - "headlineMom": { - "$ref": "#/$defs/CpiMetricSurprise" - }, - "headlineYoy": { - "$ref": "#/$defs/CpiMetricSurprise" - } - }, - "type": "object" -} - removed
Output schema / properties / analogs / items / properties / surpriseProfile / $refRemoved value: -"#/$defs/CpiSurpriseProfile" - removed
Output schema / properties / targetSurpriseProfile / $refRemoved value: -"#/$defs/CpiSurpriseProfile"
- Changed
get_market_reaction2 fields changed- changed
Input schema / properties / dateOrPeriod / descriptionPrevious value: -"Optional reference period (YYYY-MM for US_CPI) or statement date (YYYY-MM-DD for central banks). If omitted, the latest event is returned."New value: +"Optional reference period (YYYY-MM for US_CPI and US_NONFARM_PAYROLLS) or statement date (YYYY-MM-DD for central banks). If omitted, the latest event is returned." - changed
Input schema / properties / targetType / descriptionPrevious value: -"Canonical target event type: US_CPI, FEDERAL_RESERVE, ECB, BANK_OF_ENGLAND (alias BOE), or BANK_OF_JAPAN (alias BOJ)."New value: +"Canonical target event type: US_CPI, US_NONFARM_PAYROLLS (alias NFP), FEDERAL_RESERVE, ECB, BANK_OF_ENGLAND (alias BOE), or BANK_OF_JAPAN (alias BOJ)."
- Changed
get_upcoming_risks1 field changed- changed
Output schema / properties / risks / items / properties / eventType / enumPrevious value: -[ - "US_CPI", - "FEDERAL_RESERVE", - "ECB", - "BANK_OF_ENGLAND", - "BANK_OF_JAPAN" -]New value: +[ + "US_CPI", + "US_NONFARM_PAYROLLS", + "FEDERAL_RESERVE", + "ECB", + "BANK_OF_ENGLAND", + "BANK_OF_JAPAN" +]
3 tool updates
- Changed
get_central_bank_changes1 field changed- changed
Input schema / properties / centralBank / descriptionPrevious value: -"Canonical central bank identifier: FEDERAL_RESERVE, ECB, or BANK_OF_ENGLAND (alias BOE)."New value: +"Canonical central bank identifier: FEDERAL_RESERVE, ECB, BANK_OF_ENGLAND (alias BOE), or BANK_OF_JAPAN (alias BOJ)."
- Changed
get_market_reaction1 field changed- changed
Input schema / properties / targetType / descriptionPrevious value: -"Canonical target event type: US_CPI, FEDERAL_RESERVE, ECB, or BANK_OF_ENGLAND."New value: +"Canonical target event type: US_CPI, FEDERAL_RESERVE, ECB, BANK_OF_ENGLAND (alias BOE), or BANK_OF_JAPAN (alias BOJ)."
- Changed
get_upcoming_risks1 field changed- changed
Output schema / properties / risks / items / properties / eventType / enumPrevious value: -[ - "US_CPI", - "FEDERAL_RESERVE", - "ECB", - "BANK_OF_ENGLAND" -]New value: +[ + "US_CPI", + "FEDERAL_RESERVE", + "ECB", + "BANK_OF_ENGLAND", + "BANK_OF_JAPAN" +]
3 tool updates
- Changed
get_central_bank_changes1 field changed- changed
Input schema / properties / centralBank / descriptionPrevious value: -"Canonical central bank identifier, for example FEDERAL_RESERVE or ECB."New value: +"Canonical central bank identifier: FEDERAL_RESERVE, ECB, or BANK_OF_ENGLAND (alias BOE)."
- Changed
get_market_reaction1 field changed- changed
Input schema / properties / targetType / descriptionPrevious value: -"Canonical target event type: US_CPI, FEDERAL_RESERVE, or ECB."New value: +"Canonical target event type: US_CPI, FEDERAL_RESERVE, ECB, or BANK_OF_ENGLAND."
- Changed
get_upcoming_risks1 field changed- changed
Output schema / properties / risks / items / properties / eventType / enumPrevious value: -[ - "US_CPI", - "FEDERAL_RESERVE", - "ECB" -]New value: +[ + "US_CPI", + "FEDERAL_RESERVE", + "ECB", + "BANK_OF_ENGLAND" +]
2 tool updates
- Changed
get_historical_analogs1 field changed- changed
Input schema / properties / instrument / descriptionPrevious value: -"Optional trading instrument (EURUSD, GBPUSD, USDJPY). Defaults to EURUSD."New value: +"Optional trading instrument: EURUSD, GBPUSD, or USDJPY. Defaults to EURUSD."
- Changed
get_historical_reaction_context1 field changed- changed
Input schema / properties / instrument / descriptionPrevious value: -"Optional trading instrument (EURUSD, GBPUSD, USDJPY). Defaults to EURUSD."New value: +"Optional trading instrument: EURUSD, GBPUSD, or USDJPY. Defaults to EURUSD."
2 tool updates
- Changed
get_historical_analogs1 field changed- changed
Input schema / properties / instrument / descriptionPrevious value: -"Optional trading instrument. Defaults to EURUSD."New value: +"Optional trading instrument (EURUSD, GBPUSD, USDJPY). Defaults to EURUSD."
- Changed
get_historical_reaction_context1 field changed- changed
Input schema / properties / instrument / descriptionPrevious value: -"Optional trading instrument. Defaults to EURUSD."New value: +"Optional trading instrument (EURUSD, GBPUSD, USDJPY). Defaults to EURUSD."
2 tool updates
- Changed
get_market_reaction1 field changed- changed
Input schema / properties / instrument / descriptionPrevious value: -"Optional trading instrument. Defaults to EURUSD."New value: +"Optional trading instrument: EURUSD, GBPUSD, or USDJPY. Defaults to EURUSD."
- Changed
get_upcoming_risks1 field changed- changed
Input schema / properties / instrument / descriptionPrevious value: -"FX instrument. Defaults to EURUSD."New value: +"FX instrument: EURUSD, GBPUSD, or USDJPY. Defaults to EURUSD."
1 tool update
- Changed
get_event_context1 field changed- changed
Input schema / properties / eventType / descriptionPrevious value: -"Canonical FXContext event type: US_CPI, US_NONFARM_PAYROLLS, or US_PCE."New value: +"Canonical financial event type.\n\nSupported values:\nUS_CPI\nUS_NONFARM_PAYROLLS\nUS_PCE\n\nUse these values exactly."
1 tool update
- Changed
get_event_context1 field changed- changed
Input schema / properties / eventType / descriptionPrevious value: -"Canonical FXContext event type, for example US_CPI."New value: +"Canonical FXContext event type: US_CPI, US_NONFARM_PAYROLLS, or US_PCE."
2 tool updates
- Changed
get_historical_analogs1 field changed- changed
Input schema / properties / maxAnalogs / descriptionPrevious value: -"Optional maximum number of analogs to return (range 3 to 30, default 10)."New value: +"Optional maximum number of individual analogs to return (range 3 to 30, default 10)."
- Changed
get_historical_reaction_context1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Optional maximum number of analogs to analyze (range 3 to 30, default 10)."New value: +"Optional maximum number of similar historical events to include in aggregate analysis (range 3 to 30, default 10)."
6 tool updates
- First observed
get_central_bank_changes - First observed
get_event_context - First observed
get_historical_analogs - First observed
get_historical_reaction_context - First observed
get_market_reaction - First observed
get_upcoming_risks
Publisher details
- Operator
- coco-pier
- Operator website
- https://fx.coco-pier.com
- Vendor relationship
- Not available
- Documentation
- https://fx.coco-pier.com
- Trust center
- Not available
- Restrictions
- Not available
Related MCP Connectors
Point-in-time macro, central bank rates and sentiment, COT positioning, from official sources.
Macroeconomic and FX time-series data for AI agents: indicators, calendars, COT, forex, commodities.
Macro forecasts for inflation, rates, labor, GDP, housing, commodities, currencies, and equities.
FOMC/NFP/CPI economic calendar plus prop-firm news-restriction window checks for futures traders.
Related MCP Servers
- AlicenseAqualityDmaintenanceNarrative & signal intelligence for AI agents: crypto/AI/macro convergence & divergence.21MIT
- FlicenseNot gradedqualityDmaintenanceMacro economic intelligence MCP — 13 tools powered by 86 FRED series + ECB data covering Fed rates, inflation (CPI/PCE), yield curve, GDP, recession probability, and regime classification. Every response ES256K signed.1-
- AlicenseAqualityAmaintenancePre-reasoned Bitcoin and macro market briefings with trend signals, confidence scores, and regime classification. 17 briefings covering BTC, Fed balance sheet, M2, Treasury yields, and cross-asset correlations.6480 npm5MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for fetching NVDA earnings and US CPI data, including historical values, market forecasts, and an aggregated trade brief for the next CPI release.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.