WebMCP:让网站主动告诉 AI 智能体该点哪个按钮

AI Summary (BLUF)
WebMCP 是 Google 提出的 Web 标准提案,让网站通过 JavaScript 和 HTML 注解向 AI 智能体声明可调用的工具,从而提升智能体执行任务的准确性和可靠性。文章介绍了 WebMCP 的用途、命令式与声明式两种 API、权限政策、限制以及测试工具,目前已在 Chrome 149 源试用中开放。
核心洞察
WebMCPWeb Model Context Protocol(Web模型上下文协议),由谷歌和微软工程师联合开发、通过W3C Web机器学习社区组孵化的网页标准提案,允许网站通过浏览器API向AI代理暴露结构化、可调用的工具。 想解决的问题很实际:现在让 AI 智能体能够代表用户执行复杂任务的人工智能程序,WebMCP 旨在提升其执行网页操作的准确性和可靠性。操作网页,基本靠它自己“看”DOM 猜按钮是干嘛的,猜错了就点错。Google 这波是让网站主动告诉智能体“这个按钮叫结账、那个输入框要填姓”,把瞎猜变成查字典。我觉得最值得关注的是它把工具注册和权限策略绑在一起,跨域 iframe 默认不让用,这个设计挺克制。
WebMCP 是一项 Web 标准提案,帮开发者给 AI 智能体构建和提供结构化工具。它提供 JavaScript 接口,还能给 HTML 表单元素加注解,让智能体清楚知道该怎么跟页面功能互动。这对智能体执行操作的性能和可靠性提升很明显。
AI 智能体是个比较新的东西,能帮用户处理那些又复杂又技术性的任务。WebMCP 提高的是任务完成的准确率,而且可以当作渐进增强来加,不加也不影响原有功能。
| 说明文档 | Web | 扩展程序 | Chrome 状态 | 目的 |
|---|---|---|---|---|
| GitHub | 源试用Chrome 提供的实验性功能试用机制,开发者可注册后在正式发布前测试新 API。 | 查看 | 实验意向 |
核心结论
WebMCP 是一项 Web 标准提案,通过 JavaScript 接口和 HTML 表单注解,让网站主动向 AI 智能体声明工具用途(如
checkout、filter_results),替代智能体自行解析 DOM 猜测按钮功能的做法。WebMCP 支持三项核心能力:工具发现(页面以标准方式注册工具)、JSON 架构用于明确定义工具的输入和预期输出,减少智能体幻觉或误解的标准格式。(明确定义输入输出以减少幻觉)、状态共享(智能体实时掌握当前页面可操作资源)。
两个 API 均受
tools权限政策控制 WebMCP 工具注册范围的浏览器策略,默认值为 self,允许顶级和同源上下文注册,禁止跨域 iframe 注册。控制,默认值为self,即允许顶级和同源上下文注册工具,但禁止跨域 iframe 注册;如需在跨域 iframe 中使用,须给 iframe 添加allow="tools"属性。从 Chrome 149 开始可加入 WebMCP 源试用;本地开发可通过启用
chrome://flags/#enable-webmcp-testing标志进行测试。WebMCP 存在明确限制:主要面向人机协同的本地浏览器工作流而非无头浏览,复杂网站可能需要重构或额外 JavaScript 处理状态,且客户端和浏览器必须直接访问网站才能发现可用工具。
为何选择 WebMCP
WebMCP 提供了一套互动规则,把 Web 应用和智能体之间的 gap 补上,效率、可靠性、任务完成率都能受益。网站直接声明某个按钮或字段是干什么用的,智能体照着用就行,不用自己审核元素猜用途。
这比让智能体自己执行可靠得多。执行路径可能有很多步,每一步智能体都可能自由发挥。
左边是智能体抓 DOM,右边是智能体调用工具。可以到预约演示里亲自体验一下。
网站定义 tool 就能分享明确目的,比如搜索或购买。工具在页面上执行操作时用户看得见,心里有底,知道任务会按预期完成。品牌和以人为本的设计选择也能保住。
WebMCP 支持三件事:
- 发现:页面用标准方式向智能体注册工具,比如
checkout或filter_results。 - JSON 架构:明确定义输入和预期输出,减少幻觉和误解。
- 状态:对当前页面上下文有共同理解,智能体实时知道有哪些资源可操作。
目标是构建一套任何有智能体能力的浏览器都能实现并受益的 API,让用户更轻松地完成任务。进展可以在 GitHub 上跟进。
使用场景
用 WebMCP 的方式很多,比如:
- 帮客户获得支持。如果你卖软件,支持流程可能很复杂,要解决各种不同问题。用 WebMCP 可以帮客服更快找到正确的表单,并用用户提供的信息填好字段。
- 改进旅行预订。帮客服以更少的步骤预订复杂的多城市、多乘客行程。
有些操作比较敏感,比如付款。可以加一条命令,要求用户通过确认对话框互动。
实际应用里,工具能完成这些任务:
- 填写结构化表单:构建
submit_application工具,帮客服把对话中收集的数据正确映射到表单字段。比如区分某个字段要的是全名,还是分开的姓和名。 - 支持以人为本界面中的智能体互动:有些字段是给人设计的,智能体可能理解不了。可以构建
date_pick工具,用于预订或活动预订里选择复杂日期时间。 - 更快的应用调试:在开发者设置页面构建
run_diagnostics工具,让智能体触发原本藏在嵌套菜单后面的修复操作。
你的场景没列进去?或者有关于 WebMCP 的想法想分享?去 GitHub 提 issue 参与讨论。
开始使用
从 Chrome 149 开始可以加入 WebMCP 源试用。源试用的具体用法看这里。
本地 WebMCP
本地开发可以用 Chrome flag 打开 WebMCP:
- 打开 Chrome,访问
chrome://flags/#enable-webmcp-testing - 把该标志设为已启用
- 重启 Chrome 生效
使用 WebMCP API
设置网站工具用两个 API:
- 命令式 APIWebMCP 提供的 API 之一,使用标准 JavaScript 定义不同类型的工具,如表单输入、导航工具、状态管理或其他函数。:用标准 JavaScript 定义不同类型的工具,比如表单输入、导航工具、状态管理或其他函数。
- 声明式 APIWebMCP 提供的 API 之一,通过向标准 HTML 表单添加注解来创建 WebMCP 工具。:给标准 HTML 表单加注解来创建 WebMCP 工具。
可以用 Chrome 开发者工具调试 WebMCP 工具,验证浏览器怎么解析 JSON 架构。
限制
WebMCP 是想简化智能体和人类的复杂任务,但限制还是有的:
- 无头浏览:WebMCP 工具能在无头环境跑,但这套 API 主要为人机协同的本地浏览器工作流设计。
- 复杂界面的开销:网站如果特别复杂,可能需要重构或加 JavaScript 来处理应用和界面状态。
- 工具可发现性:客户端和浏览器必须直接访问网站,才知道网站有没有可调用的工具。
权限政策
两个 API 都受 tools 权限政策控制。默认值是 self,允许在顶级和同源上下文注册工具,禁止在跨域 iframe 里注册。
要在跨域 iframe 里用 WebMCP 工具,给 iframe 加 allow="tools" 属性。
演示
下面这些演示覆盖了命令式和声明式两种实现:
- WebMCP zaMaker 用的是命令式 API。
- 旅行演示(React)用的是命令式 API。
- Le Petit Bistro 演示用的是声明式 API。
演示源码可以在 GitHub 上查看和探索。
模拟智能体来测试工具
我们做了两个 Chrome 扩展,帮你了解 WebMCP 工具在演示和你自己应用里的运作方式。
安装示例智能体 Chrome 扩展,就能用自然语言提示检查、监控和执行 WebMCP 工具。这个扩展始终信任 WebMCP 注解,注解可以提醒智能体注意敏感操作。有注解和没注解,工具表现差别有多大,一试便知。
扩展默认用一个带 AI SDK 的小型 Node 服务器。需要 API 密钥,密钥保留在本地服务器上。提示默认发给 gemini-3.6-flash 模型,模型选择和 API 提供方可以在扩展的 .env 文件里改。里面有 OpenAI、Google 和 Anthropic 的字段,也可以自定义扩展去用别家的模型。
另一个选择是把客户端模型和 Prompt API 搭配用。这种方式不需要 API 密钥,数据留在设备上。需要启用 chrome://flags/#prompt-api-tool-use。
安装 Model Context Tool InspectorChrome官方提供的调试扩展,可在真实页面上查看已注册工具、手动调用,并用自然语言模拟代理对话。 扩展,就能在实时演示或自己的应用里体验智能体,了解 WebMCP 工具怎么工作。用自然语言提示判断智能体有没有按预期跟 WebMCP 工具交互。
要用 Gemini 调用工具,得有 API 密钥并在扩展界面里填好。提示默认发给 gemini-3.6-flash 模型。可以换别的 Gemini 模型试试,也可以改扩展代码用其他提供商的模型。
WebMCP 还在积极讨论阶段,未来内容可能调整。试用后有任何反馈都欢迎分享。
- 加入 WebMCP 源试用,去 Chrome Status 了解 Chrome 的具体实现。
- 读 WebMCP 详解,提问并参与讨论。
- 读 WebMCP 最佳实践。
- 读 WebMCP 工具安全指南和最佳实践。
- 对 Chrome 实现有反馈,提交 Chromium bug。
常见问题(FAQ)
WebMCP 的权限政策是怎么控制跨域 iframe 的?
两个 API 都受 tools 权限政策控制,默认值是 self,只允许顶级和同源上下文注册工具,跨域 iframe 默认禁止。要在跨域 iframe 里使用,需给 iframe 加 allow="tools" 属性。
WebMCP 有哪些限制?适合无头浏览吗?
WebMCP 工具能在无头环境运行,但这套 API 主要为人机协同的本地浏览器工作流设计。此外复杂界面可能需要重构或加 JavaScript,客户端和浏览器也必须能直接访问网站才能发现工具。
怎么在本地测试 WebMCP 工具?
可访问 chrome://flags/#enable-webmcp-testing 把标志设为已启用并重启 Chrome。还可用示例智能体扩展或 Model Context Tool Inspector 扩展,通过自然语言提示检查、监控和执行工具。
版权与免责声明:本文仅用于信息分享与交流,不构成任何形式的法律、投资、医疗或其他专业建议,也不构成对任何结果的承诺或保证。
文中提及的商标、品牌、Logo、产品名称及相关图片/素材,其权利归各自合法权利人所有。本站内容可能基于公开资料整理,亦可能使用 AI 辅助生成或润色;我们尽力确保准确与合规,但不保证完整性、时效性与适用性,请读者自行甄别并以官方信息为准。
若本文内容或素材涉嫌侵权、隐私不当或存在错误,请相关权利人/当事人联系本站,我们将及时核实并采取删除、修正或下架等处理措施。也请勿在评论或联系信息中提交身份证号、手机号、住址等个人敏感信息。




