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.
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.
- 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.
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.
One command plus a key — npm install -g @fndchagas/coolify-mcp, then supply credentials
