WebMCP:让网页主动声明工具,AI 智能体不再靠抓取 HTML
Google 与 Microsoft 联合推进 WebMCP 网页标准,允许网站声明结构化工具供 AI 智能体直接调用,…
WebMCP 是 Google 与 Microsoft 在 W3C Web Machine Learning 社区组共同推进的一项网页标准提案,旨在让网站主动声明可被 AI 智能体调用的结构化工具,从而取代目前依赖屏幕抓取和 DOM 猜测的脆弱方案。该提案目前已在 Chrome 149 中以 origin trial 形式开放试用,仍处于社区组草案阶段。
从「屏幕抓取」到「主动声明」
目前绝大多数 AI 智能体与网站交互的方式,本质上都是在做屏幕抓取:加载页面、读取 HTML、猜测哪个 div 是日期选择器、模拟点击、再重读整页确认结果。一旦按钮位置、CSS 类名或弹窗出现变化,智能体就会失效。
WebMCP 提出了一种更稳定的设计:网站通过 JavaScript API 注册一组带 schema 的结构化工具,例如 book_table、search 等,智能体读取工具描述后直接调用,无需猜测 UI 细节。即便页面布局大幅改版,只要工具名称和参数 schema 不变,调用就不会中断。
标准定位与技术构成
WebMCP 由 Google(Chrome)和 Microsoft(Edge)在 W3C Web Machine Learning 社区组联合开发,目标是给网页提供一套声明工具的接口。Google 在 Chrome 文档中将其描述为一种「为 AI 智能体构建并暴露结构化工具」的方式,让站点主动标注自身能力,使智能体「清楚地知道如何与之交互」。
其核心机制由三部分组成:
- 发现机制:页面以标准方式声明自身可提供的工具列表。
- Schema 描述:每个工具以 JSON Schema 定义输入输出,降低智能体误读或幻觉的概率。
- 状态感知:智能体可获知当前页面可操作的真实状态。
需要注意的是,WebMCP 目前仍是社区组草案,尚未进入正式 W3C 标准轨道,因此仍处于「试用与共建」阶段。
当前可用性与调用流程
WebMCP 已具备可运行版本,并随 Chrome 149 推出 origin trial。开发者可通过 chrome://flags/#enable-webmcp-testing 本地开启。提案代码托管在 github.com/webmachinelearning/webmcp,Angular 已提供实验性支持,Chrome 团队还提供了披萨订购、餐厅预订、旅行搜索等演示站点。
一次完整的调用流程如下:
- 页面注册工具(如 book_table);
- 智能体列出工具及其 schema;
- 智能体以符合 schema 的 JSON 参数调用工具;
- 页面的 execute() 在已登录会话中执行真实逻辑;
- 智能体在标签页中以可见方式获得结构化结果。
关键在于,execute 函数运行在用户当前已登录的标签页中,复用既有 JavaScript、状态与会话,而非由外部无头浏览器代为执行——用户可以在浏览器中亲眼看到调用发生,站点也始终掌握自身暴露能力的控制权。
实际效果与上手门槛
以「今晚 8 点预订 4 人桌」为例,整个交互链是:用户发出请求 → 智能体识别到页面声明的 book_table 工具 → 以结构化参数调用 → 页面返回预订成功信息和确认号。整个过程不再涉及 DOM 猜测,智能体调用的是具名、带类型的函数,页面用自身代码完成后续业务。从代码量上看,注册一个工具只需一次调用,官方表示加上第一个工具大约只需要十分钟。
这也意味着,WebMCP 现在仍是「试用与共建」阶段,而非「投产」阶段——但正因为处于草案期,及时介入并反馈意见,反而是塑造未来标准的窗口。
