构建 App

构建插件中基于 MCP 的 App 部分,并可选用 Apps SDK 创建 UI

App 是插件模型的一部分。插件是用户发现、安装、提交和发布的包;App 则是该包中由 MCP 支持的能力。

Apps SDK 是面向 MCP App 的 ChatGPT 开发框架。它建立在 MCP 之上:你的 MCP server 暴露工具并返回结构化数据;需要 UI 时,可以按照 Apps SDK 约定注册 MCP UI 资源,并在 ChatGPT 中把它们与工具连接起来。

当插件需要连接服务、暴露工具、认证用户,或通过 MCP server 执行动作时,应构建 App。

App 构建模型

一个 App 可以包含:

  • MCP server: MCP server 定义工具、处理认证、返回结构化数据,并实现集成的真实行为。参阅构建 MCP server
  • 工具元数据与 annotations: 这些信息是实现可靠的模型行为、能力发现和评审所必需的。工具名称、描述、schema、readOnlyHintopenWorldHintdestructiveHint 必须与真实行为一致。字段与 annotation 细节见 Apps SDK 参考
  • 可选的 MCP UI: 当用户需要在 ChatGPT 内检查、比较、编辑、确认或浏览结构化信息时很有用。如果只通过工具调用和模型回复就能完成任务,则无需自定义 UI。仅在这些方式不足时,才使用 Apps SDK UI 资源。

优先构建 MCP 能力

先定义 App 能力,再设计 UI:

  1. 确认 App 要支持的用户工作流。
  2. 定义这些工作流需要的 MCP 工具
  3. 编写清晰的工具名称、描述、输入 schema 和输出 schema。使用元数据优化指南改善能力发现和模型选择。
  4. 为每个工具设置准确的安全 annotations,并检查涉及写操作、数据处理和网络访问的安全与隐私指南
  5. 仅为确实需要的数据或操作添加认证
  6. 在打包为插件之前,先通过 ChatGPT Developer mode(开发者模式)测试 App。

仅在能明显改善体验时添加 UI

Apps SDK 快速开始展示了如何构建带可选 UI 组件的简单 MCP App。你可以用 Apps SDK 为 MCP App 构建 MCP UI,但这不是必需项。只有当 App 需要嵌入式组件、模态框、全屏视图或其它 ChatGPT 自定义交互时才添加。UI 模式见构建 MCP UI

不要为了展示横幅广告或品牌露出而添加 UI。UI 应通过让工作流更易检查、编辑、比较、确认或浏览,切实改善用户体验。

即使添加了 UI,也应让工具与渲染层解耦。工具仍需返回有用的结构化数据和模型可读结果;UI 组件只负责呈现与交互。参阅分离数据处理与 UI 渲染

把 App 打包为插件

App 在 Developer mode 中工作正常后,把它打包为插件,供用户安装:

  1. 创建或生成插件目录,参阅构建插件
  2. 在插件 manifest 中加入 App 引用。
  3. 如果 ChatGPT 需要配套执行可复用工作流,加入内置 skills。
  4. 在本地测试插件。
  5. 检查 Apps SDK 的 App 指南;准备公开分发时,将 App 作为插件的一部分提交审核。参阅提交插件