MCP-UI-Org/mcp-ui
UI over MCP. Create next-gen UI experiences with the protocol and SDK!
解决的问题
mcp-ui 提供了一种标准化方式,利用 Model Context Protocol (MCP) 为 AI 工具交付交互式网页界面。它解决了 AI 代理仅限于文本响应的问题,允许服务器将工具链接至丰富的沙盒化 UI 组件,并由兼容的主机进行渲染。
运作原理
本项目实现了 MCP Apps 标准,通过 _meta.ui.resourceUri 将工具与其 UI 链接起来。
- 服务器端:开发者使用 SDK(提供 TypeScript、Python 和 Ruby 版本)创建 UI 资源(如原始 HTML 或外部 URL)并进行注册。当调用工具时,服务器会提供一个 URI,供主机用来获取 UI 内容。
- 客户端:主机使用
@mcp-ui/clientSDK,通过AppRenderer或UIResourceRenderer等组件渲染这些资源,并为了安全起见,在沙盒化的<iframe>中执行远程代码。 - 交互性:UI 组件可通过
postMessage协议与代理进行通信,允许 UI 中的按钮或输入框触发工具调用或主机上的其他动作。 - 适配器 (Adapters):平台专用的适配器将开放的 MCP-UI 协议转换为平台专用的 API(例如针对 ChatGPT 的 Apps SDK)。
适用对象
- MCP 服务器开发者:为 AI 代理构建工具,且希望提供可视化、交互式体验而非仅限文本的开发者。
- MCP 主机开发者:构建 AI 聊天界面或 IDE,且需要标准化方式来渲染第三方工具 UI 的开发者。
特色亮点
- 多语言支持:提供 TypeScript、Python 和 Ruby 的服务器端 SDK。
- 安全性优先:所有远程 UI 内容皆在沙盒化的 iframes 中执行。
- 标准化:完全符合 MCP Apps 规范。
- 跨平台:包含适配器以确保小工具能在不同的 AI 主机(如 Claude、ChatGPT、Goose)上运作。
- 灵活渲染:支持原始 HTML、外部 URL 以及 Remote-DOM。
相关
- 项目
- 项目
- 项目
- 项目