2025年11月21日,Model Context Protocol(MCP)社区迎来重大突破。

由OpenAI和Anthropic的核心维护者,联合MCP-UI项目创建者以及MCP UI社区工作组的领导者共同发布了MCP Apps扩展提案(SEP-1865),旨在为MCP协议标准化交互式用户界面支持。

图片

这一扩展回应了MCP社区最迫切的需求之一,标志着AI应用开发进入全新阶段。

具体来说,MCP Apps 扩展 引入了一种 标准化的交互模式,能够标准化声明 UI 资源、将它们链接到工具,并实现嵌入式接口和主机应用之间的双向通信。

图片

为什么需要标准化交互界面

目前,MCP服务器只能与主机应用交换文本和结构化数据

虽然这对许多场景已经足够,但当工具需要展示可视化信息或收集复杂的用户输入时,这种限制就成为了明显的障碍。

举个例子,假设有一个数据可视化MCP服务器,它返回JSON格式的图表数据。主机应用必须自己解释这些数据并进行渲染。

处理各种专业数据对客户端开发者来说意味着巨大的负担——他们需要构建自己的逻辑来渲染UI。

随着更多UI需求的出现,比如需要从用户那里收集多个相关设置,复杂性会急剧膨胀。或者,如果没有UI支持,这些交互就会变成尴尬的文本提示和响应交换。

MCP社区一直在创造性地绕过这些限制,但使用不同约定和架构的不同实现使得服务器难以在客户端之间一致地工作。这种标准化的缺失造成了生态系统碎片化的真正风险——这正是团队正在积极预防的问题。

MCP Apps扩展提案(SEP-1865)发布后,迎来了社区广泛好评:

图片

图片

共同构建的成果

MCP-UI项目由Ido Salomon和Liad Yosef创建,并由一个专门的社区维护,率先提出了具有交互界面的智能应用愿景。

该项目开发了将丰富的用户界面作为一等MCP资源交付的模式,证明了智能应用可以自然地融入MCP架构。

该项目得到了大型社区的支持,提供了丰富的SDK,已被Postman、Shopify、Hugging Face、Goose和ElevenLabs等领先公司和项目采用。

OpenAI的Apps SDK进一步验证了对话式AI界面中对丰富UI体验的需求。

该SDK使开发者能够使用MCP作为其核心,在ChatGPT内构建丰富、交互式的应用程序。

为了确保互操作性并在整个生态系统中建立一致的安全和使用模式,AnthropicOpenAI和MCP-UI正在合作创建官方的MCP交互界面扩展。

MCP Apps扩展规范的核心设计

团队正在为MCP中的UI资源提出规范,但其影响远不止于一组模式变更。

MCP Apps扩展开始看起来像一个智能应用运行时:一个为AI模型、用户和应用程序之间新颖交互奠定基础的系统。

该提案有意保持精简,从核心模式开始,计划随着时间的推移逐步扩展。

关键设计决策

预声明资源

UI模板是带有ui:// URI方案的资源,在工具元数据中引用。

图片

图片

这种方法使主机能够在工具执行之前预取和审查模板,从而提高性能和安全性。它还将静态演示(模板)与动态数据(工具结果)分离,实现更好的缓存

MCP传输用于通信

UI组件不是发明自定义消息协议,而是使用现有的MCP JSON-RPC基础协议通过postMessage与主机通信。

这意味着:UI开发者可以使用标准的@modelcontextprotocol/sdk来构建他们的应用程序;所有通信都是结构化的和可审计的;未来的MCP功能自动与UI扩展配合工作。

从HTML开始

初始扩展规范仅支持text/html内容,在沙盒iframe中渲染。

这提供了:通用浏览器支持、易于理解的安全模型、截图和预览生成功能,以及未来扩展的清晰基线。其他内容类型,如外部URL、远程DOM和原生小部件,明确推迟到未来的迭代中。

安全优先

托管来自MCP服务器的交互式内容需要仔细的安全考虑。该提案通过多层防护来解决这个问题:

• Iframe沙盒 - 所有UI内容在具有受限权限的沙盒iframe中运行

• 预声明模板 - 主机可以在渲染之前审查HTML内容

• 可审计消息 - 所有UI到主机的通信都通过可记录的JSON-RPC进行

• 用户同意 - 主机可以要求对UI发起的工具调用进行明确批准

这些缓解措施为恶意服务器创建了深度防御,同时保留了开发者所需的灵活性。

向后兼容性

MCP Apps是一个可选扩展。现有实现可以继续工作而无需更改,主机可以按照自己的节奏逐步采用UI支持。

服务器应该为所有启用UI的工具提供纯文本回退,并在UI不可用时返回有意义的内容,这样它们就可以同时为支持UI和仅文本的主机提供服务。

下一步计划

UI社区工作组通过广泛的反馈和讨论在塑造这一提案方面发挥了重要作用。团队已经构建了一个早期访问SDK来演示规范提案中描述的模式和类型。MCP-UI客户端和服务器SDK支持这些模式。

如果您有兴趣为这项工作做出贡献,团队邀请您:

• 在SEP-1865中查看完整规范

• 在GitHub Issues中分享反馈和关注

• 加入MCP Contributors Discord的#ui-wg频道讨论

• 测试原型实现并分享您的经验

MCP Apps扩展不仅仅是一组模式变更,它正在成为一个智能应用运行时:一个为AI模型、用户和应用程序之间新颖交互奠定基础的系统。这一标准化将为整个AI应用生态系统带来更一致、更安全、更强大的交互体验

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐