coolify — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited coolify (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill teaches Claude how to use the Coolify MCP server (@masonator/coolify-mcp) effectively. The server exposes ~38 token-optimized tools that wrap the Coolify API for managing self-hosted apps, databases, services, and infrastructure.
Use it for any user request that touches a Coolify-managed resource, even when the user phrases the request in product terms ("redeploy the API", "restart postgres", "check why staging is unhealthy") rather than naming Coolify explicitly. If a Coolify MCP tool exists for the job, prefer it over curl, the Coolify HTTP API directly, SSH, or generic shell access — the MCP tools return summarized, token-cheap responses and include _actions hints for the natural next step.
If the Coolify MCP server is not configured in the current session, tell the user how to install it (see "Setup" below) instead of guessing.
Coolify resources form a hierarchy: Server → Project → Environment → (Application | Database | Service). Most "smart lookup" tools accept either a UUID _or_ a human-friendly identifier (name, domain, IP), so you usually don't need to look up UUIDs first. Start broad (get_infrastructure_overview, find_issues) and narrow down with diagnose_app / diagnose_server before taking action.
The API splits "list" (cheap, summarized) from "get" (full detail). Always start with a list/overview call and only fetch full details for the specific resource you care about — this keeps responses small and fast.
get_infrastructure_overview (one call returns a summary of everything) or find_issues (scans for unhealthy resources). For a known target, jump straight to diagnose_app or diagnose_server.diagnose_app <name|domain|uuid> returns status, recent logs, env vars, and deployment history in one shot. Read it before restarting or redeploying — the cause is often visible there.control to start/stop/restart, deploy to trigger a build, application / database / service for CRUD, and env_vars for environment variables.deployment for status, then application_logs (or diagnose_app again) to confirm the resource came back healthy._actions that the user might want to do next.Tool names below are the MCP tool identifiers exposed by @masonator/coolify-mcp. Many are dispatchers that take an action argument (e.g. application with action: "create_github").
get_version — Coolify API version.get_mcp_version — Installed MCP server version.get_infrastructure_overview — One-shot summary of every resource. Start here when you don't know what's there.find_issues — Infra-wide scan for unhealthy resources. Use when the user says something vague like "what's broken".diagnose_app — Status + recent logs + env vars + deployment history for one app. Accepts UUID, name, or domain.diagnose_server — Health, resources, domains, validation for one server. Accepts UUID, name, or IP.list_servers, get_server, server_resources, server_domains, validate_server.
projects (list/get/create/update/delete), environments (list/get/create/delete).
list_applications, get_applicationapplication — dispatcher: create_public, create_github, create_key, create_dockerimage, update, deleteapplication_logs — fetch app stdout/stderrenv_vars — requires resource: "application" | "service". For application: list/create/update/delete. For service: list/create/delete (no update — service env update is not supported).control — start / stop / restartlist_databases, get_databasedatabase — create/delete. Supported type values: postgresql, mysql, mariadb, mongodb, redis, keydb, clickhouse, dragonfly.database_backups — schedule + execution trackingcontrol — start / stop / restartlist_services, get_service, service (create/update/delete), env_vars (with resource: "service" — list/create/delete only), control.
list_deployments — list deployments (summary)deploy — trigger a deploy by tag or UUIDdeployment — status, cancel, list-by-app, paginated logsprivate_keys — SSH key CRUDgithub_apps — GitHub integration CRUDteams — list / get / get_members / get_current / get_current_memberscloud_tokens — Hetzner / DigitalOcean credential CRUD + validatesearch_docs — full-text search across Coolify documentation. Use this before guessing about Coolify behavior.Coolify MCP responses include an _actions field suggesting the natural next operations and pagination metadata. When you finish a task, mention any _actions that look relevant so the user can decide whether to keep going. Reference resources by their human-readable name (and short UUID prefix in parentheses) rather than dumping full UUIDs — it's easier for the user to scan.
Keep responses focused on what changed, the current state, and any issues. Don't paste raw JSON unless the user asks for it.
diagnose_app with query: "my-api" → read status, last deployment, tail of logs, env vars.deployment (action get) with the failed deployment id and lines (optionally page) — logs are excluded by default unless lines is set.env_vars (resource: "application", action update) then deploy to redeploy.deployment with the new deployment id and lines to watch status/log output, then confirm with diagnose_app again.find_issues → returns unhealthy resources across all servers.diagnose_app or diagnose_server to get specifics.projects (action list) → find the staging project and record its project_uuid and associated server_uuid.environments (action list) → confirm the target environment name (for example, staging).database (action create, type postgresql, server_uuid: "<server_uuid>", project_uuid: "<project_uuid>", environment_name: "staging") → create the database in that project/environment.control (action start) if it doesn't auto-start, then get_database to return connection details to the user.Claude Code:
claude mcp add coolify \
-e COOLIFY_BASE_URL="https://your-coolify-instance.com" \
-e COOLIFY_ACCESS_TOKEN="your-api-token" \
-- npx @masonator/coolify-mcp@latestClaude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"coolify": {
"command": "npx",
"args": ["-y", "@masonator/coolify-mcp"],
"env": {
"COOLIFY_ACCESS_TOKEN": "your-api-token",
"COOLIFY_BASE_URL": "https://your-coolify-instance.com"
}
}
}
}COOLIFY_ACCESS_TOKEN is required; COOLIFY_BASE_URL defaults to http://localhost:3000.
Destructive actions — delete on applications/databases/services/projects/environments, control stop on production resources, deleting private keys or cloud tokens — should be confirmed with the user before execution. When in doubt, describe what you're about to do and wait for a go-ahead. For routine reads, diagnostics, restarts of obviously broken resources, and redeploys of the user's own app on request, just do the work.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.