Coolify
Use this skill when working with Coolify Cloud or a self-hosted Coolify instance.
Before Acting
- Confirm the task affects the intended Coolify instance, project, environment, and resource.
- Prefer read-only discovery first: health, current team, projects, servers, and resources.
- Never print API tokens, private keys, password values, environment variable values, raw secrets, IPs, or credentials unless the user explicitly asks and the task requires it.
- Treat deployments, starts, stops, restarts, deletes, env changes, private key changes, cloud token changes, API enable/disable, MCP enable/disable, server creation, and domain overrides as mutating operations.
- For destructive or broad mutating operations, restate the exact target UUID/name and proceed only when the user's request is already clear.
Connection
Assume the plugin may already have a saved local connection. If a tool reports missing token configuration, expired credentials, or a wrong instance, switch to the coolify-setup skill and help the user connect Coolify. Do not ask the user to paste secrets into chat.
Tooling Strategy
Use MCP tools from the coolify server when available. In Codex tool names this normally appears as the mcp__coolify namespace, with the tool names below:
coolify_health: verify instance health and version.
coolify_config_status: check saved connection state without revealing secrets.
coolify_list: list common resources.
coolify_get: inspect one resource.
coolify_lifecycle: start, stop, or restart apps, services, and databases.
coolify_deploy: trigger deployments by UUID or tag.
coolify_deployment_history: list deployment history for one application or all applications.
coolify_application_logs: fetch application logs.
coolify_envs: manage environment variables.
coolify_openapi_search: find less common endpoint details.
coolify_request: call any relative /api/v1 endpoint.
For endpoints not covered by named tools, call coolify_openapi_search first, then use coolify_request with the path, query, and body shape from the bundled OpenAPI spec.
If tool_search cannot find mcp__coolify or the named Coolify tools even though the plugin was referenced, switch to the coolify-setup skill. Do not simulate Coolify operations from repo-local scripts for marketplace users. A failed thread may have stale plugin capability metadata, so the recovery path is reinstall/update plus a brand-new top-level thread, not a same-thread retry or fork.
Common Workflows
Instance Inventory
- Run
coolify_health.
- Run
coolify_request for /teams/current.
- List
project, server, resource, application, service, and database as needed.
- If the user asks about deployments they "have" or deployment history, run
coolify_deployment_history; do not rely on coolify_list with kind: "deployment" alone.
- Summarize names, UUIDs, status, domains, servers, deployment counts, and project/environment relationships.
Deployment
- Identify the exact resource UUID or deployment tag.
- Check current resource status and recent deployments with
coolify_deployment_history.
- Run
coolify_deploy.
- Poll deployments or fetch application logs if the user wants follow-up.
Environment Variables
- Use
coolify_envs with action: "list" first.
- Keep values redacted by default.
- For creates or updates, use
action: "create", action: "update", or action: "bulk_update".
- Do not delete variables unless the user explicitly requested deletion.
Logs and Troubleshooting
- Inspect the resource and its server.
- Fetch recent application logs with an appropriate line count.
- Check deployments for failed or running jobs.
- Use
coolify_request for server validation, domains, backups, scheduled task executions, or specific API endpoints after finding them in OpenAPI.
API Notes
- Coolify API base path is
/api/v1.
- Authentication uses
Authorization: Bearer <token>.
- Common resource identifiers are UUIDs. Team endpoints use numeric IDs.
/health may be available outside /api/v1; the MCP health tool handles both forms.
GET /deployments lists currently running deployments, not all historical deployments.
- Historical application deployments live at
GET /deployments/applications/{uuid}. Use coolify_deployment_history for user-facing deployment inventories.
GET /deploy triggers deployment by UUID or tag. Coolify also accepts deployment parameters in other forms, but prefer the tool unless OpenAPI lookup says otherwise.
- Environment variable list responses can contain sensitive fields. Keep default redaction on unless raw values are required.
Safety Defaults
- Use least-privilege tokens.
- Avoid logging secrets.
- Prefer exact UUIDs over fuzzy names for mutating calls.
- If a domain conflict or force override appears, surface the conflict and ask for confirmation before proceeding.
- If Coolify returns a 401 or 403, explain that the token may be missing, expired, scoped too narrowly, or associated with the wrong team.
Source: hashgraph-online/awesome-codex-plugins → plugins/Sevi-py/coolify-codex-plugin/skills/coolify/SKILL.md
1---2name: coolify3description: Control Coolify Cloud or self-hosted Coolify instances from Codex using the bundled Coolify API MCP server. Use when the user asks to inspect, deploy, create, update, restart, stop, configure, or troubleshoot Coolify applications, services, databases, servers, projects, deployments, environment variables, domains, teams, private keys, GitHub apps, cloud tokens, scheduled tasks, backups, or other Coolify API resources. For connecting the plugin, first-time setup, saved credentials, login, logout, or marketplace onboarding, use the coolify-setup skill instead.4---5
6
7# Coolify
8
9Use this skill when working with Coolify Cloud or a self-hosted Coolify instance.
10
11## Before Acting
12
131. Confirm the task affects the intended Coolify instance, project, environment, and resource.
142. Prefer read-only discovery first: health, current team, projects, servers, and resources.
153. Never print API tokens, private keys, password values, environment variable values, raw secrets, IPs, or credentials unless the user explicitly asks and the task requires it.
164. Treat deployments, starts, stops, restarts, deletes, env changes, private key changes, cloud token changes, API enable/disable, MCP enable/disable, server creation, and domain overrides as mutating operations.
175. For destructive or broad mutating operations, restate the exact target UUID/name and proceed only when the user's request is already clear.
18
19## Connection
20
21Assume the plugin may already have a saved local connection. If a tool reports missing token configuration, expired credentials, or a wrong instance, switch to the `coolify-setup` skill and help the user connect Coolify. Do not ask the user to paste secrets into chat.
22
23## Tooling Strategy
24
25Use MCP tools from the `coolify` server when available. In Codex tool names this normally appears as the `mcp__coolify` namespace, with the tool names below:
26
27- `coolify_health`: verify instance health and version.
28- `coolify_config_status`: check saved connection state without revealing secrets.
29- `coolify_list`: list common resources.
30- `coolify_get`: inspect one resource.
31- `coolify_lifecycle`: start, stop, or restart apps, services, and databases.
32- `coolify_deploy`: trigger deployments by UUID or tag.
33- `coolify_deployment_history`: list deployment history for one application or all applications.
34- `coolify_application_logs`: fetch application logs.
35- `coolify_envs`: manage environment variables.
36- `coolify_openapi_search`: find less common endpoint details.
37- `coolify_request`: call any relative `/api/v1` endpoint.
38
39For endpoints not covered by named tools, call `coolify_openapi_search` first, then use `coolify_request` with the path, query, and body shape from the bundled OpenAPI spec.
40
41If `tool_search` cannot find `mcp__coolify` or the named Coolify tools even though the plugin was referenced, switch to the `coolify-setup` skill. Do not simulate Coolify operations from repo-local scripts for marketplace users. A failed thread may have stale plugin capability metadata, so the recovery path is reinstall/update plus a brand-new top-level thread, not a same-thread retry or fork.
42
43## Common Workflows
44
45### Instance Inventory
46
471. Run `coolify_health`.
482. Run `coolify_request` for `/teams/current`.
493. List `project`, `server`, `resource`, `application`, `service`, and `database` as needed.
504. If the user asks about deployments they "have" or deployment history, run `coolify_deployment_history`; do not rely on `coolify_list` with `kind: "deployment"` alone.
515. Summarize names, UUIDs, status, domains, servers, deployment counts, and project/environment relationships.
52
53### Deployment
54
551. Identify the exact resource UUID or deployment tag.
562. Check current resource status and recent deployments with `coolify_deployment_history`.
573. Run `coolify_deploy`.
584. Poll deployments or fetch application logs if the user wants follow-up.
59
60### Environment Variables
61
621. Use `coolify_envs` with `action: "list"` first.
632. Keep values redacted by default.
643. For creates or updates, use `action: "create"`, `action: "update"`, or `action: "bulk_update"`.
654. Do not delete variables unless the user explicitly requested deletion.
66
67### Logs and Troubleshooting
68
691. Inspect the resource and its server.
702. Fetch recent application logs with an appropriate line count.
713. Check deployments for failed or running jobs.
724. Use `coolify_request` for server validation, domains, backups, scheduled task executions, or specific API endpoints after finding them in OpenAPI.
73
74## API Notes
75
76- Coolify API base path is `/api/v1`.
77- Authentication uses `Authorization: Bearer <token>`.
78- Common resource identifiers are UUIDs. Team endpoints use numeric IDs.
79- `/health` may be available outside `/api/v1`; the MCP health tool handles both forms.
80- `GET /deployments` lists currently running deployments, not all historical deployments.
81- Historical application deployments live at `GET /deployments/applications/{uuid}`. Use `coolify_deployment_history` for user-facing deployment inventories.
82- `GET /deploy` triggers deployment by UUID or tag. Coolify also accepts deployment parameters in other forms, but prefer the tool unless OpenAPI lookup says otherwise.
83- Environment variable list responses can contain sensitive fields. Keep default redaction on unless raw values are required.
84
85## Safety Defaults
86
87- Use least-privilege tokens.
88- Avoid logging secrets.
89- Prefer exact UUIDs over fuzzy names for mutating calls.
90- If a domain conflict or force override appears, surface the conflict and ask for confirmation before proceeding.
91- If Coolify returns a 401 or 403, explain that the token may be missing, expired, scoped too narrowly, or associated with the wrong team.
92
93---
94
95**Source:** [`hashgraph-online/awesome-codex-plugins`](https://github.com/hashgraph-online/awesome-codex-plugins) → `plugins/Sevi-py/coolify-codex-plugin/skills/coolify/SKILL.md`