mcpField
C
chatgpt-app-builder

chatgpt-app-builder

github.com/mcp-use开发10.8k9.4k 次安装1 天前更新
代码仓库

关于 chatgpt-app-builder

chatgpt-app-builder 是使用 mcp-use 框架实现项目的技能,提供与 ChatGPT 应用相关的指导。它要求 Agent 检查已安装 API、构建交互视图,并依据实际项目行为验证改动。

主要功能

  1. 01检查已安装 API 和项目文件
  2. 02构建工具与交互视图
  3. 03遵循对应版本的框架约定
  4. 04通过实际生命周期验证改动
  5. 05避免不支持的 API 和不安全状态

适用场景

  1. 01构建交互式 ChatGPT 应用视图
  2. 02按项目安装的 mcp-use 版本调整实现
  3. 03在报告完成前检查实际行为

MCP 相关

该技能指导使用 mcp-use 实现 MCP 服务和交互式 MCP 应用,涵盖工具、资源、提示词和视图。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mcp-use/mcp-use --skill chatgpt-app-builder

安装后在 Claude Code 中输入/chatgpt-app-builder确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE.txt
references/
advanced-features.md
auth.md
migration.md
server.md
skills-over-mcp.md
verification.md
views.md

详细介绍

使用 mcp-use 构建

将已安装的 mcp-use 包、其导出的类型、生成的声明文件以及项目现有代码视为事实依据。选择 API 或修改代码前,先检查已安装的版本。

工作流

  1. 检查 package.json、服务入口、导出的工具引用、mcp-env.d.ts、views/、skills/ 以及已安装的 mcp-use 版本。
  2. 使用 create-mcp-use-app@latest 和合适的模板搭建新的稳定项目。处理 beta、canary 或已有版本化项目时,匹配包版本或 dist-tag。
  3. 仅阅读任务所需的参考文档:
    • Server:了解工具、资源、提示词、MCP 中间件、请求上下文和结果封装。
    • Views:了解交互式 MCP Apps、React Hooks、模型上下文、宿主能力、资源、CSP 以及端点/UI 域名处理。
    • Authentication:了解 OAuth 提供方、已验证身份、范围、权限和授权。
    • 当服务应随工具一同提供可复用工作流时,阅读 Skills over MCP。
    • Advanced features:了解 OpenAPI、代理、通知、订阅和信息征询。
    • 仅当存在已弃用或仅用于兼容的导入、辅助函数、注册形式、UI 模式或会话假设时,阅读 Migration。
    • 在报告实现工作已完成前,阅读 Verification。
  4. 按照已安装的类型进行实现。优先采用框架当前的约定,而非照搬示例或历史变更日志。
  5. 先验证能证明行为变更的最小真实生命周期,再根据风险逐步扩大检查范围。

核心不变量

  • 从 mcp-use 导入服务 API,从 mcp-use/react 导入 React API,并从 mcp-use/oauth/* 子路径导入 OAuth 提供方适配器。
  • 使用 inputSchema 定义工具参数。结构化结果和每个绑定 View 的工具都要添加 outputSchema。
  • 返回原始 MCP 结果封装。带有 schema 的工具成功时必须包含匹配的 structuredContent;预期失败时可以返回 isError: true 和可供模型读取的 content。
  • 将每个 View 放在 views/<name>/view.tsx,并使用 view: { name: "<name>" } 进行绑定。
  • 导出 View 使用的每个静态声明工具引用。将服务入口默认导出,供 mcp-use dev、build 和 start 使用。
  • 将身份和可变工作流状态限定在请求范围内,或存放在外部存储中。将客户端报告的元数据视为未验证信息。
  • 如果服务提供可重复的多步骤工作流,且这些工作流会令工具描述变得冗长,请考虑使用 Skills over MCP。

防护规则

  • 不要臆造导出项、配置字段或回调形式。对于不确定的细节,请查阅已安装的声明文件或源码。
  • 不要仅因为某些 API 出现在现有项目中,就保留已安装版本中不存在的 API。
  • 不要从工具回调返回普通领域对象。
  • 绑定 View 时,必须提供匹配的 outputSchema 和 structuredContent 结果。
  • 不要使用模块全局变量保存跨请求身份、信息征询连续性或持久业务状态。
  • 如果类型、包导出、身份验证或交互行为发生了变化,不要仅凭源码构建就声称成功。
  • 除非用户明确要求,否则不要部署或修改外部系统。

评论

支持 Markdown