适用于DeployHQ的模型上下文协议(MCP)服务器,使AI助手如Claude Desktop和Claude Code能够与您的DeployHQ部署进行交互。
npx安装,无需额外安装步骤MCP服务器为AI助手提供了7个工具:
| 工具 | 描述 | 参数 |
|---|---|---|
list_projects | 列出所有项目 | 无 |
get_project | 获取项目详情 | permalink |
list_servers | 列出项目的服务器 | project |
list_deployments | 分页列出部署 | project, page?, server_uuid? |
get_deployment | 获取部署详情 | project, uuid |
get_deployment_log | 获取部署日志输出 | project, uuid |
create_deployment | 创建新的部署 | project, parent_identifier, start_revision, end_revision, + 可选参数 |
list_projects列出您在DeployHQ账户中的所有项目。
返回值:包含仓库信息和部署状态的项目数组。
get_project获取特定项目的详细信息。
参数:
permalink (字符串):项目永久链接或标识符list_servers列出一个项目中配置的所有服务器。
参数:
project (字符串):项目永久链接list_deployments分页列出一个项目的部署。
参数:
project (字符串):项目永久链接page (数字,可选):分页的页码server_uuid (字符串,可选):按服务器UUID过滤get_deployment获取特定部署的详细信息。
参数:
project (字符串):项目永久链接uuid (字符串):部署UUIDget_deployment_log获取特定部署的部署日志。对于调试失败的部署非常有用。
参数:
project (字符串):项目永久链接uuid (字符串):部署UUID返回值:完整的部署日志文本
create_deployment为一个项目创建新的部署。
参数:
project (字符串):项目永久链接parent_identifier (字符串):服务器或服务器组UUIDstart_revision (字符串):起始提交哈希end_revision (字符串):结束提交哈希branch (字符串,可选):要部署的分支mode (字符串,可选):"queue" 或 "preview"copy_config_files (布尔值,可选):复制配置文件run_build_commands (布尔值,可选):运行构建命令use_build_cache (布尔值,可选):使用构建缓存use_latest (字符串,可选):使用最新部署的提交作为开始最快速的安装方法:
claude mcp add --transport stdio deployhq --env DEPLOYHQ_EMAIL=your-email@example.com --env DEPLOYHQ_API_KEY=your-api-key --env DEPLOYHQ_ACCOUNT=your-account -- npx -y deployhq-mcp-server
替换 your-email@example.com、your-api-key 和 your-account 为您实际的DeployHQ凭证。
相同的配置适用于两个客户端。从 docs/claude-config.json 复制并添加您的凭证。
对于Claude Desktop:
编辑您的配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json然后重启Claude Desktop。
对于Claude Code:
在您的项目目录下的.claude.json文件中添加。
配置:
{
"mcpServers": {
"deployhq": {
"command": "npx",
"args": ["-y", "deployhq-mcp-server"],
"env": {
"DEPLOYHQ_EMAIL": "your-email@example.com",
"DEPLOYHQ_API_KEY": "your-password",
"DEPLOYHQ_ACCOUNT": "your-account-name"
// 可选:"LOG_LEVEL": "INFO" (ERROR, INFO, 或 DEBUG)
}
}
}
}
注意:只需提供3个DeployHQ凭证。LOG_LEVEL是可选的,默认为INFO。
配置完成后,您可以请求Claude与DeployHQ互动:
用户:我的应用的最新部署状态是什么?
Claude:[使用list_deployments → get_deployment → 显示状态]
用户:为什么我的应用的最后一次部署失败了?
Claude:[使用list_deployments → get_deployment_log → 分析日志]
用户:将我的应用的最新更改部署到生产环境
Claude:[使用list_servers → list_deployments → 使用use_latest创建部署]
用户:我想将我的应用部署到生产环境,并使用最新的更改
Claude将:
1. 使用list_projects找到"my-app"
2. 使用list_servers找到生产服务器UUID
3. 使用list_deployments和use_latest获取最后一个修订
4. 使用create_deployment排队部署
5. 使用get_deployment显示状态
6. 如果有任何问题,使用get_deployment_log
DEPLOYHQ_EMAIL:您的DeployHQ登录邮箱DEPLOYHQ_API_KEY:您的DeployHQ密码/ API密钥DEPLOYHQ_ACCOUNT:您的DeployHQ账户名称(来自URL:https://ACCOUNT.deployhq.com)LOG_LEVEL:控制日志详细程度 - ERROR,INFO,或DEBUG(默认:INFO)NODE_ENV:环境模式 - production 或 development使用LOG_LEVEL环境变量控制详细程度:
示例:
{
"mcpServers": {
"deployhq": {
"command": "npx",
"args": ["-y", "deployhq-mcp-server"],
"env": {
"DEPLOYHQ_EMAIL": "your-email@example.com",
"DEPLOYHQ_API_KEY": "your-password",
"DEPLOYHQ_ACCOUNT": "your-account-name",
"LOG_LEVEL": "DEBUG"
}
}
}
}
问题:服务器启动后立即退出
解决方案:
node --versionLOG_LEVEL=DEBUG以获取更多详细信息问题:"认证失败"或401/403错误
解决方案:
问题:"项目未找到"或404错误
解决方案:
list_projects查看确切的永久链接格式问题:尝试创建部署时出现"服务器处于只读模式"错误
解决方案:
DEPLOYHQ_READ_ONLY=false--read-only=false问题:部署创建但立即失败
解决方案:
get_deployment_log查看详细的错误日志list_servers验证服务器UUID是否正确问题:"请求超时"错误
解决方案:
curl https://YOUR_ACCOUNT.deployhq.com问题:看不到任何日志输出
解决方案:
~/Library/Logs/Claude/LOG_LEVEL=DEBUG以获取详细输出https://ACCOUNT.deployhq.com)┌─────────────────┐ ┌─────────────┐
│ Claude Desktop │ stdio/JSON-RPC │ DeployHQ │
│ 或 Claude Code │◄──────────────────►│ API │
│ │ (通过npx) │ │
│ 环境变量 ─────┼───────────────────►│ 基本认证 │
└─────────────────┘ └─────────────┘
npx启动服务器的MCP客户端注意:服务器使用node-fetch进行HTTP请求。Node 18+是开发工具(ESLint,Vitest)所必需的。
git clone https://github.com/your-username/deployhq-mcp-server.git
cd deployhq-mcp-server
npm install
npm test # 运行一次测试
npm run test:watch # 监控模式运行测试
npm run test:coverage # 运行测试并生成覆盖率报告
npm run test:ui # 运行测试并生成UI
npm run build
# 先构建
npm run build
# 使用环境变量测试
DEPLOYHQ_EMAIL="your-email@example.com" \
DEPLOYHQ_API_KEY="your-api-key" \
DEPLOYHQ_ACCOUNT="your-account" \
node dist/stdio.js
服务器将以stdio模式启动,并等待stdin上的JSON-RPC消息。
配置您的本地.claude.json以使用构建版本:
{
"mcpServers": {
"deployhq": {
"command": "node",
"args": ["/path/to/deployhq-ms-server/dist/stdio.js"],
"env": {
"DEPLOYHQ_EMAIL": "your-email@example.com",
"DEPLOYHQ_API_KEY": "your-password",
"DEPLOYHQ_ACCOUNT": "your-account-name"
}
}
}
}
该项目包含使用Vitest的全面测试套件:
测试覆盖率:
运行测试:
npm test # 运行所有测试
npm run test:watch # 开发监控模式
npm run test:coverage # 生成覆盖率报告
npm run test:ui # 交互式UI调试
测试统计:
**默认情况下,MCP服务器允许所有操作,包括创建部署。**这是大多数用户的推荐配置。
对于希望防止意外部署的用户,服务器包括一个可选的只读模式,可以启用以阻止部署创建。
默认行为(无需配置):
何时可能需要启用只读模式:
重要:只读模式是完全可选的。没有它,服务器也能完全工作。
如何启用只读模式:
通过环境变量:
{
"mcpServers": {
"deployhq": {
"command": "npx",
"args": ["-y", "deployhq-mcp-server"],
"env": {
"DEPLOYHQ_EMAIL": "your-email@example.com",
"DEPLOYHQ_API_KEY": "your-api-key",
"DEPLOYHQ_ACCOUNT": "your-account",
"DEPLOYHQ_READ_ONLY": "true"
}
}
}
}
通过CLI标志:
{
"mcpServers": {
"deployhq": {
"command": "npx",
"args": [
"-y",
"deployhq-mcp-server",
"--read-only"
],
"env": {
"DEPLOYHQ_EMAIL": "your-email@example.com",
"DEPLOYHQ_API_KEY": "your-api-key",
"DEPLOYHQ_ACCOUNT": "your-account"
}
}
}
}
配置优先级:
--read-only(最高优先级)DEPLOYHQ_READ_ONLYfalse(允许部署)该服务器也可以作为具有SSE/HTTP传输的托管服务部署。这对于Web集成或团队共享访问非常有用。
准备您的仓库:
git add .
git commit -m "初始提交"
git push origin main
创建新应用:
配置应用:
.do/app.yaml配置设置环境变量:
DEPLOYHQ_EMAILDEPLOYHQ_API_KEYDEPLOYHQ_ACCOUNTNODE_ENV=productionPORT=8080LOG_LEVEL=info部署:
**配置自定义域名