SuperAPI AI 工具集

Migrate from OpenAI App

智能体与模型

查看项目

更新于 10-16 06:48

技能介绍

用途:把现有 OpenAI Apps SDK 应用迁移到 MCP Apps SDK(@modelcontextprotocol/ext-apps),后者为对话客户端中的交互式 UI 提供标准化开放协议。

主要能力:提供迁移参考指南(含前后对照映射表)、API 源码 JSDoc、按前端框架组织的示例(vanillajs、React、Vue、Svelte、Preact、Solid),以及迁移完成前的检查清单。

使用方式:先克隆 SDK 仓库获取文档与示例: git clone --branch "v$(npm view @modelcontextprotocol/ext-apps version)" --depth 1 https://github.com/modelcontextprotocol/ext-apps.git /tmp/mcp-ext-apps 依赖用包管理器添加(如 npm install、pnpm add、yarn add),不要手写版本号。服务端改用 registerAppTool() 与 registerAppResource() 替代原始 registerTool()/registerResource()。客户端从同步全局对象 window.openai 改为 App 实例加异步事件处理器:先注册 ontoolinput、ontoolresult、onhostcontextchanged 再调用 connect();工具数据经处理器获取,宿主环境经 app.getHostContext() 获取;React 可用 useApp hook。

CSP 与 CORS:MCP Apps HTML 作为 MCP 资源在沙箱 iframe 中运行,无同源服务器,所有来源(含 JS/CSS 包来源)都须在 CSP 中声明,缺失会静默失败;需先构建并排查所有来源,整理为 resourceDomains、connectDomains、frameDomains 三类。跨域请求需配置 CORS,Express 可用 app.use(cors()),原生 HTTP 需允许 mcp-session-id、mcp-protocol-version、last-event-id 头并暴露 mcp-session-id。

限制:部分 OpenAI 功能暂无 MCP 等价物,如进度指示、widgetDescription、widgetState/setWidgetState、文件上传下载、模态管理、view 等,需用 localStorage、服务端状态或 app.updateModelContext() 等替代。测试可用 basic-host 示例验证运行时行为。