文章摘要
WebMCP是一项由Web机器学习社区组开发的API规范,旨在为网页应用提供JavaScript工具以支持AI代理。该文档目前处于草案阶段,由微软和谷歌等公司的编辑共同参与制定,遵循W3C社区贡献者许可协议。
文章总结
WebMCP 技术规范摘要
核心内容: WebMCP API 是一项由Web机器学习社区组发布的草案规范(2026年2月12日版),它定义了一个新的JavaScript接口,允许网页开发者将应用功能以"工具"形式暴露给AI代理。该技术实现了用户与AI代理在同一个Web界面中的协同工作模式。
关键特性: 1. 工具注册机制 - 通过扩展Navigator接口新增modelContext属性 - 提供registerTool/unregisterTool方法管理工具 - 支持批量注册工具(provideContext)和清空工具集(clearContext)
- 工具定义规范
- 必须包含唯一名称(name)和自然语言描述(description)
- 支持JSON Schema定义输入参数(inputSchema)
- 通过execute回调函数实现工具逻辑
- 可选annotations元数据(如readOnlyHint只读标记)
- 交互控制
- 通过ModelContextClient接口实现代理交互
- requestUserInteraction方法支持用户确认流程
技术定位: • 非W3C标准,属社区组草案 • 基于W3C社区贡献者许可协议发布 • 需在安全上下文(SecureContext)中使用
典型应用场景: 使ChatGPT等AI代理能直接调用网页提供的JavaScript工具函数,实现: - 自动化操作网页功能 - 保持用户上下文共享 - 维持用户控制权
开发团队: 由微软、Google工程师主导开发,获得Web机器学习社区组支持。
(注:已过滤版权声明、版本跟踪信息等非技术性内容,保留核心API设计和应用场景说明)
评论总结
以下是评论内容的总结,平衡呈现不同观点并保留关键引用:
支持WebMCP的观点
技术优势与创新
- 认为WebMCP能简化开发流程,避免依赖MCP服务器:"Feels like so much less dev friction" (vessenes)
- 浏览器内置功能(如Web Workers)可替代传统方案:"The browser has tons of functionality baked in" (baalimago)
解决实际问题
- 适用于复杂网站(如Amazon),减少"drift problem":"WebMCP should be source of truth" (yksanjo)
- 比DOM交互更高效:"I’m all for agents calling structured tools instead of poking at DOM" (rgarcia)
质疑与反对观点
必要性存疑
- 现有方案(如API/SKILL.md)已足够:"skills have largely replaced MCP" (charcircuit)
- 可能造成冗余:"re-describing a button's purpose in JSON when it's already semantically marked up?" (gavmor)
安全隐患
- 开放标准存在风险:"no protection of their data... it's just early" (j45)
- 可能引入注入攻击:"mainline prompt injection text directly from... web page" (root_axis)
替代方案建议
利用现有标准
- 推荐OpenAPI规范:"just by publishing an OpenAPI spec" (cedws)
- 可访问性作为自动化基础:"web accessibility has potential as a starting point" (cadamsdotcom)
技术折中方案
- 简单JS即可实现大部分功能:"MCP is overkill... imply by executing simple JS" (dvt)
- 代理服务器转换方案:"proxy server that automatically turns OpenAPI into WebMCP" (wongarsu)
行业趋势观点
适应新交互方式
- 如同响应式设计变革:"Now it’s the turn of agents... Don’t stop at the name 'MCP'" (nip)
- 分离视觉与数据交互:"decouple the visual part from data/interactions" (Garlef)
应用场景局限
- 静态信息无需MCP:"for mostly static information... MCP is pointless" (datadrivenangel)
- 更适合特定场景:"makes sense for complex sites" (yksanjo)
关键争议聚焦于:是否需新增标准(vs利用现有方案)、安全风险、以及实际应用场景的适用性。支持者强调开发效率与代理友好性,反对者则认为会造成冗余或安全漏洞。
(注:所有评论均无评分数据,故未体现认可度差异)