核心用法
chatgpt-apps 是一套完整的 ChatGPT 应用(MCP App)开发框架,通过 10 个结构化阶段指导开发者完成全生命周期管理:
1. 概念设计 — 分析对话式 leverage、原生适配性与可组合性,识别反模式(如静态网页、复杂外链跳转)
2. 工具拓扑设计 — 分类为 Query/Mutation/Destructive/Widget/External 五类工具,配置 readOnlyHint/destructiveHint/openWorldHint 等 MCP 注解
3. 组件实现 — 生成 TypeScript 服务端代码,使用 @modelcontextprotocol/sdk 的 Server 类与 StreamableHTTPServerTransport,Widget 采用 text/html+skybridge MIME 类型
4. 认证集成 — 支持 Auth0(企业级 OAuth 2.1/PKCE)与 Supabase Auth(简化邮件密码流),实现 user_subject 隔离
5. 数据库配置 — 基于 Supabase PostgreSQL,强制包含 user_subject 索引与 RLS 行级安全策略
6. Golden Prompts — 生成 Direct/Indirect/Negative 三类测试用例,量化工具召回精度
7. 验证套件 — 10 项检查:文件结构、协议合规、Widget URI 格式、structuredContent 响应、注解正确性等
8. 自动化测试 — MCP Inspector 协议测试 + Schema 校验 + Widget 预览渲染 + Golden Prompt 精度测试
9. 生产部署 — 生成 Dockerfile 与 render.yaml,一键部署至 Render,含健康检查端点
10. 状态恢复 — 通过 .chatgpt-app/state.json 追踪进度,支持任意阶段续接
显著优点
- 端到端闭环:唯一覆盖「概念→代码→测试→部署」的 MCP 应用构建方案
- 平台深度适配:针对 ChatGPT Apps 的
ui://widget/协议、openai/outputTemplate元数据、text/html+skybridgeMIME 等专有规范完整实现 - 安全设计内建:强制 user_subject 隔离、RLS 策略、非对称权限注解(destructiveHint),降低多租户数据泄露风险
- 可测试性优先:Golden Prompts 方法论提供可量化的工具调用精度基准,支持迭代优化
- 开发者体验:状态持久化、交互式向导、agent 代码生成(chatgpt-mcp-generator 等)降低心智负担
潜在局限
- 平台锁定风险:深度绑定 OpenAI MCP 协议与 Render 部署,迁移至其他 LLM 平台或云厂商需改造
- 技术栈单一:服务端限定 Node.js/TypeScript,数据库限定 Supabase PostgreSQL,技术选型灵活性受限
- 社区生态早期:依赖
@modelcontextprotocol/sdk等较新库,API 稳定性与社区资源尚在积累 - 认证复杂度:Auth0 企业级配置流程对新手仍有门槛,Supabase 方案虽简化但功能集较窄
- Golden Prompts 维护成本:需持续维护测试用例以覆盖模型迭代带来的行为漂移
适合人群
- 希望快速将 AI 原型转化为生产级 ChatGPT 应用的独立开发者与小团队
- 需构建多租户、数据持久化对话应用的产品团队
- 已熟悉 TypeScript/Node.js 生态,寻求标准化 MCP 开发流程的工程师
常规风险
- 数据隔离漏洞:若遗漏
user_subject过滤或 RLS 配置错误,将导致跨用户数据泄露(严重性:高) - 破坏性操作误触发:destructiveHint 仅作语义标记,实际权限控制依赖服务端实现,需配合输入校验
- Widget XSS:Widget HTML 若未正确转义用户输入,可能在 ChatGPT 渲染上下文执行脚本
- 部署配置泄露:
.env文件误提交或 Render 环境变量管理不当,可能暴露 Supabase service role key