/ 目录 / 演练场 / coolify-mcp
● 社区 StuMason ⚡ 即开即用

coolify-mcp

作者 StuMason · StuMason/coolify-mcp

通过对话管理你的自托管 Coolify PaaS —— 部署应用、启动数据库、查看日志、轮换环境变量 —— 用 38 个为小上下文窗口优化的工具。

Coolify MCP 是一个 TypeScript 服务器,用 38 个经过深思熟虑、节省 token 的工具包装了 Coolify API。相比原始 API,响应缩小了 90-99%,所以你可以进行长时间的部署对话而不会上下文溢出。对于想要 ChatOps 但不想要运维复杂度的自托管者来说很棒。

为什么要用

核心特性

实时演示

实际使用效果

coolify.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "coolify": {
      "command": "npx",
      "args": [
        "-y",
        "coolify-mcp"
      ],
      "_inferred": true
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "coolify": {
      "command": "npx",
      "args": [
        "-y",
        "coolify-mcp"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "coolify": {
      "command": "npx",
      "args": [
        "-y",
        "coolify-mcp"
      ],
      "_inferred": true
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "coolify": {
      "command": "npx",
      "args": [
        "-y",
        "coolify-mcp"
      ],
      "_inferred": true
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "coolify",
      "command": "npx",
      "args": [
        "-y",
        "coolify-mcp"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "coolify": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "coolify-mcp"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add coolify -- npx -y coolify-mcp

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: coolify-mcp

通过对话从 Git URL 部署新应用到 Coolify

👤 独立开发者、独立黑客自托管 ⏱ ~10 min beginner

何时使用: 你在 GitHub 上有新的副业项目,想在 5 分钟内不用点击 Coolify UI 就让它在 VPS 上上线。

前置条件
  • 运行中的 Coolify 实例 — 在你的 VPS 上运行 coolify.io 安装脚本
  • COOLIFY_ACCESS_TOKEN — Coolify > Settings > API > Create Token
步骤
  1. 创建应用
    Create a new Coolify app in project 'side-projects' on server 'hetzner-fsn1'. Source: https://github.com/me/my-app. Build pack: Nixpacks. Port: 3000.✓ 已复制
    → 应用创建完成,返回 UUID
  2. 设置环境变量
    Set these env vars on the app: DATABASE_URL=..., SESSION_SECRET=..., NODE_ENV=production.✓ 已复制
    → 环境变量已保存
  3. 部署并查看日志
    Deploy the app. Tail the build log; tell me when it's healthy or if it crashes.✓ 已复制
    → 实时构建日志 + 最终成功/失败判断

结果: 一个新的 HTTPS 应用在你的 VPS 上运行,大约 5 分钟,全部通过对话完成。

注意事项
  • 忘记设置域名;Coolify 会用丑陋的自动生成的域名 — 部署后,问:'添加自定义域名 app.example.com,启用 HTTPS'。Coolify 会自动配置 Let's Encrypt。
搭配使用: github

一句话为新应用启动托管 Postgres

👤 全栈开发者 ⏱ ~5 min beginner

何时使用: 你的应用需要数据库,但你不想 shell 进去、运行 docker run,也不想记得备份 cron。

步骤
  1. 创建数据库
    Create a Postgres 16 database named 'myapp-prod' in project 'side-projects' with 2GB RAM, daily backups retained 7 days.✓ 已复制
    → 数据库创建完成,返回凭据
  2. 连接到你的应用
    Add the DATABASE_URL for this DB as an env var on app 'my-app', and redeploy.✓ 已复制
    → 环境变量已设置 + 重新部署已触发

结果: 托管的 Postgres 具有计划备份,集成到你的应用。

注意事项
  • 默认 Postgres 仅接受来自 Coolify 网络的连接 — 如果需要外部访问,通过 MCP 设置 Public 切换 —— 并且只开放特定 IP
搭配使用: postgres

从手机诊断和恢复生产应用崩溃

👤 单独运维、小团队 ⏱ ~10 min intermediate

何时使用: 你的应用宕机,你不在办公室。你的手机上有 Claude,还有 Coolify token。

步骤
  1. 检查健康状态
    Show me the status of all apps in project 'prod'. Anything unhealthy?✓ 已复制
    → 每个应用的状态列表,标记不健康的应用
  2. 查看日志
    Tail the last 200 lines of app 'api-server'. What's the error?✓ 已复制
    → 日志摘录 + 可能的原因
  3. 回滚或重启
    Restart the app. If it crashes again within 2 minutes, redeploy the previous commit.✓ 已复制
    → 重启已发出;状态监控中

结果: 恢复了服务,不需要笔记本。

注意事项
  • 重启不会修复坏的部署 —— 你只会循环 — 告诉 Claude 查看部署历史,如果重启没有帮助,回滚到最后一个健康的提交
搭配使用: sentry

在项目中的每个应用上轮换共享的密钥

👤 小 DevOps 团队 ⏱ ~10 min intermediate

何时使用: 你轮换了 API 密钥(Stripe、Sentry DSN 等),6 个应用都引用它。

步骤
  1. 列出受影响的应用
    In project 'prod', list all apps that have the env var 'STRIPE_SECRET_KEY'.✓ 已复制
    → 匹配应用的列表
  2. 批量更新和重新部署
    Update STRIPE_SECRET_KEY to [new value] on all those apps, then trigger redeploy for each with a 30-second stagger.✓ 已复制
    → 每个应用的更新 + 重新部署报告

结果: 一次对话完成全部部署的密钥轮换。

注意事项
  • 错开的重新部署仍会导致短暂的停机 — 如果需要零停机,请按应用使用 Coolify 的滚动部署模式

组合

与其他 MCP 搭配,撬动十倍杠杆

coolify + github

当新仓库准备好时,将其部署到 Coolify 并在 PR 上回复 URL

Take repo me/new-project. Deploy it to Coolify under project 'preview', then comment the preview URL on the main branch README.✓ 已复制
coolify + sentry

当 Sentry 显示 Coolify 托管应用的峰值时,重新部署上一个版本

If Sentry issue count for app 'api-server' doubles in 10 min, roll back the Coolify deploy to previous commit.✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
list_servers 在创建资源之前发现已连接的服务器 1 API call
list_applications project_uuid?: str 查找现有应用;限制到项目以减少噪音 1 API call
create_application source, server, project, build_pack, port, ... 从 Git 启动新应用 1 API call
deploy_application app_uuid: str 启动部署;立即返回,轮询状态 1 API call + build time
get_application_logs app_uuid, tail?: int 调试运行中或失败的应用 1 API call
update_env_variable app_uuid, key, value, is_preview?: bool 更改环境变量;不会自动重新部署 1 API call
create_database engine, name, project, server, config 配置新的托管数据库(Postgres、MySQL、Redis、MongoDB 等) 1 API call
search_docs query: str 在不离开聊天的情况下查找 Coolify 功能使用情况 free

成本与限制

运行它的成本

API 配额
受 Coolify 实例限制 —— 没有正式的速率限制,但要保持调用合理
每次调用 Token 数
列表调用 ~500-2000 tokens(已优化);详细调用 ~200-1000
费用
免费,MIT。Coolify 本身是免费的和自托管的。
提示
使用 search_docs 而不是猜测 —— 比 Claude 对不确定的功能进行试错要便宜。

安全

权限、密钥、影响范围

最小权限: 限制到你想管理的团队的 Coolify API token
凭据存储: 在运行 MCP 客户端的机器上的 COOLIFY_ACCESS_TOKEN 环境变量
数据出站: 直接到你的 Coolify 实例;你的 Coolify 处理其他一切
切勿授予: 共享 token —— 它等同于对你的 PaaS 的完全控制

故障排查

常见错误与修复

401 Unauthorized

Token 无效或已过期。在 Coolify > Settings > API 中重新生成并更新环境变量。

验证: curl -H 'Authorization: Bearer $TOKEN' $COOLIFY_URL/api/v1/servers
Deploy stuck in 'queued'

检查 Coolify 服务器是否有空闲的 CPU/磁盘。还要确认构建队列没有被之前挂起的部署阻止。

验证: Use `list_deployments` tool and cancel stale ones
create_application returns 422 build_pack invalid

有效的值是:nixpacks、static、dockerfile、dockercompose。区分大小写。

Custom domain shows cert error

DNS 必须指向 Coolify 服务器才能发出 TLS。验证 A 记录,然后要求 Claude 触发 LE 发出重试。

验证: dig app.example.com

替代方案

coolify-mcp 对比其他方案

替代方案何时用它替代权衡
Dokploy MCP你使用的是 Dokploy 而不是 Coolify功能集相似;Dokploy 是最接近的竞争对手
Caprover / Dokku CLI via ssh-manager你使用 Caprover 或 Dokku,没有专门的 MCP通过 SSH 命令驱动;不太人性化,但在任何地方都有效

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills