← 返回目录
M

MCP Apps

官方
为MCP工具调用提供内嵌交互式UI的规范与SDK。
GitHub 源仓库 ↗
★ 2.7k Stars 分类 · 开发工具 非常热门
60FMRS · C
可靠性
8/20
安全与权限
12/20
维护活跃度
12/20
文档质量
15/20
安装易用性
13/20

MCP Apps 是 modelcontextprotocol 组织官方维护的协议扩展仓库,提供规范文档、多包 SDK 及约20个示例服务器,用于让 MCP 工具返回可在兼容聊天客户端中渲染的交互式UI,而非本身作为单一可安装的 MCP 服务器;适合需要构建富交互体验的服务器开发者,但需自行确认目标宿主的支持程度及许可证状态。

查看 FMRS 评分方法 →

modelcontextprotocol 官方仓库,提供 MCP Apps 的协议规范与SDK。MCP Apps 是对核心 Model Context Protocol 的扩展,允许 MCP 服务器在工具定义中声明 ui:// 资源(HTML界面),使宿主(如 Claude、ChatGPT、VS Code 等兼容客户端)能在沙箱化 iframe 中渲染图表、表单、仪表盘等交互式界面,并通过双向通知与工具调用与宿主通信。该仓库本身不是单一可运行的 MCP 服务器,而是打包了协议规范文档、TypeScript SDK(核心库、React hooks、app-bridge、server helpers)、四个用于脚手架/迁移的 Agent Skills,以及约20个示例服务器(地图、3D场景、PDF查看器、二维码生成等)。仓库README展示了 Apache 2.0 许可徽章,但目录元数据标注许可证为 NOASSERTION,两者存在出入,使用前应自行核实许可证条款。

工具能力

暂未整理工具清单。

安装接入

该仓库不提供单一的即装即用 MCP 服务器,而是提供SDK和多个示例服务器。可通过 npm install -S @modelcontextprotocol/ext-apps 安装SDK用于自建应用;或克隆仓库运行 npm install && npm start 并访问 http://localhost:8080/ 以本地启动参考宿主 basic-host 试用全部示例;每个 Node.js 示例也已发布为独立 npm 包(@modelcontextprotocol/server-<name>),可在支持 stdio 的客户端(如 Claude Desktop、VS Code)中通过 npx -y @modelcontextprotocol/server-<name> --stdio 方式接入。Python 示例(qr-server、say-server)使用 uv run 启动。若使用 AI 编码助手,也可通过 Claude Code 插件市场安装仓库自带的四个 Agent Skills 来生成或迁移 MCP App。

选型与风险

适合谁

  • 需要在工具调用结果中渲染富交互界面的 MCP 服务器开发者
  • 已经在使用支持 MCP Apps 扩展的宿主(如 Claude、ChatGPT、VS Code、Goose、Postman)的团队
  • 希望参考官方规范和多种前端框架(React/Vue/Svelte/Preact/Solid/原生JS)起始模板的开发者

不适合谁

  • 只想要一个开箱即用的单一 MCP 服务器/工具的用户(本仓库是协议规范+SDK+示例集合,不是单一服务器)
  • 客户端宿主不支持 MCP Apps 扩展的场景(README明确指出各宿主支持程度不同)
  • 需要生产级、官方维护的宿主实现的用户(README明确说明仓库内除示例性质的 basic-host 外不提供受支持的宿主实现)

所需权限

  • SDK 与规范本身不涉及特定权限;具体权限取决于所使用的示例服务器(如系统监控示例可能读取本机系统指标,视频资源示例会提供二进制媒体资源)
  • README 未给出针对单一服务器的完整权限清单

风险与副作用

  • UI 内容以服务器提供的 HTML 资源形式在宿主沙箱 iframe 中执行,实际隔离与信任边界取决于具体宿主实现,而非本仓库本身保证
  • 规范存在 2026-01-26 稳定版与仍在开发中的 draft 版本,接口可能随规范演进而变化
  • 仓库许可证标注(README徽章为 Apache 2.0,但仓库元数据为 NOASSERTION)存在不一致,使用前应自行确认许可证状态

常见排障

  1. 确认目标客户端/宿主实际支持 MCP Apps 扩展(参考 modelcontextprotocol.io/clients 列表,因为不同宿主支持程度不同)
  2. 为 Node.js 示例服务器接入 stdio 客户端时,确保命令行参数包含 `--stdio`
  3. Python 示例(qr-server、say-server)需使用 `uv run` 启动,而非 npm/node 命令
  4. 安装 Agent Skills 后,可向编码助手询问“What skills do you have?”以确认 create-mcp-app、migrate-oai-app、add-app-to-server、convert-web-app 四个技能已生效

使用场景

在聊天机器人对话中内嵌交互式图表、表单或仪表盘
将现有 OpenAI Apps SDK 应用迁移到 MCP Apps 协议
为已有 MCP 服务器的工具添加交互式UI
使用官方示例服务器(地图、PDF查看器、二维码生成器等)快速原型验证

支持客户端

暂未确认支持的客户端。