Labsco
MCP SERVER

Coolify MCP

by frndchagas

Run a Coolify estate from the client — deploy an application from a repo, stand up a database with backups, and diagnose the one that is down without assembling the sequence yourself.

PaaS Deployment & App HostingVerified
Summary
The write half can be switched off, and the widest operations ask before they act.

One environment variable separates an agent that can describe the estate from one that can delete a project — but it is on by default, so switching it off is a decision you have to make rather than one made for you. Above that, the estate-wide operations request confirmation on clients that support it, and the stop-everything call states its blast radius when it does. The diagnose tools are the ones worth knowing exist: the app diagnostic folds current status, the latest deployments, the failed deployment's log tail and recent runtime logs into a single call — the sequence you would otherwise assemble by hand while something is down.

What it is

A Coolify client covering the deployment workflow end to end: servers, projects, applications, databases, services, environment variables, storages, scheduled tasks and deployments. Its types and schemas are generated from Coolify's own OpenAPI spec, so tool inputs match what the API actually accepts.

What you get
  • getInfrastructureOverview, a one-call summary of servers, projects, applications with a status breakdown, databases, services and running deployments, with getHealth for whether the API is up at all.
  • Applications from any source createApplication accepts — a public git repo, a private repo through a GitHub App or an SSH deploy key, a raw Dockerfile, or a prebuilt docker image — with start, stop, restart, update and delete, and an escape hatch validated against the OpenAPI schema for fields not exposed directly.
  • Databases across postgresql, mysql, mariadb, mongodb, redis, keydb, dragonfly and clickhouse, each with create, update, delete, start, stop and restart, environment variables, and scheduled backups on a cron frequency with optional S3 storage and retention.
  • Services as one-click apps or Docker Compose deployments: createService takes the raw compose file, and since Coolify v4.1 a compose deployment is a service rather than an application.
  • deploy by uuid or tag, optionally waiting until every triggered deployment reaches a terminal state and returning a log tail on failure, plus cancelDeployment, listDeployments, listAppDeployments and deletePreview by pull request id.
  • Environment variables for applications, databases and services through one action-based tool each: list with secrets masked unless you ask for them, create, update, upsert by key, bulk update and delete.
  • storages for persistent volumes and file mounts on any resource, and scheduledTasks for cron jobs with a command, a frequency and their execution history.
  • Infrastructure: listServers, createServer against a registered private key, validateServer, updateServer, deleteServer, getServerResources, getServerDomains, SSH private key management, and GitHub App repository and branch listings.
  • Diagnostics that aggregate rather than list: diagnoseServer returns the resources on a server with a status breakdown, its domains and suggested next actions; diagnoseApp returns current status, the latest deployments, a log tail from the most recent failed deployment, recent runtime logs and next actions in one call.
  • searchDocs, a full-text search over the official Coolify documentation from an index bundled with the server, returning titles, canonical URLs and snippets with no network call.
  • Estate-wide operations that ask first: restartProjectApps, redeployProject and stopAllApplications, which states its blast radius on clients that support elicitation.
Requirements

Node 18 or newer, your Coolify instance's API URL in COOLIFY_BASE_URL, and a token from its API settings in COOLIFY_TOKEN. Writes are enabled by default — set COOLIFY_ALLOW_WRITE to false if this install should only ever read. An SSH private key must be registered in Coolify before a server can be created, and a GitHub App configured before a private repository can be deployed through one. Raise your client's tool timeout if you deploy with the wait option, since it polls until the deployment reaches a terminal state.

Setup effort

One command plus a key — npm install -g @fndchagas/coolify-mcp, then supply credentials