/ Annuaire / Playground / coolify-mcp
● Communauté StuMason ⚡ Instantané

coolify-mcp

par StuMason · StuMason/coolify-mcp

Ops your self-hosted Coolify PaaS through chat — deploy apps, spin up databases, tail logs, rotate env vars — with 38 tools tuned to fit small context windows.

Coolify MCP is a TypeScript server that wraps the Coolify API with 38 opinionated, token-efficient tools. Responses are stripped down 90-99% compared to the raw API, so you can actually hold a deploy conversation without context collapse. Great for self-hosters who want ChatOps without the ops.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

coolify.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/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
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

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

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

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

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

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

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

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

Continue utilise un tableau d'objets serveur plutôt qu'une map.

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

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

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

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : coolify-mcp

Deploy a new app to Coolify from a Git URL by chat

👤 Solo devs, indie hackers self-hosting ⏱ ~10 min beginner

Quand l'utiliser : You have a new side project on GitHub and want it live on your VPS in under 5 minutes without clicking through Coolify's UI.

Prérequis
  • Running Coolify instance — coolify.io install script on your VPS
  • COOLIFY_ACCESS_TOKEN — Coolify > Settings > API > Create Token
Déroulement
  1. Create the app
    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.✓ Copié
    → App created with a UUID returned
  2. Set env vars
    Set these env vars on the app: DATABASE_URL=..., SESSION_SECRET=..., NODE_ENV=production.✓ Copié
    → Env vars saved
  3. Deploy and watch logs
    Deploy the app. Tail the build log; tell me when it's healthy or if it crashes.✓ Copié
    → Live build log + final success/fail verdict

Résultat : A new HTTPS app running on your VPS in ~5 minutes, all from chat.

Pièges
  • Forgot to set a domain; Coolify uses an ugly auto-generated one — After deploy, ask: 'Add custom domain app.example.com with HTTPS'. Coolify auto-provisions Let's Encrypt.
Combiner avec : github

Spin up a managed Postgres for your new app in one prompt

👤 Full-stack devs ⏱ ~5 min beginner

Quand l'utiliser : Your app needs a DB and you don't want to shell in, docker run, and remember backup cron.

Déroulement
  1. Create the database
    Create a Postgres 16 database named 'myapp-prod' in project 'side-projects' with 2GB RAM, daily backups retained 7 days.✓ Copié
    → Database created, credentials returned
  2. Connect it to your app
    Add the DATABASE_URL for this DB as an env var on app 'my-app', and redeploy.✓ Copié
    → Env var set + redeploy triggered

Résultat : Managed Postgres with scheduled backups, wired into your app.

Pièges
  • Default Postgres accepts connections only from Coolify network — Set Public toggle via the MCP if you need external access — and open only specific IPs
Combiner avec : postgres

Diagnose and recover from a production app crash from your phone

👤 Solo ops, small teams ⏱ ~10 min intermediate

Quand l'utiliser : Your app is down and you're away from your desk. You have Claude on your phone and your Coolify token.

Déroulement
  1. Check health
    Show me the status of all apps in project 'prod'. Anything unhealthy?✓ Copié
    → Per-app status list with reds flagged
  2. Look at logs
    Tail the last 200 lines of app 'api-server'. What's the error?✓ Copié
    → Log excerpt + probable cause
  3. Roll back or restart
    Restart the app. If it crashes again within 2 minutes, redeploy the previous commit.✓ Copié
    → Restart issued; state monitored

Résultat : Recovered service without needing a laptop.

Pièges
  • Restart won't fix a bad deploy — you'll just loop — Tell Claude to look at deploy history and roll back to the last healthy commit if restart doesn't help
Combiner avec : sentry

Rotate a shared secret across every app in a project

👤 Small DevOps teams ⏱ ~10 min intermediate

Quand l'utiliser : You rotated an API key (Stripe, Sentry DSN, etc.) and 6 apps all reference it.

Déroulement
  1. List affected apps
    In project 'prod', list all apps that have the env var 'STRIPE_SECRET_KEY'.✓ Copié
    → List of matching apps
  2. Bulk update and redeploy
    Update STRIPE_SECRET_KEY to [new value] on all those apps, then trigger redeploy for each with a 30-second stagger.✓ Copié
    → Per-app update + redeploy report

Résultat : Fleet-wide secret rotation in one conversation.

Pièges
  • Staggered redeploy still causes brief downtime — If zero-downtime required, use Coolify's rolling deploy mode per app

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

coolify + github

When a new repo is ready, deploy it to Coolify and comment the URL back on the PR

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

When Sentry shows a spike on a Coolify-hosted app, redeploy the previous version

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

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
list_servers Discover attached servers before creating resources 1 API call
list_applications project_uuid?: str Find existing apps; scope to a project for less noise 1 API call
create_application source, server, project, build_pack, port, ... Spin up a new app from Git 1 API call
deploy_application app_uuid: str Kick off a deploy; returns immediately, poll status 1 API call + build time
get_application_logs app_uuid, tail?: int Debug a running or failing app 1 API call
update_env_variable app_uuid, key, value, is_preview?: bool Change an env var; does not auto-redeploy 1 API call
create_database engine, name, project, server, config Provision a new managed DB (Postgres, MySQL, Redis, MongoDB, etc.) 1 API call
search_docs query: str Look up Coolify feature usage without leaving the chat free

Coût et limites

Coût d'exécution

Quota d'API
Bounded by Coolify instance — no formal rate limit, but keep calls sane
Tokens par appel
List calls ~500-2000 tokens (optimized); detail calls ~200-1000
Monétaire
Free, MIT. Coolify itself is free & self-hosted.
Astuce
Use search_docs before guessing — it's cheaper than Claude trial-and-error-ing a feature it's unsure about.

Sécurité

Permissions, secrets, portée

Portées minimales : A Coolify API token scoped to the team you want to manage
Stockage des identifiants : COOLIFY_ACCESS_TOKEN env var on the machine running MCP client
Sortie de données : Direct to your Coolify instance; your Coolify handles everything else
Ne jamais accorder : Share the token — it's equivalent to full control of your PaaS

Dépannage

Erreurs courantes et correctifs

401 Unauthorized

Token invalid or expired. Regenerate in Coolify > Settings > API and update the env var.

Vérifier : curl -H 'Authorization: Bearer $TOKEN' $COOLIFY_URL/api/v1/servers
Deploy stuck in 'queued'

Check if the Coolify server has free CPU/disk. Also confirm the build queue isn't blocked by a previous hung deploy.

Vérifier : Use `list_deployments` tool and cancel stale ones
create_application returns 422 build_pack invalid

Valid values are: nixpacks, static, dockerfile, dockercompose. Case sensitive.

Custom domain shows cert error

DNS must point to the Coolify server before TLS can be issued. Verify A record, then ask Claude to trigger the LE issuance retry.

Vérifier : dig app.example.com

Alternatives

coolify-mcp vs autres

AlternativeQuand l'utiliserCompromis
Dokploy MCPYou're on Dokploy instead of CoolifySimilar feature set; Dokploy is the closest competitor
Caprover / Dokku CLI via ssh-managerYou use Caprover or Dokku and don't have a dedicated MCPDrive via SSH commands; less ergonomic but works anywhere

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills