AgentGrade
EnglishEspañol日本語中文
← 知识库

WebMCP — 浏览器代理交互

什么是 WebMCP?

WebMCP 是 W3C Community Group 草案提案,允许 AI 代理通过用户的浏览器而不是通过单独的 API 与网站交互。网站使用属性注释现有 HTML 表单,将它们声明为可调用的工具;浏览器通过新的 navigator.modelContext API 将这些工具公开给代理。该提案由 Google 和 Microsoft 支持,目前在 Chrome Canary 的实验性标志后可用。

这个名字是对 MCP(Anthropic 的 Model Context Protocol)的有意呼应,但两者是解决不同问题的不同规范。MCP 定义了代理调用服务器上工具的 JSON-RPC 协议。WebMCP 定义了浏览器 API,让代理调用页面上已经作为表单存在的工具。

为什么 WebMCP 重要

代理-网站集成的传统路径是:网站发布 API(OpenAPI)或 MCP 服务器,代理单独认证,调用在后通道上运行。这对第一方代理集成有效,但对具有有价值功能但没有 API 团队构建并行表面的网站长尾来说失效。

WebMCP 采取相反的方法:网站已经有做这件事的表单,用户已经登录,浏览器已经有会话。为什么要构建并行 API?用一些属性注释现有的表单,浏览器中的代理就可以直接调用它——免费继承用户的认证、网站的 CSRF 保护和浏览器的权限模型。

WebMCP 与 MCP 的区别

MCPWebMCP
谁调用谁代理 → 服务器代理 → 浏览器 → 服务器
代理运行位置浏览器外浏览器内或旁边
认证OAuth 2.1 / API 密钥用户现有的浏览器会话
传输HTTP/SSE 上的 JSON-RPC浏览器内部 API(navigator.modelContext
在网站上构建什么专用 MCP 端点现有 HTML 表单上的属性注释
连接生命周期跨会话持久标签关闭时结束
发现MCP 注册表 / well-knownDOM 扫描 + /.well-known/webmcp.json 清单

架构几乎相反。MCP 为外部代理提供稳定的后端接口;WebMCP 为浏览器内代理提供对现有前端的访问。

WebMCP 如何工作

有两个协作部分:DOM 注释(每页)和可选的清单(每站点)。

1. 注释表单。 网站使用三个自定义属性将任何 HTML 表单标记为代理可调用:

<form tool-name="search-products" tool-description="Search the catalog by keyword">
  <input type="text" name="q" tool-param-description="Search query, e.g. 'red shoes'">
  <button type="submit">Search</button>
</form>

浏览器端 WebMCP 运行时扫描 DOM 中的 tool-name 元素,构建工具列表并公开给代理。

2. 清单。 网站可以发布 /.well-known/webmcp.json 声明可能不在每页可见的工具:

{
  "spec": "webmcp/0.1",
  "tools": [
    {
      "name": "search-products",
      "description": "Search the product catalog",
      "url": "/search",
      "method": "GET",
      "parameters": [
        {
          "name": "q",
          "type": "string",
          "description": "Search query"
        }
      ]
    }
  ]
}

WebMCP 与其他代理互操作层

规范代理在哪里公开什么认证
WebMCP浏览器内注释的 HTML 表单用户的会话
MCP浏览器外服务器上的 JSON-RPC 工具OAuth / API 密钥
A2A任何地方具有命名技能的整个代理代理级认证
OpenAPI任何地方带 schema 的 REST 端点每端点方案
SKILL.md任何地方散文操作手册不适用

WebMCP 是唯一在用户浏览器内运行的。

当前状态

WebMCP 是 W3C Web Machine Learning Community Group 下的草案 Community Group 报告。截至 2026 年中:

今天发布 WebMCP 的网站是早期的——他们押注规范稳定和浏览器发布。

谁支持 WebMCP

如何将 WebMCP 添加到你的网站

  1. 选择重要的表单。
  2. 添加属性。 tool-nametool-descriptiontool-param-description
  3. 使用小写连字符名称。 search-products,不是 searchProducts
  4. 为代理而不是人类编写描述。
  5. 发布清单。 /.well-known/webmcp.json
  6. 在 Chrome Canary 中测试 启用实验性标志。

扫描器标记的常见错误

FAQ

WebMCP 是 MCP 的分支吗?

不是。它们是来自不同工作组的独立规范,具有独立的架构。

Chrome 的 WebMCP 会在 Firefox 或 Safari 中工作吗?

目前不会。

如果我已经有 MCP,我应该添加 WebMCP 吗?

如果你的服务有用户今天填写表单的网站,是的。

AgentGrade 会惩罚没有 WebMCP 的网站吗?

不会。

WebMCP 安全吗?

安全模型继承自浏览器:same-origin 强制、用户的现有会话、CSRF 保护。

如果我在 iframe 中托管我的表单,什么取代了 /.well-known/webmcp.json

Same-origin 规则适用。

WebMCP 适用于 SPAs 吗?

是的,但在代理扫描时表单必须存在于 DOM 中。

WebMCP 何时发布到稳定 Chrome?

没有公开时间表。

规范成熟度

草案,未发布。 WebMCP 是 W3C Community Group 草案,仅在 Chrome Canary 的实验性标志后可用。

了解更多