← 返回文章

WebMCP 完全指南:让 AI Agent 直接调用网页功能

WebMCP 是一项面向 AI Agent 的 Web 标准探索,旨在让网站以结构化工具的形式向 AI 暴露自身能力,减少依赖 DOM 分析、模拟点击和输入的传统网页自动化操作。

·15 分钟阅读

WebMCP 完全指南:让 AI Agent 直接调用网页功能

WebMCP 是一项面向 AI Agent 的 Web 标准探索,旨在让网站以结构化工具的形式向 AI 暴露自身能力,减少依赖 DOM 分析、模拟点击和输入的传统网页自动化操作。

  • 分类: AI / Web 开发 / MCP
  • 关键词: WebMCP、MCP、AI Agent、浏览器自动化、Chrome DevTools
  • 更新时间: 2026-10-27

一、什么是 WebMCP?

WebMCP(Web Model Context Protocol)是面向智能体 Web 交互的标准化方案,旨在让网站能够向 AI Agent 声明可用的工具、工具参数和执行能力,使 AI 更准确地理解和操作网页。

传统网页主要围绕人类用户设计,通过按钮、表单、菜单等界面完成交互。AI Agent 如果要操作这些页面,通常需要先识别 DOM 结构、判断元素用途,再模拟点击、输入和提交。页面结构一旦变化,自动化流程就可能失效。

WebMCP 的思路不同:网站主动告诉 AI 自己能够做什么,以及每项操作需要什么参数。

例如,一个电商网站可以暴露以下工具:

  • search_products:搜索商品
  • get_product_detail:获取商品详情
  • add_to_cart:将商品加入购物车
  • checkout:发起结算

AI Agent 不必仅靠按钮文本推测页面功能,而是可以通过工具名称、描述和参数 Schema 理解调用方式。

需要注意,WebMCP 目前仍处于标准演进阶段,具体 API、浏览器支持和客户端集成能力可能随版本变化。

官方资料:

二、为什么需要 WebMCP?

2.1 传统网页自动化的局限

以 AI 自动查询订单为例,传统 Agent 通常需要执行以下步骤:

  1. 打开订单页面。
  2. 分析页面结构。
  3. 找到订单号输入框。
  4. 输入订单编号。
  5. 点击查询按钮。
  6. 等待页面更新。
  7. 识别订单状态并提取结果。

这一过程存在几个问题:

  • 依赖页面结构: DOM 层级、元素属性或布局发生变化,可能影响自动化流程。
  • 语义理解成本高: Agent 需要推断按钮、表单和页面元素的用途。
  • 调用步骤较多: 一个简单的业务操作可能需要多次浏览器交互。
  • 结果不够稳定: 页面渲染延迟、弹窗、遮挡和异步加载都可能造成失败。

2.2 WebMCP 如何改善这个问题?

如果网站注册了 get_order_status 工具,Agent 可以直接提交订单查询参数,由网页执行对应的业务逻辑并返回结构化结果。

例如:

{
  "orderId": "ORDER-20261027"
}

工具返回:

{
  "orderId": "ORDER-20261027",
  "status": "shipped",
  "trackingNumber": "TRACK-123456"
}

以上数据仅为示例。

这种方式减少了 Agent 对页面布局的依赖,也让输入参数、执行逻辑和返回结果更明确。

不过,WebMCP 并不能完全替代浏览器自动化。遇到未暴露工具的页面、复杂视觉交互或需要验证真实界面效果的任务时,传统浏览器操作仍然有价值。

三、WebMCP 的工作原理

WebMCP 的核心是让网页注册工具,并允许支持该能力的 Agent 发现和调用这些工具。

典型流程如下:

flowchart TD
    A[用户提出自然语言需求] --> B[AI Agent 理解任务]
    B --> C[发现网页可用工具]
    C --> D[选择目标工具并生成参数]
    D --> E[浏览器执行网页工具]
    E --> F[调用页面业务逻辑或 API]
    F --> G[返回结构化结果]
    G --> H[AI Agent 总结结果或继续操作]

主要包含四个环节。

3.1 工具注册

网页通过 JavaScript API 或声明式 HTML 表单描述自身能力。

工具通常包括:

  • name:工具名称。
  • description:工具用途。
  • inputSchema:输入参数结构。
  • execute:执行工具时运行的逻辑。
  • annotations:可选的安全和行为提示。

3.2 工具发现

支持 WebMCP 的浏览器或 Agent 能够发现当前页面注册的工具,并获取相关描述和参数定义。

需要注意,工具一般与当前页面及浏览器上下文相关。Agent 通常需要先访问目标网站,才能发现该页面提供的工具。

3.3 工具调用

Agent 根据用户意图选择工具,并按照 Schema 组织参数。

例如,用户提出“查询最近 7 天的订单”,Agent 可以调用订单查询工具,并传入:

{
  "timeframe": "last_7_days"
}

3.4 结果返回

工具执行完成后,将结果返回给 Agent。Agent 可以向用户总结结果,也可以根据返回值继续调用其他工具。

WebMCP 主要负责网页侧的工具暴露和交互约定,并不自动提供模型推理、用户认证、数据库访问或后端业务服务。

四、两种核心 API

Chrome 官方文档目前介绍了两种主要方式:命令式 API(Imperative API)和声明式 API(Declarative API)。

4.1 命令式 API

命令式 API 通过 JavaScript 注册工具,适合需要自定义执行逻辑的场景。

例如,注册一个商品搜索工具:

await document.modelContext.registerTool({
  name: 'search_products',
  description: '根据关键词搜索商品',
  inputSchema: {
    type: 'object',
    properties: {
      keyword: {
        type: 'string',
        description: '商品搜索关键词'
      }
    },
    required: ['keyword']
  },
  execute: async ({ keyword }) => {
    const response = await fetch(
      `/api/products?keyword=${encodeURIComponent(keyword)}`
    );

    if (!response.ok) {
      throw new Error('商品搜索失败');
    }

    return await response.json();
  }
});

上面展示的是官方文档所采用的 document.modelContext API 形式。由于标准仍在演进,实际使用时应以目标浏览器和对应版本的官方文档为准,并在调用前检查 API 是否存在。

命令式 API 的特点:

  • 可以注册自定义工具。
  • 可以执行异步逻辑。
  • 可以调用页面已有的业务函数或后端 API。
  • 适合查询、筛选、导航、状态管理等复杂操作。
  • 可以根据工具生命周期注册和注销工具。

4.2 声明式 API

声明式 API 通过 HTML 表单及相关属性描述工具,不需要为每个表单操作都手动编写完整的注册逻辑。

具体属性名称和约定应以当前规范版本为准。

示意:

<form
  toolname="search_products"
  tooldescription="根据关键词搜索商品"
>
  <label>
    商品关键词
    <input name="keyword" required />
  </label>

  <button type="submit">搜索商品</button>
</form>

以上代码用于说明声明式工具的设计思路,不应直接视为所有浏览器均支持的完整实现。应参考官方声明式 API 文档确认所需属性、提交行为和兼容要求。

声明式 API 更适合围绕标准表单构建的交互;命令式 API 则适合复杂业务逻辑。

两者也可以在同一个网站中配合使用。

五、WebMCP 与传统 MCP 有什么区别?

MCP(Model Context Protocol)是一套用于连接 AI 应用与外部工具、数据源和服务的开放协议。

WebMCP 与 MCP 有关联,但它们关注的层面不同。

对比维度 WebMCP 传统 MCP
主要定位 标准化网页工具暴露 连接 AI 应用与外部工具、数据源
典型运行环境 浏览器网页 本地进程、服务端或远程服务
工具定义 面向网页交互的工具接口 MCP 工具、资源、提示等协议能力
执行上下文 通常是当前网页的浏览器上下文 取决于 MCP Server 的运行环境
典型用途 搜索网页内容、填写表单、操作页面 查询数据库、访问文件、调用服务 API
是否必须有独立服务端 不一定 通常需要一个 MCP Server 或兼容服务端

举例来说:

  • 如果 AI 需要查询数据库中的业务记录,可以使用传统 MCP Server。
  • 如果 AI 需要调用网页上当前可用的筛选、搜索或提交功能,可以使用 WebMCP。
  • 如果既要查询后端数据,又要与网页交互,可以将两者组合。

WebMCP 不等于将整个网站自动转换为 MCP Server。若要让桌面 AI 客户端访问网页注册的工具,还需要相应的桥接层、扩展或客户端集成。

六、两种实践模式

WebMCP 相关技术可以用于两个不同方向。

6.1 模式一:让 AI 调用网站提供的功能

这种模式以网站为中心。

网站开发者为页面注册工具,支持 WebMCP 的 Agent 发现工具后,可以根据用户需求调用网页功能。

典型场景:

  • 文档站:搜索文章、查找章节、获取文档内容。
  • 电商网站:搜索商品、查询详情、筛选商品。
  • 预约系统:选择时间、填写预约信息、查询预约状态。
  • 管理后台:查询统计数据、执行受控的业务操作。
  • SaaS 应用:通过自然语言触发已有业务功能。

基本流程:

  1. 网站注册工具。
  2. Agent 访问网站并发现工具。
  3. Agent 根据用户需求选择工具。
  4. 浏览器执行工具逻辑。
  5. 工具返回结果,Agent 继续处理。

这类模式的核心价值是让网站从单纯供人类操作的界面,逐步变成 AI 也能够理解和调用的交互环境。

6.2 模式二:让编程 Agent 操作浏览器

这种模式以 Agent 为中心,目标是自动化浏览器操作、测试和调试。

常见工具包括:

它们并不都是 WebMCP 实现,而是浏览器自动化或 Agent 工具。它们可以通过 DOM、可访问性信息、截图或其他浏览器接口执行网页操作。

典型任务:

  • 打开网页并检查页面布局。
  • 填写表单并执行交互测试。
  • 检查浏览器控制台错误。
  • 验证页面加载和网络请求。
  • 调用页面暴露的 WebMCP 工具(前提是所使用的工具链支持该能力)。

Chrome DevTools MCP 已提供用于发现和执行 WebMCP 工具的实验性工具接口。相关功能需要显式启用,不能假定默认配置就已开放。

这两种模式可以结合:Agent 使用普通浏览器操作完成导航和检查,再通过 WebMCP 调用页面已明确暴露的业务工具。

七、值得关注的工具和项目

7.1 官方 WebMCP

适合了解标准设计、API、浏览器支持情况以及最新变化。

7.2 MCP-B

MCP-B 是社区提供的 WebMCP 兼容和桥接生态,主要包括:

包名 用途
@mcp-b/global 提供兼容运行环境及 MCP 桥接能力
@mcp-b/webmcp-polyfill 为缺乏原生支持的环境提供兼容实现
@mcp-b/webmcp-ts-sdk 提供 TypeScript 相关适配和辅助能力
@mcp-b/webmcp-local-relay 将网页工具转发给本地 AI 客户端
@mcp-b/react-webmcp 为 React 提供相关集成能力
chrome-devtools-mcp 浏览器调试与自动化工具链

包的具体功能、版本和兼容范围可能变化,安装前应检查各包当前的 README、版本说明和依赖要求。

需要注意:社区兼容层不是官方标准本身,不能因为使用了 polyfill 就认为所有浏览器、Agent 和 MCP 客户端都能无条件互通。

7.3 Chrome DevTools MCP

该项目可帮助 Agent 控制和检查 Chrome,并提供专门的 WebMCP 工具发现与执行能力。

在当前文档所述的实验性配置中,可以通过以下参数启用 WebMCP 工具类别:

npx chrome-devtools-mcp@latest --categoryExperimentalWebmcp

实际使用时,还需满足相应 Chrome 版本和浏览器功能开关要求。请以项目当前文档为准。

八、如何验证 WebMCP 是否正常工作?

Chrome 官方提供了 WebMCP 调试面板,可以用于查看当前页面注册的工具、检查参数和手动执行调用。

建议按照以下流程验证:

  1. 确认浏览器已启用目标版本所需的 WebMCP 功能。
  2. 打开注册了 WebMCP 工具的网页。
  3. 打开 Chrome DevTools。
  4. 进入 Application 面板中的 WebMCP 页面。
  5. 查看 Available Tools,确认工具是否已注册。
  6. 手动执行工具,验证输入参数和返回结果。
  7. 检查 Invoked Tools 中的执行状态、参数、结果或错误信息。
  8. 再通过支持该功能的 Agent 测试自然语言调用。

调试时重点关注:

  • 工具是否成功注册。
  • 工具名称和描述是否清晰。
  • Schema 是否与实际参数一致。
  • 执行结果是否可理解、可验证。
  • 取消操作和异常处理是否正常。
  • Agent 是否选择了预期的工具。

官方调试文档:

https://developer.chrome.com/docs/devtools/application/webmcp

九、安全设计与最佳实践

WebMCP 让 AI 能够更直接地调用网页能力,因此工具设计不能只考虑方便,还必须考虑权限和副作用。

9.1 遵循最小权限原则

只暴露完成目标所需的工具。

例如,普通查询页面通常不需要提供删除记录、修改用户权限或导出全部数据的工具。

9.2 区分只读操作和写操作

可以优先提供查询类工具,例如:

  • search_articles
  • get_order_status
  • get_product_detail

对于修改、提交、删除等操作,应增加必要的权限和确认机制。

WebMCP 的工具注解可以提供只读提示、非可信内容提示以及重要副作用提示等元信息,但这些提示本身不能代替真实的安全校验。

9.3 不要把前端校验当作安全边界

浏览器端的工具可能被非预期地调用,不能依赖工具描述或前端逻辑保护敏感数据。

后端仍然必须执行:

  • 身份认证。
  • 权限检查。
  • 参数校验。
  • 业务规则校验。
  • 敏感操作确认。
  • 审计日志记录。

9.4 防范提示注入

网页内容、评论、搜索结果和外部文档都可能包含恶意指令。

Agent 不应因为工具返回了某段文本,就把它当成可信指令执行。对外部内容应明确标注其非可信性质,并限制其影响工具调用的能力。

9.5 谨慎处理不可逆操作

支付、购买、删除数据、提交申请等操作,应当具备清晰的确认机制。

即使工具声明自己具有重要副作用,也不能仅依靠该元信息确保安全。关键操作应由应用和服务端实施实际控制。

9.6 做好工具生命周期管理

单页应用中的工具可能随路由切换、组件卸载或用户状态变化而失效。

需要确保:

  • 不重复注册相同工具。
  • 页面离开时适时注销工具。
  • 处理用户取消调用的情况。
  • 不在工具执行期间意外销毁必要资源。
  • 权限或登录状态改变后,重新验证工具是否仍可使用。

十、WebMCP 的局限性

WebMCP 有实际价值,但仍有一些边界需要明确。

10.1 浏览器兼容性有限

WebMCP 仍在演进,并非所有浏览器和 Agent 都支持相同的 API。

10.2 Agent 支持并不统一

网页注册工具后,Agent 不一定能够发现或调用它。需要浏览器、客户端和桥接层之间具备兼容的实现。

10.3 复杂界面仍需要额外适配

如果操作依赖复杂的页面状态、弹窗、动态表单或多步业务流程,可能需要专门编写工具逻辑,而不是简单暴露现有 HTML。

10.4 无法代替业务后端

WebMCP 负责网页侧的工具交互,不会自动提供可靠的数据存储、权限管理、事务处理或后端业务逻辑。

10.5 不应完全取代传统浏览器自动化

如果需要测试页面视觉效果、检查布局、验证无障碍行为,或者操作没有暴露工具的网站,传统浏览器自动化仍然不可或缺。

十一、如何选择合适的方案?

可以根据目标来选择:

目标 建议
学习 WebMCP 标准 从官方文档和示例开始
在网页中注册 AI 工具 使用官方 API,或评估 MCP-B 兼容层
让桌面 AI 客户端访问网页工具 研究 MCP-B 桥接与本地 Relay
自动测试网页交互 使用 Chrome DevTools MCP 或 Playwright
让编程 Agent 发现并执行 WebMCP 工具 评估 Chrome DevTools MCP 的 WebMCP 工具类别
构建完整 AI 业务系统 根据需求组合 WebMCP、传统 MCP、后端 API 和权限系统

实践时可以先从一个只读工具开始,例如商品搜索、文档搜索或订单状态查询。确认工具注册、参数传递、结果返回和安全边界均正常后,再逐步增加有副作用的操作。

十二、总结

WebMCP 的核心意义,是让网站能够以更明确、更结构化的方式向 AI Agent 描述自身功能。

它并不是一种新的前端框架,也不是传统 MCP Server 的简单替代品,而是尝试在浏览器和 AI Agent 之间建立更标准化的交互接口。

理解 WebMCP 时,可以记住三个要点:

  1. 网站负责暴露能力: 使用命令式 API 或声明式表单定义工具。
  2. Agent 负责理解和调用: 根据工具描述与参数 Schema 选择操作。
  3. 应用仍负责安全和业务规则: 身份认证、权限控制和敏感操作确认不能交给 AI 自行决定。

随着浏览器原生支持、Agent 工具链和标准生态逐步成熟,WebMCP 有望成为 AI 与网页应用交互的重要组成部分。但在当前阶段,仍应把它视为一项需要验证兼容性、重视安全设计的演进中技术。

参考资料

© 2026 Carreyda