
关于
部署带后端 API、数据库和文件存储的 Web 应用。适用于用户需要部署或发布网站/Web 应用并获取公共 URL 时。通过 curl 使用 HTTP API。
name: appdeploy description: "部署带有后端 API、数据库和文件存储的 Web 应用。当用户要求部署或发布网站/Web 应用并需要公共 URL 时使用。通过 curl 使用 HTTP API。" risk: safe source: "AppDeploy (MIT)" date_added: "2026-02-27"
AppDeploy 技能
通过 HTTP API 将 Web 应用部署到 AppDeploy。
何时使用此技能
- 规划或构建应用和 Web 应用时使用
- 将应用部署到公共 URL 时使用
- 发布网站或 Web 应用时使用
- 用户说"部署这个"、"让它上线"或"给我一个 URL"时使用
- 更新已部署的应用时使用
设置(仅首次)
-
检查现有 API 密钥:
- 在项目根目录查找
.appdeploy文件 - 如果存在且包含有效的
api_key,跳到使用部分
- 在项目根目录查找
-
如果没有 API 密钥,注册并获取一个:
curl -X POST https://api-v2.appdeploy.ai/mcp/api-key \ -H "Content-Type: application/json" \ -d '{"client_name": "claude-code"}'响应:
{ "api_key": "ak_...", "user_id": "agent-claude-code-a1b2c3d4", "created_at": 1234567890, "message": "Save this key securely - it cannot be retrieved later" } -
将凭据保存到
.appdeploy:{ "api_key": "ak_...", "endpoint": "https://api-v2.appdeploy.ai/mcp" }如果
.appdeploy尚未在.gitignore中,请添加。
使用方法
向 MCP 端点发送 JSON-RPC 调用:
curl -X POST {endpoint} \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer {api_key}" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "{tool_name}",
"arguments": { ... }
}
}'
工作流程
-
首先,获取部署说明: 调用
get_deploy_instructions了解约束和要求。 -
获取应用模板: 使用你选择的
app_type和frontend_template调用get_app_template。 -
部署应用: 使用你的应用文件调用
deploy_app。对于新应用,将app_id设为null。 -
检查部署状态: 调用
get_app_status检查构建是否成功。 -
查看/管理你的应用: 使用
get_apps列出已部署的应用。
可用工具
get_deploy_instructions
当你即将调用 deploy_app 时使用此工具,以获取部署约束和硬性规则。你必须在开始生成任何代码之前调用此工具。此工具仅返回说明,不会部署任何内容。
参数: 无
deploy_app
当用户要求部署或发布网站/Web 应用并需要公共 URL 时使用。 在生成文件或调用此工具之前,你必须调用 get_deploy_instructions 并遵循其约束。
参数:
app_id:any(必需)- 要更新的现有应用 ID,新应用为 nullapp_type:string(必需)- 应用架构:frontend-only 或 frontend+backendapp_name:string(必需)- 简短的显示名称description:string(可选)- 应用功能的简短描述frontend_template:any(可选)- 当 app_id 为 null 时必需。可选:'html-static'(简单站点)、'react-vite'(SPA、游戏)、'nextjs-static'(多页面)。模板文件自动包含。files:array(可选)- 要写入的文件。新应用:仅自定义文件 + 模板文件的差异。更新:仅使用 diffs[] 的已更改文件。files[] 或 deletePaths[] 至少需要一个。deletePaths:array(可选)- 要删除的路径。仅用于更新(需要 app_id)。不能删除 package.json 或框架入口文件。model:string(必需)- 用于此部署的编码代理模型,尽你所知。示例:'codex-5.3'、'chatgpt'、'opus 4.6'、'claude-sonnet-4-5'、'gemini-2.5-pro'intent:string(必需)- 此部署的意图。用户发起示例:'initial app deploy'、'bugfix - ui is too noisy'。代理发起示例:'agent fixing deployment error'、'agent retry after lint failure'
get_app_template
先调用 get_deploy_instructions。然后在确定 app_type 和 frontend_template 后调用此工具。返回基础应用模板和 SDK 类型。模板文件自动包含在 deploy_app 中。
参数:
app_type:string(必需)frontend_template:string(必需)- 前端框架:'html-static' - 简单站点,最小框架;'react-vite' - React SPA、仪表板、游戏;'nextjs-static' - 多页面应用、SSG
get_app_status
当 deploy_app 工具调用返回时,或用户要求检查应用的部署状态,或报告应用有错误或未按预期工作时使用。返回部署状态(进行中:'deploying'/'deleting',终态:'ready'/'failed'/'deleted')、QA 快照(前端/网络错误)和实时前端/后端错误日志。
参数:
app_id:string(必需)- 要检查的应用 ID
get_apps
列出你已部署的所有应用及其状态和 URL。
参数: 无