CoolifyCAUTION
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
A Model Context Protocol (MCP) server providing full coverage of the Coolify v4.3.1 REST API. Manage applications, databases, services, servers, deployments, and more — all from any MCP-compatible AI client.
Compatibility: Coolify v4.x. API base: https:///api/v1Coolify v4.2.0 made state-changing endpoints POST-only; the former GET routes now return This endpoint has changed to a POST request. This server issues POST for all of them. Lifecycle and deploy operations remain compatible with earlier v4.x releases, which accepted both methods. Three tools — enable_api, disable_api and validate_server — call endpoints that were GET-only before v4.2.0 and so require Coolify v4.2.0 or newer.
Prerequisites
- Node.js 18 or higher
- A running Coolify v4 instance (v4.2.0+ for the three tools noted above)
- A Coolify API token (from Security → API Tokens in the dashboard)
Installation
# Install globally npm install -g coolify-mcp-server # Or use with npx (no install needed) npx coolify-mcp-server
Configuration
Set two environment variables:
MCP Settings (Claude Desktop / Windsurf / Cline)
{
"mcpServers": {
"coolify": {
"command": "npx",
"args": ["-y", "coolify-mcp-server"],
"env": {
"COOLIFY_BASE_URL": "https://your-coolify-instance",
"COOLIFY_TOKEN": "your-api-token"
}
}
}
}Windows users (Cline/cmd):
{
"mcpServers": {
"coolify"b2cc661bd69eOBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add coolify-mcp-server --env COOLIFY_TOKEN=${COOLIFY_TOKEN} -- npx -y [email protected]{
"mcpServers": {
"coolify-mcp-server": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"COOLIFY_TOKEN": "${COOLIFY_TOKEN}"
}
}
}
}Exposed tools (110)
45 read · 49 write · 16 destructive. Blast radius: 16 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
bulk_update_application_envs | write | Bulk update environment variables for an application. |
cancel_deployment | read | Cancel a running deployment by UUID. |
create_application_env | write | Create an environment variable for an application. |
create_application_scheduled_task | write | Create a scheduled task for an application. |
create_application_storage | write | Create a storage for an application. |
create_clickhouse_database | write | Create a Clickhouse database. |
create_cloud_token | write | Create and validate a new cloud provider token. |
create_database_backup | write | Create a scheduled backup configuration for a database. |
create_database_env | write | Create an environment variable for a database. |
create_dockerfile_application | write | Create an application from a Dockerfile (no Git). |
create_dockerimage_application | write | Create an application from a prebuilt Docker image. |
create_dragonfly_database | write | Create a DragonFly database. |
create_environment | write | Create a new environment within a project. |
create_github_app | write | Create a new GitHub App integration. |
create_hetzner_server | write | Create a Hetzner Cloud server and register it in Coolify. |
create_keydb_database | write | Create a KeyDB database. |
create_mariadb_database | write | Create a MariaDB database. |
create_mongodb_database | write | Create a MongoDB database. |
create_mysql_database | write | Create a MySQL database. |
create_postgresql_database | write | Create a PostgreSQL database. |
create_private_deploy_key_application | write | Create an application from a private repository using a Deploy Key. |
create_private_github_app_application | write | Create an application from a private GitHub repository using a GitHub App. |
create_private_key | write | Create a new SSH private key. |
create_project | write | Create a new project. |
create_public_application | write | Create an application from a public Git repository. |
create_redis_database | write | Create a Redis database. |
create_server | write | Register a new server in Coolify. |
create_service | write | Create a one-click or custom service. Provide either |
create_service_env | write | Create an environment variable for a service. |
create_service_scheduled_task | write | Create a scheduled task for a service. |
delete_application | destructive | Delete an application by UUID. |
delete_application_env | destructive | Delete an environment variable from an application. |
delete_application_scheduled_task | destructive | Delete a scheduled task from an application. |
delete_application_storage | destructive | Delete a storage from an application. |
delete_cloud_token | destructive | Delete a cloud provider token. Fails if used by any servers. |
delete_database | destructive | Delete a database by UUID. |
delete_database_env | destructive | Delete an environment variable from a database. |
delete_environment | destructive | Delete an environment (must be empty) from a project. |
delete_github_app | destructive | Delete a GitHub App (only if not used by any applications). |
delete_private_key | destructive | Delete a private key by UUID. |
delete_project | destructive | Delete a project by UUID. |
delete_server | destructive | Delete a server by UUID. |
delete_service | destructive | Delete a service by UUID. |
delete_service_env | destructive | Delete an environment variable from a service. |
delete_service_scheduled_task | destructive | Delete a scheduled task from a service. |
deploy_by_tag_or_uuid | destructive | Trigger a deployment by tag or UUID. Supports force deploy and pull-request deployments. |
disable_api | write | Disable the Coolify API. Requires root-level token and Coolify >= 4.2.0. |
disable_mcp | write | Disable the built-in Coolify MCP server endpoint at /mcp. Requires root-level token. |
enable_api | write | Enable the Coolify API. Requires root-level token and Coolify >= 4.2.0. |
enable_mcp | write | Enable the built-in Coolify MCP server endpoint at /mcp. Requires root-level token. |
get_application | read | Get an application by UUID. |
get_application_logs | read | Get application logs. |
get_current_team | read | Get the team associated with the current API token. |
get_current_team_members | read | Get members of the current authenticated team. |
get_database | read | Get a database by UUID. |
get_database_backups | read | Get backup configurations for a database. |
get_deployment | read | Get a deployment by UUID. |
get_environment | read | Get an environment by name or UUID within a project. |
get_hetzner_images | read | Get all available Hetzner OS images. |
get_hetzner_locations | read | Get all available Hetzner datacenter locations. |
get_hetzner_server_types | read | Get all available Hetzner server types and pricing. |
get_hetzner_ssh_keys | read | Get all SSH keys stored in a Hetzner account. |
get_private_key | read | Get a private key by UUID. |
get_project | read | Get a project by UUID. |
get_server | read | Get details of a server by UUID. |
get_server_domains | read | Get all domains configured on a server. |
get_server_resources | read | Get all resources (applications, databases, services) running on a server. |
get_service | read | Get a service by UUID. |
get_team | read | Get details of a specific team by its numeric ID. |
get_team_members | read | Get members of a specific team by its numeric ID. |
get_version | read | Get the Coolify version string (e.g. |
health_check | read | Healthcheck endpoint. Does not require authentication. Returns |
list_application_envs | read | List all environment variables for an application. |
list_application_scheduled_tasks | read | List all scheduled tasks for an application. |
list_application_storages | read | List all persistent and file storages for an application. |
list_applications | read | List all applications. Optionally filter by tag. |
list_cloud_tokens | read | List all cloud provider tokens (Hetzner, DigitalOcean, etc.). |
list_database_backup_executions | read | List all executions for a backup configuration. |
list_database_envs | read | List environment variables for a database. |
list_databases | read | List all databases. |
list_deployments | read | List currently running deployments. |
list_deployments_by_application | read | List deployments for a specific application. |
list_environments | read | List all environments in a project. |
list_github_app_repositories | read | List repositories accessible to a GitHub App. |
list_github_apps | read | List all configured GitHub Apps. |
list_private_keys | read | List all SSH private keys. |
list_projects | read | List all projects. |
list_resources | read | Get all resources (applications, databases, services) across the Coolify instance. |
list_servers | read | List all servers registered in Coolify. |
list_service_envs | read | List environment variables for a service. |
list_service_scheduled_tasks | read | List all scheduled tasks for a service. |
list_services | read | List all services. |
list_teams | read | List all teams the authenticated token has access to. |
restart_application | write | Restart an application. |
restart_database | write | Restart a database. |
restart_service | write | Restart a service. |
start_application | write | Start an application. |
start_database | write | Start a database. |
start_service | write | Start a service. |
stop_application | write | Stop a running application. |
stop_database | write | Stop a database. |
stop_service | write | Stop a service. |
update_application | write | Update an application by UUID. |
update_application_env | write | Update an environment variable for an application. |
update_database | write | Update a database by UUID. |
update_private_key | write | Update an existing private key. |
update_project | write | Update a project by UUID. |
update_server | write | Update an existing server by UUID. |
update_service | write | Update a service by UUID. |
validate_server | read | Validate server connectivity and configuration. Requires Coolify >= 4.2.0. |
Trust audit
CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (3 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (3)
console.log(` Token: ${testConfig.COOLIFY_TOKEN ? '[SET]' : '[NOT SET]'}\n`);delete_application, delete_application_env, delete_application_scheduled_task, delete_application_storage, delete_cloud_token, delete_database, delete_database_env, delete_environment, delete_github_a
@modelcontextprotocol/sdk, axios, @types/node, typescript
Gates applied: no_behavioural_pass.
b2cc661bd69efull audit observations/trust-audit/mcp-server/wrediam__coolify-2.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | b2cc661bd69e | CAUTION | B | 89 | first audit |
Questions
What tools does Coolify expose?
110 in total: 45 read-only, 49 that write, and 16 that can delete or overwrite (delete_application, delete_application_env, delete_application_scheduled_task, delete_application_storage, delete_cloud_token). Every one is listed on this page with its risk.
Is Coolify safe to connect to an agent?
With care. The audit graded it B (89/100) and found 3 things worth knowing before you trust this server, listed below with the exact line each was found on. Separately from the audit: 16 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Coolify need?
It reads COOLIFY_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Coolify run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as coolify-mcp-server at 4.3.1.
How current is this page?
The grade is for one exact copy of the source (b2cc661bd69e), read on 2026-10-08. The repository is watched and re-audited when it changes.