用途:MCP Apps 扩展 Model Context Protocol,使工具能返回富交互界面。适用于创建带交互 UI 的 MCP 工具(表单、仪表盘、可视化)、AI 辅助工作流的可视化界面、富媒体查看器(PDF、地图、3D 模型)、配置向导或多步工作流、实时监控仪表盘。
主要能力:工具通过 _meta.ui.resourceUri 声明 ui:// 资源,宿主预加载打包 HTML 并在沙箱 iframe 中渲染;应用与宿主通过 postMessage 上的 JSON-RPC 双向通信,可调用服务器工具、更新模型上下文、打开链接、记录日志。支持 React、Vue、Svelte、Preact、Solid 及原生 JS。
使用方式:可用 python scripts/init_mcp_app.py my-mcp-app --path ./projects 脚手架,或手动安装 npm install @modelcontextprotocol/ext-apps @modelcontextprotocol/sdk 及开发依赖。服务器用 registerAppTool 与 registerAppResource 注册工具和 UI 资源,经 Express 与 StreamableHTTPServerTransport 暴露 /mcp 端点。UI 侧用 App 类 connect() 连接,通过 ontoolresult 接收结果、callServerTool 调用工具。构建脚本为 INPUT=mcp-app.html vite build,运行 npx tsx server.ts。测试可用 cloudflared tunnel --url http://localhost:3001 接入 Claude 自定义连接器,或使用 ext-apps 仓库的 basic-host。
限制:运行于沙箱 iframe,无父窗口 DOM、Cookie 或存储访问,不能导航父页面;额外权限(如 camera、microphone)与外部资源 CSP 需在 _meta.ui 中声明。宿主需支持 MCP Apps。具体收费、价格与效果资料暂未提供。