Summary

WebMCP 是 Chrome / Edge 团队提出的浏览器 API:网站在自己的页面上声明命名动作、模型可读描述和 JSON Schema 输入,访问该页的 agent 直接调用这些动作,而不是从像素或匿名 DOM 猜按钮。Akshay Pachaar 将其定位为「自己的 agent + 零配置 + 真实 typed actions」三者同时成立的唯一路径。

Key Points

问题

网站已经知道自己能做什么(搜索、加购、结账),但这些能力只埋在给人看的 layout 里。Computer use 用截图点按钮,demo 能过、改版即碎,且每看一次都烧 token。

六种触达方式(远→近)

  1. Raw API — 自管 key 和 endpoint,精确但网站不在回路里。
  2. Backend MCP server — 产品方定义 named tools,仍跳过 UI。
  3. Computer use — 零配置,吃像素,慢且贵,layout 一变就乱。
  4. Browser automation — 读 DOM 比读图稳,工具仍是通用的,agent 要从匿名 div 推断语义。
  5. WebMCP — 页面自己声明 actions;agent 调用它们。
  6. 站点内置助手 — 厂商选模型、付 token,你的 agent 进不去。

三维:谁的 agent、用户要不要先配置、agent 实际拿到什么。Raw API / backend MCP 有 typed tools 但要配置且丢掉网站;computer use 零配置但只有像素;browser automation 有通用结构无站点语义;内置助手精确但不是你的 agent。WebMCP 声称三者都保留。

声明优于猜测

  • 动作带 typed inputs,没有「点错按钮」的解释层。
  • 在用户已登录的 tab 里执行,不单独发 API key。
  • 可用动作随页面/登录态变化:登出只见搜索,登入后出现购物车/结账。
  • 动作跑在可见页面上,产品不会被收成别人聊天窗里的 API。
  • JSON Schema 与 Claude / GPT / Gemini tool calling 同一套。

接入成本

页面 JS 注册一次即可:

document.modelContext.registerTool({
  name: "add_to_cart",
  description: "Add a product to the shopping cart",
  inputSchema: { type: "object", properties: { productId: { type: "string" }, quantity: { type: "number" } }, required: ["productId"] },
  async execute({ productId, quantity }) {
    await addToCart(productId, quantity);
    return `Added ${quantity} to the cart`;
  }
});

已有表单可以只加 toolname / tooldescription,浏览器从 input name 推断 schema。

现状(文章自称)

仍早。一个浏览器家族已 ship,标准未定,目前只有该浏览器自己的 agent 会调这些 tools。试错成本接近于零:给现有 form 加两个属性即可。官方文档:https://developer.chrome.com/docs/ai/webmcp

与现有概念的联系

  • mcp-model-context-protocol:backend MCP 是六条路径里的第 2 条(typed、跳过 UI);WebMCP 把同类契约搬进当前页面会话。
  • code-mode:都在减少「猜工具」;Code Mode 是 agent 侧懒加载,WebMCP 是 site 侧声明。
  • openai-codex-2026:computer use(截图像素点击)是第 3 条,WebMCP 明确把它当贵且脆的基线。
  • akshay-pachaar:作者;此前同一人写过 MCP vs CLI / Code Mode。
  • agent-first-apps:站点为 agent 设计接口,而不是事后让 agent 读人机 UI。

Open Questions

  • 标准未定时,非 Chromium 浏览器 / 第三方 harness 何时能调 WebMCP tools?
  • 页面声明的 tool 列表会不会变成新的 prompt-injection / 钓鱼面(恶意站点注册看起来像结账的 tool)?
  • 与现有 backend MCP 并存时,agent 如何选择「页面 tool」vs「远程 server tool」?

Evidence Timeline

  • 2026-08-29: Ingested Akshay Pachaar X Article「WebMCP Clearly Explained」(post 2093452397402317239, article 2093424400301514752, 2026-08-28)。主张来自该文,未经 Chrome 文档交叉核对。