WebMCP:网页变 MCP 服务器,AI 智能体直接交互

两周前我提到过让网站返回 Markdown 来方便 AI 智能体工作。虽然智能体现在已经挺会用浏览器了,但操作起来还是有点麻烦、耗时。我当时建议在 HTML 里加微数据作为导航提示,那能不能让智能体直接在页面上用 MCP 呢?
所以你看,WebMCP 几乎是顺理成章的想法。当智能体访问 DOM 时,它们能很好地利用 HTML 声明中可识别的组件来执行操作。老牌网页测试工具 Selenium 就是这么干的。如果页面结构比较规整(现在的网页大多如此,毕竟都成了消费门户),导航起来并不难。但随着人类逐渐让位给 AI 智能体,智能体与人类协同工作,给它们铺平道路就很有必要了。
通过 Chrome 扩展,网页现在可以充当 MCP 服务器。这个思路是微软和谷歌去年推动的。这和 OpenAI 的 Apps SDK 与 ChatGPT Atlas 也有点关系。但 WebMCP 是客户端方案。
人类用户仍在场景中
我最初以为这纯粹是为了让 AI 智能体能“绕过”网页,用结构化方式直接与页面对话。但可能因为谷歌还需要人类来贡献广告收入,所以人机协同(Human-in-the-Loop)依然很重要。
因为你可能正在浏览网站,想就页面内容问智能体一个问题,智能体需要了解你提问前后的上下文。你可以想象用户在页面旁边打开 AI 聊天框,询问屏幕上的内容。所以别只想着智能体用无头浏览器执行任务,用户也可能在浏览时中断会话去查询网站。
而且,就像 MCP 和安全护栏(Guardrails)一样,智能体必须能返回用户那里询问澄清问题。
完整的提案提到了两个 API:用于页面内标准 HTML 式操作的声明式 API(Declarative API),以及需要 JavaScript 的复杂操作所需的命令式 API(Imperative API)。
在 Chrome 中使用 WebMCP
虽然 Chrome 的例子很新,但一些好奇的用户已经开始实验了。
我来看一个基于谷歌当前文档的例子。你显然得跟着谷歌的前沿步伐走,所以先注册他们的项目获取更新。第一步是通过邀请页面加入 Google Chrome 早期预览计划(EPP)。
你需要 Chrome 版本 146.0.7672.0 或更高。我在“关于”里看了版本号,结果它开始自动更新,像薛定谔的猫一样,不过确认没问题:

然后需要启用一个标志:“WebMCP for testing”(默认是关闭的),在地址栏输入 chrome://flags/#enable-webmcp-testing:

重启浏览器让设置生效,再检查一下是否保存成功。提醒一下,这全是实验性的:

接着安装调试工具,它可以让你查看 WebMCP 工具(即注册的函数)。
安装后,访问实时演示页面。
你会看到模拟的航班搜索页面(我猜是模拟的),右边面板的调试工具会列出可用的 MCP 工具,比如“searchFlights”:

比如,我们可以在左边“手动”浏览,用表单获取以下航班信息(我绝对不推荐现在订这个航班):

可惜这个查询不支持:

我礼貌地按模拟应用的要求输入示例数据(这不是真实的航班搜索),得到了预期的模拟结果页面:

现在我们可以在调试工具里用这些细节:

返回了同样的模拟 HTML 页面。
如果有真正的智能体,我们就能看到结构化回复。我从 Google AI Studio 生成了 Gemini API 密钥,在调试工具里设置好,然后问智能体关于航班页面的问题:

“与页面交互”这个说法挺有意思,对用户来说,这是种新场景——问智能体关于正在看的页面内容。顺便提一下,介绍网站 webmcp.dev 提到(并显示)页面右下角有个蓝色小方块,表示 WebMCP 可用。Google Chrome 的例子没有这个,但还处于早期阶段,实现可能不同。
发送英文查询后,我得到了结构化结果:
User prompt: "What flights are available?"
AI calling tool "listFlights" with {}
Tool "listFlights" result:
[
{
"id":7,
"airline":"Spirit Airlines",
"airlineCode":"NK",
"origin":"LHR",
"destination":"JFK",
"departureTime":"08:49",
"arrivalTime":"07:05",
"duration":"22h 16m",
"stops":0,"price":932
},
{
"id":8,
"airline":"Southwest Airlines",
etc
这看起来是上面模拟 HTML 航班结果页面的 JSON 等效数据。所以我们可以看到,既能得到适合 AI 智能体工作流的结果,也能让智能体陪在人类旁边返回网站。在这个例子里,查询前端会整洁地展示数据,可能还会要求筛选来细化结果。
快速检查一下,工具在普通页面(比如 The New Stack)后面看不到 WebMCP:

看来至少目前,人类网络还有喘息空间。人类可以用 WebMCP 来增强网页体验,不只是靠 AI 智能体。
觉得有用?分享给更多人