A2UI 与 MCP Apps 集成
A2UI 与 MCP Apps 不是非此即彼。MCP 负责工具和资源连接,A2UI 描述由宿主原生渲染的 UI 意图,MCP Apps 则把高度定制的 Web 体验放进沙盒。真实架构可以单独使用,也可以组合。

模式一:通过 MCP 传输 A2UI
MCP Server 使用嵌入资源返回 A2UI:
- MIME:
application/a2ui+json - URI:
a2ui://... - 静态负载使用
resources/read,带参数的动态负载使用tools/call
当表单、卡片、表格、图表或审批步骤能够由宿主可信 Catalog 组合时,应选择该模式。宿主保留原生样式、无障碍能力和组件级策略控制。
模式二:在 A2UI 中承载 MCP App
A2UI Catalog 暴露一个经过审查、能够托管 MCP App 的 Wrapper 组件。外围流程继续使用原生 A2UI,复杂画布、游戏、编辑器或遗留模块放进 iframe。
适合“多数流程原生,单个模块需要任意客户端逻辑”的场景。Wrapper 属于高风险能力,应设置显式白名单、严格 sandbox、窄化 Bridge API,并显示可信来源。
模式三:在 MCP App 中运行 A2UI
MCP App 自带 A2UI Renderer,并在自己的沙盒中挂载生成式 Surface。它可以让只支持 MCP Apps、没有原生 A2UI Renderer 的宿主获得生成式 UI。
这是兼容桥梁,不等同于宿主原生集成:最终无障碍树、样式和运行时仍在 iframe 内。
选型表
| 需求 | 推荐模式 |
|---|---|
| 沿用宿主设计系统和标准工作流控件 | A2UI over MCP |
| 原生流程中嵌入一个复杂隔离模块 | MCP App inside A2UI |
| 现有宿主只支持 MCP Apps | A2UI inside MCP App |
| 需要完整对话上下文驱动开放式生成 | 通过 A2A 或 AG-UI 等 Agent Transport 传输 A2UI |
安全边界
声明式不代表自动安全。必须校验消息、限制 Catalog、净化 URL 属性、限制组件树规模并记录操作。MCP Apps 还要控制 sandbox、Origin、资源完整性、Bridge 消息 Schema 和用户可见来源。详见生产安全清单。