WebMCP:让AI直接调用网站功能的新协议

更新日期: 2026-04-24 阅读: 17 标签: MCP

AI操作网页,现在有了新办法。

Chrome团队最近推出了WebMCP(Web Model Context Protocol)。这是一个浏览器自带的协议,让网站可以通过原生API向AI暴露功能。AI不用再看图猜按钮,直接调用网站能力就行。


WebMCP是什么

简单说,WebMCP让网站给AI一份调用接口说明。AI照着说明调用,网站返回结果。

举个例子,在网页上添加一个任务:

没有WebMCP的时候,AI得打开浏览器,截图,分析页面找到输入框和按钮在哪,模拟键盘输入和鼠标点击,再截图确认操作成没成功。

有了WebMCP,AI直接调用addTask({title: "买牛奶", priority: "high"}),网站返回成功或失败,完事。

WebMCP定义了三个角色:

  1. 网站:通过registerTool()把能力注册到Chrome

  2. Chrome浏览器:维护每个标签页的工具注册表,当中间人

  3. AI Agent:查注册表拿工具列表,选工具填参数,拿结果


核心概念:工具 = 函数 + 格式说明

在WebMCP里,一个工具由四部分组成:

  • name:工具名称,比如addTask,AI用它来选工具

  • description:描述工具做什么,AI理解语义用

  • inputSchema:JSON格式,定义参数类型和规则,AI照这个填参数

  • execute:实际执行的函数,Chrome在网站环境里调用

看一个完整的工具定义:

{
  name: 'addTask',
  description: 'Add a new task to the task list.',
  inputSchema: {
    type: 'object',
    properties: {
      title: { type: 'string', description: 'The title of the task' },
      priority: { type: 'string', enum: ['low', 'medium', 'high'] }
    },
    required: ['title']
  },
  execute: async (params) => {
    return TaskApp.addTask(params.title, params.priority);
  }
}

AI拿到的只有前三项(名称、描述、格式说明)。AI不能直接执行代码,它只能点菜,Chrome负责上菜。


技术链路怎么走

WebMCP的技术链路分四步:工具注册、工具发现、工具调用、结果返回。

第一步:页面加载,工具写入注册表

浏览器加载页面时,两件事同时发生:

JS方式:代码调用navigator.modelContext.registerTool(),这是Chrome Canary提供的浏览器原生API。每次调用,Chrome就把一个工具写入当前标签页的内存注册表。

HTML方式:浏览器解析HTML时,发现带toolname属性的表单,自动从表单字段推导出格式说明,也写入同一个注册表。

navigator.modelContext就是Chrome内置的工具注册表API。它不是第三方库,不是网络请求,是浏览器引擎本身提供的接口。

第二步:AI查询,拿到菜单

当AI Agent连接到当前标签页时,它通过Chrome的内部通道查询工具注册表。Chrome返回所有已注册工具的列表,包含名称、描述、格式说明。AI拿到的是一份结构化的菜单,不是像素,不是DOM树。

第三步:AI调用,Chrome路由执行

AI根据菜单选工具,填参数,比如addTask({title: "买牛奶", priority: "high"})。调用请求到Chrome后,Chrome在注册表里找到对应的execute()回调,在网页的JS环境里执行这个回调,函数返回值通过Chrome回传给AI。

整个过程中Chrome是中间人。网站把能力注册给Chrome,AI向Chrome查询和调用,Chrome负责路由和隔离。AI从未直接接触网页的DOM或JS代码。


两种注册方式

命令式:手写注册

开发者手写工具定义和执行逻辑:

await navigator.modelContext.registerTool({
  name: 'addTask',
  description: 'Add a new task to the task list.',
  inputSchema: {
    type: 'object',
    properties: {
      title: { type: 'string', description: 'The title of the task' },
      priority: { type: 'string', enum: ['low', 'medium', 'high'] }
    },
    required: ['title']
  },
  execute: async (params) => {
    return TaskApp.addTask(params.title, params.priority);
  }
});

声明式:HTML表单加属性

开发者只需给form加三个属性,浏览器自动从字段推导格式说明:

<form toolname="addTask"
      tooldescription="Add a new task with title and priority"
      toolautosubmit="true">
  <input name="title" type="text" required />
  <select name="priority">
    <option value="low">低</option>
    <option value="medium">中</option>
    <option value="high">高</option>
  </select>
</form>

声明式路径下,还需要处理AI触发的表单提交,返回结构化结果:

form.addEventListener('submit', (e) => {
  if (!e.agentInvoked) return;
  e.preventDefault();
  e.respondWith(resultPromise);
});


真实调用例子

用Chrome官方的Travel Demo看下实际效果。AI收到一段自然语言:

"我需要订两个人的往返机票,从纽约到洛杉矶,2026年3月15日出发,3月22日返回。"

AI调用searchFlights工具,参数如下:

{
  "destination": "LAX",
  "outboundDate": "2026-03-15",
  "inboundDate": "2026-03-22",
  "tripType": "round-trip",
  "origin": "NYC",
  "passengers": 2
}

从这条调用可以看出AI做了什么:

  • 从自然语言里判断用户要搜航班,选searchFlights工具

  • 把"New York"转成"NYC","Los Angeles"转成"LAX"(因为格式要求三字母机场代码)

  • 把"March 15th, 2026"转成"2026-03-15"(符合日期格式)

  • 用户没提舱位偏好,AI也不编造,只填有对应信息的字段

AI不是在图里猜按钮,它是在做自然语言到格式说明的映射。格式说明定义了每个字段的类型和规则,AI根据这些规则把模糊的人话翻译成精确的函数调用。


跟现在的方式比有什么不同

现在主流的浏览器自动化方案是Playwright。它从浏览器外部操控页面,通过CDP协议连接浏览器,模拟人的操作路径:打开浏览器加载页面,截图或读DOM,让大模型分析输入框在哪按钮叫什么,生成选择器模拟点击输入,再截图判断操作成不成功。

这条链路里,大模型至少被调用三次:规划操作、分析页面结构、判断执行结果。每一步都可能出错。UI一变,按钮改名或布局调整,整条链路就断了。

Playwright的假设是"你得阅读网页,然后自己想办法"。Playwright是AI假装是人,WebMCP是网站知道AI要来。

WebMCP链路里,大模型只需要一次决策:从工具列表里选一个,填参数。格式说明是确定的,不依赖页面长什么样。


目前的问题

WebMCP有一个绕不开的问题:需要网站开发者主动适配。

Playwright的成本在AI端,写选择器,处理各种UI边界情况。WebMCP把这个成本转移到了网站端,开发者需要定义格式说明,注册工具,处理respondWith()返回值。


换个角度看

WebMCP的核心成本是需要开发者手动写格式说明和注册工具。但如果代码本身就是AI写的呢?

现在AI辅助编程(Copilot、Cursor、Claude Code)越来越普及。WebMCP的适配可以变成自动化的事:

  • AI生成代码时自动注册工具:AI写完一个表单组件,顺手生成对应的registerTool()调用,就像现在AI写代码会自动加类型注解一样自然

  • 从现有代码推导格式说明:AI分析已有的API接口和表单结构,自动生成WebMCP工具定义,存量网站的适配成本大幅降低

  • 声明式路径有天然优势:给form加toolname这种HTML属性,对AI来说成本几乎为零

到那时候,WebMCP适配不再是额外的开发工作,而是代码生成的默认输出。网站就变成了自然支持人和AI共同用的状态。

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://fly63.com/article/detial/13709

相关推荐

MCP Server 详解:前端开发者必备的AI工具集成指南

MCP Server 是一种帮助前端开发者更容易集成AI功能的工具。它的全称是 Model Context Protocol Server,你可以把它看作连接你的代码和AI模型之间的桥梁。

什么是 MCP Server?前端开发者需要了解的新工具

MCP Server 是一种新兴的开发工具,全称是 Model Context Protocol Server。对于前端开发者来说,它能够帮助我们更高效地管理和集成人工智能模型到我们的项目中。

手把手教你从零搭建 MCP 服务器:实现 AI 调用外部图片搜索工具

你想让 AI 不仅能回答问题,还能帮你执行具体任务吗?比如,直接通过对话让 AI 搜索并返回图片?MCP(Model Context Protocol)正是实现这一目标的关键技术,而 MCP Server 则是具体实现这一能力的桥梁。

提升前端开发效率:实用MCP工具分享

现在很多开发者都在讨论MCP工具,网上也有不少教程和资源。今天我想分享一些我在日常前端工作中真正用到的MCP工具,这些工具确实能提升开发效率。

Figma MCP 接入指南:让AI直接读取你的设计文件

Figma MCP Server是Figma官方基于Model Context Protocol提供的接口。它能让你在Claude Code、Codex等AI工具中直接读取设计文件。

MCP是什么?一篇讲透让AI真正帮你干活的“普通话”

说白了,我们平时用的豆包、GPT、通义千问这些大模型,全是嘴强王者——只会生成内容,不会真的帮你执行操作,能力永远被困在对话框里。那有没有办法让AI不仅会说,还会真的帮你干活?

Chrome 引入 WebMCP:让网页直接为 AI 提供原生接口,告别 UI 自动化

在 Chrome 刚刚发布的 146 版本中,加入了一项很有意思的实验能力:WebMCP。简单总结就是:网页可以直接把自己的能力暴露给 AI Agent 调用。过去 AI 想操作网页,只能模拟人的操作;而 WebMCP 的思路是:让网页直接提供“函数接口”。

MCP的五大问题:为什么这项AI协议可能并不适合你的项目

所谓Model Context Protocol,也就是MCP,本质上是一套开源标准。它的目标很明确:让AI模型能够更顺滑地接入外部数据源、工具以及各类软件系统。你也可以把它理解成一种AI时代的即插即用协议

MCP与Skills完整指南:区别、架构与最佳实践

近期Skills概念出现,同样由Anthropic(Claude)提出。首先要搞清楚的是:MCP和Skills的区别和联系是什么?MCP(Model Context Protocol)本质是一种模型与外部系统交互的协议标准。Skills是被封装成可直接调用能力单元的工具能力。

搞懂 Prompt、Skill、Project 和 MCP,让 AI 真正帮你干活

现在 AI 发展得很快。我们经常听到 Prompt、Skill、Project、MCP 这几个词。它们都是用好 AI 的关键。很多人不太清楚这几个词的意思,也不知道怎么用。今天这篇文章就帮你拆解一下,看看它们到底能帮设计师和开发者做什么。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!