SuperAPI AI 工具集

add-app-to-server

智能体与模型

查看项目

更新于 10-16 01:17

技能介绍

用途:为已有 MCP 服务器的工具补充交互式界面。工具通过 _meta.ui.resourceUri 关联一个 HTML 资源,支持 UI 的主机在调用工具时于沙箱 iframe 中渲染该资源;纯文本客户端仍可正常使用工具,因此 UI 是增强而非替换。

主要能力:把普通工具转为 App 工具(registerAppTool、registerAppResource);用结构化内容 structuredContent 供 UI 渲染;支持仅由 UI 调用的 app-only 辅助工具(visibility 设为 ["app"],如轮询、分页);可声明 CSP(connectDomains、resourceDomains、frameDomains)加载外部资源;支持流式部分输入(ontoolinputpartial)与全屏模式;可用 getUiCapability() 做能力检测,按客户端是否支持 UI 有条件注册。

使用方式:先分析现有工具判断哪些适合加 UI(结构化数据、指标趋势、媒体内容适合,简单文本确认不适合);安装依赖 npm install @modelcontextprotocol/ext-apps @modelcontextprotocol/client@^2.0.0 @modelcontextprotocol/server@^2.0.0 zod@^4.2.0,及 npm install -D vite vite-plugin-singlefile;用 vite-plugin-singlefile 把 UI 打包成单个 HTML,并在 package.json 中先 build:ui 再 build:server;注册 App 工具并保留文本回退,注册对应资源;在 UI 侧使用 App 类,所有处理器须在 app.connect() 之前注册,用 PostMessageTransport 连接;样式使用主机 CSS 变量保持主题一致。可克隆 SDK 仓库获取示例与 API 文档:git clone --branch "v$(npm view @modelcontextprotocol/ext-apps version)" --depth 1 https://github.com/modelcontextprotocol/ext-apps.git /tmp/mcp-ext-apps。测试可用 basic-host 示例。

限制与注意:ext-apps 2.x 需要拆分后的基础 MCP SDK 包 ^2.0.0,仍在用 @modelcontextprotocol/sdk v1 的服务器需先迁移导入与处理器 schema;必须保留 content 文本回退;须注册与 resourceUri 匹配的资源;避免硬编码样式;在 onhostcontextchanged 中处理 safeAreaInsets。具体收费、价格与支持平台资料未提供。