coolify-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| COOLIFY_TOKEN | Yes | API token from Coolify Settings > API | |
| COOLIFY_BASE_URL | Yes | Coolify API URL (e.g., https://coolify.example.com/api/v1) | |
| COOLIFY_ALLOW_WRITE | No | Enable write operations (create, update, delete, deploy) | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| listResourcesB | List Coolify resources with optional pagination, summary, and filters. |
| listProjectsA | List all Coolify projects. Returns project UUID, name, description, and environments. |
| createProjectB | Create a new Coolify project. Returns the project UUID. |
| listServersC | List all Coolify servers. Returns server UUID, name, IP, user, port, and proxy type. |
| getServerA | Get server details by UUID. |
| listEnvironmentsA | List all environments for a project. Requires the project UUID. |
| createEnvironmentA | Create a new environment in a project. Requires the project UUID. |
| updateProjectB | Update a project's name or description. |
| deleteProjectA | Delete a project by UUID. This will delete all environments and resources in the project. |
| createServerA | Create a new server. Requires a private key UUID for SSH access. |
| validateServerA | Validate server connection and configuration by UUID. |
| listPrivateKeysA | List all SSH private keys. Keys are used for server authentication and deploy keys. |
| createPrivateKeyA | Create a new SSH private key. The private_key field should contain the full PEM-encoded key. |
| listGithubAppsA | List all configured GitHub Apps. Used for private repository access. |
| listApplicationsC | List all Coolify applications. |
| listDatabasesC | List databases with optional pagination and filters. |
| listDeploymentsB | List currently running deployments. |
| listAppDeploymentsA | List deployments for an application with pagination (skip/take). |
| getApplicationA | Get application details by UUID (optional field selection). |
| getDatabaseB | Get database details by UUID. |
| getDeploymentA | Get deployment status and logs by UUID. |
| getLogsC | Fetch runtime logs for an application. |
| applicationEnvsA | Manage environment variables for an application. Actions: list (secrets masked unless showSecrets), create, update, upsert (create or update by key), bulk_update (pass envs array), delete (needs env_uuid). |
| deployA | Trigger a deployment for an application by UUID or tag. With wait=true, polls until every triggered deployment reaches a terminal status (finished/failed/cancelled) and returns a log tail for failures — raise your MCP client's tool timeout when waiting on long builds. |
| cancelDeploymentB | Cancel a running deployment by UUID. |
| createApplicationA | Create a new application. |
| updateApplicationA | Update an application's configuration by UUID. Common fields are exposed; any other Coolify application field (install/build/start commands, health checks, resource limits, static flags, ...) can go in |
| deleteApplicationA | Delete an application by UUID. Optionally delete volumes, configurations, and connected networks. |
| startApplicationA | Start an application by UUID. Optionally force rebuild. |
| stopApplicationA | Stop an application by UUID. |
| restartApplicationA | Restart an application by UUID. |
| listServicesC | List all Coolify services (one-click apps like databases, caches, etc.). |
| createServiceA | Create a one-click service (database, cache, etc.) or a Docker Compose deployment (pass docker_compose_raw with the YAML content). Requires project_uuid, server_uuid, and environment_name (or environment_uuid). Since Coolify v4.1, Docker Compose deployments are services, not applications. |
| createDatabaseA | Create a database. |
| updateDatabaseA | Update a database's configuration by UUID. Common fields are exposed; any other Coolify database field can go in |
| deleteDatabaseA | Delete a database by UUID. By default Coolify also deletes configurations, volumes, and connected networks and runs docker cleanup; pass the flags as false to keep them. |
| controlDatabaseA | Start, stop, or restart a database by UUID. |
| databaseBackupsB | Manage scheduled backups for a database. Actions: list, create, update, delete (backup schedules), list_executions, delete_execution. create/update take frequency (cron expression) plus optional fields (enabled, save_s3, s3_storage_uuid, databases_to_backup, dump_all, retention settings via extra). |
| databaseEnvsB | Manage environment variables for a database. Actions: list (secrets masked unless showSecrets), create, update, bulk_update (pass envs array), delete (needs env_uuid). |
| getServiceA | Get service details by UUID (secrets masked by default; pass showSecrets to reveal). |
| updateServiceA | Update a service by UUID. Common fields are exposed; any other Coolify service field (docker_compose_raw, connect_to_docker_network, ...) can go in |
| deleteServiceA | Delete a service by UUID. By default Coolify also deletes configurations, volumes, and connected networks and runs docker cleanup; pass the flags as false to keep them. |
| controlServiceA | Start, stop, or restart a service by UUID. |
| serviceEnvsA | Manage environment variables for a service. Actions: list (secrets masked unless showSecrets), create, update, bulk_update (pass envs array), delete (needs env_uuid). |
| storagesB | Manage persistent volumes and file mounts for an application, database, or service. Actions: list, create, update, delete. create needs storage type ('persistent' or 'file') and mount_path; update targets storage_uuid; delete needs storage_uuid. |
| scheduledTasksB | Manage scheduled tasks (cron jobs) for an application or service. Actions: list, create (name, command, frequency), update, delete, list_executions (all but list/create need task_uuid). |
| teamsA | Read Coolify teams. Actions: list, current, current_members, get (needs id), members (needs id). |
| deletePreviewA | Delete a preview deployment of an application by pull request id. |
| updateServerA | Update a server by UUID. Common fields are exposed; any other Coolify server field can go in |
| deleteServerA | Delete a server by UUID. |
| getServerResourcesB | List all resources (applications, databases, services) running on a server. |
| getServerDomainsB | List all domains configured on a server. |
| getPrivateKeyA | Get an SSH private key's metadata by UUID. The key material is masked unless showSecrets is true. |
| updatePrivateKeyA | Update an SSH private key. The Coolify API identifies the key by its private_key content (required); name and description are optional. |
| deletePrivateKeyA | Delete an SSH private key by UUID. Not recoverable from Coolify once gone. |
| getGithubAppRepositoriesA | List repositories accessible to a GitHub App. |
| getGithubAppBranchesA | List branches of a repository accessible to a GitHub App. |
| diagnoseServerA | Diagnose a server by UUID, name, or IP: lists the resources running on it with a status breakdown, configured domains, and suggested next actions. |
| diagnoseAppA | Diagnose an application by UUID, name, or domain. Aggregates current status, the latest deployments, a log tail from the most recent failed deployment, recent runtime logs, and suggested next actions in one call. |
| searchDocsA | Full-text search across the official Coolify documentation using a local index bundled with this server (no network). Returns page titles, canonical coolify.io/docs URLs, and snippets. |
| getInfrastructureOverviewA | One-call summary of the whole Coolify estate: servers, projects, applications (with status breakdown), databases, services, and currently running deployments. |
| getHealthA | Check that the Coolify API is up (GET /health). |
| restartProjectAppsA | Restart every application in a project (optionally a single environment). Asks for confirmation on clients that support elicitation. |
| redeployProjectA | Trigger a deployment for every application in a project (optionally a single environment). Asks for confirmation on clients that support elicitation. |
| stopAllApplicationsA | Stop every running application, optionally restricted to one project. Asks for confirmation on clients that support elicitation, stating the blast radius. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/frndchagas/coolify-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server