构建 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、
readOnlyHint、openWorldHint和destructiveHint必须与真实行为一致。字段与 annotation 细节见 Apps SDK 参考。 - 可选的 MCP UI: 当用户需要在 ChatGPT 内检查、比较、编辑、确认或浏览结构化信息时很有用。如果只通过工具调用和模型回复就能完成任务,则无需自定义 UI。仅在这些方式不足时,才使用 Apps SDK UI 资源。
优先构建 MCP 能力
先定义 App 能力,再设计 UI:
- 确认 App 要支持的用户工作流。
- 定义这些工作流需要的 MCP 工具。
- 编写清晰的工具名称、描述、输入 schema 和输出 schema。使用元数据优化指南改善能力发现和模型选择。
- 为每个工具设置准确的安全 annotations,并检查涉及写操作、数据处理和网络访问的安全与隐私指南。
- 仅为确实需要的数据或操作添加认证。
- 在打包为插件之前,先通过 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 中工作正常后,把它打包为插件,供用户安装: