「美国 CPI 超预期了吗?EUR/USD 在公布之后怎么走?」这句话看起来像是在查一条新闻,实际要对齐三份数据:官方公布值、发布前的市场预期,以及以发布时间为起点的汇率行情。核心 CPI 和整体 CPI 可以给出不同的答案,发布后 5 分钟和 1 小时的走势也可能相反。

我做了 FX Context MCP,把这些查询做成 AI 客户端可以调用的工具。MCP(Model Context Protocol)负责把工具接到客户端,服务端负责查找事件、校验预期快照、计算价格变化,再把来源和数据覆盖情况一并返回。

架构设计

FX Context MCP 逻辑架构图。AI 客户端调用服务端工具,服务端根据官方事件、预期快照和外汇行情返回结构化结果。

这张图展示工具接口和数据之间的关系。

AI 客户端通过 Streamable HTTP 连接 /mcp,按用户的问题选择工具。以 CPI 为例,get_event_context 返回各项指标的公布值、预期和预期差,get_market_reaction 返回指定货币对在各个窗口的收益率和区间高低点。客户端可以单独查其中一项,也可以把两份结果组合成一段回答。

同一场发布有一个事件 ID。 数据所属月份用来定位发布,实际发布时间用来对齐预期截点和行情窗口。以本文查询为例,事件工具返回的 eventId 与行情工具返回的 targetId 一致,客户端可以据此确认两份结果指向同一次发布。分开保存所属月份与发布时间,也让「8 月 CPI 在 9 月发布」这类情况在接口里表达得很清楚。

每个行情窗口有自己的覆盖状态。 工具固定提供 5 分钟、15 分钟、1 小时、4 小时和 24 小时的窗口定义,并返回已经计算的窗口和不可用窗口的原因。客户端可以展示已取得的价格变化,同时解释休市或数据缺失的窗口。

从一次 CPI 发布说起

以 2026 年 8 月美国 CPI 为例。这期数据在 9 月 11 日 12:30 UTC 发布,所以调用 get_event_context 时,referencePeriod 要传数据所属月份 2026-08。

工具返回的整体 CPI 环比公布值为 0.4%,发布前预期为 0.3%,预期差为 +0.1 个百分点。同一次发布里,核心 CPI 环比公布值和预期都是 0.3%。一句「CPI 超预期」会漏掉这个区别。公布值可查阅美国劳工统计局的当期公告。

接着查同一期的 EUR/USD:

{
  "targetType": "US_CPI",
  "dateOrPeriod": "2026-08",
  "instrument": "EURUSD"
}

get_market_reaction 使用 OANDA 行情计算各窗口相对起点的涨跌幅。工具在这次查询中返回的数据如下,涨跌幅四舍五入到小数点后三位。

发布后窗口EUR/USD 涨跌幅
5 分钟−0.129%
15 分钟−0.018%
1 小时+0.067%
4 小时+0.074%
24 小时不可用,窗口终点处于休市时段

只看前 5 分钟会读到下跌,拉长到 1 小时就会看到价格已经回到起点上方。这些窗口描述的是发布后的价格变化,单靠时间上的先后还无法判断各项数据对行情的贡献。

为什么把时间和缺失状态写进工具接口

市场预期必须有一份时间戳早于发布截点的快照。工具通过 capturedAt 和 releaseCutoffAt 暴露这条校验规则,实际值与市场预期也各自保留来源。CPI 示例中,整体环比还有从指数推导出的 0.3960%,这次预期差采用官方公布口径 0.4% 计算,返回的 surprise.basis 会注明采用的口径。

真正的预期差为零,和缺少一份可核验的预期,是两种状态。比如目前 ISM 制造业和服务业 PMI 可以查到官方公布值,consensusStatus 返回 NOT_CAPTURED,预期差字段留空。历史类比也依赖已验证的预期。目标期缺少这项数据时,工具会报出原因,并提供可重新查询的参考期信息。

六个工具分别回答什么

问题工具
CPI、非农、PCE 或 ISM PMI 公布了什么?get_event_context
美联储、欧洲央行、英国央行或日本央行的声明较上次改了什么?get_central_bank_changes
公布之后,EUR/USD、GBP/USD 或 USD/JPY 在各时间窗口怎么走?get_market_reaction
哪几次历史发布的预期差与这次接近?get_historical_analogs
这些相似事件的价格反应整体如何?get_historical_reaction_context
接下来有哪些已排期的宏观事件?get_upcoming_risks

历史类比目前可用于美国 CPI 和非农。CPI 按整体和核心指标的预期差衡量相似性,非农会对不同指标的差异做稳健尺度归一化。逐条查询可以核对样本与目标事件哪里相似,汇总查询可以查看每个窗口的样本量、方向分布和中位数。

接入试试

在支持远程 MCP 的客户端中添加一个 Streamable HTTP 服务,填入以下地址:

https://fx.coco-pier.com/mcp

连接后可以直接问:

查 2026 年 8 月美国 CPI 的整体和核心环比,列出公布值、发布前预期和预期差。再查 EUR/USD 在发布后 5 分钟、1 小时和 24 小时的涨跌幅,并说明缺失窗口的原因。