v2.14.0
What's Changed
Documentation
- README refresh — one-click MCPB install badge + registry badge, new "Secure by Default" section documenting the full masking posture across
env_vars/list_resources/deployment get, corrected prerequisites (Node >= 20, Coolify tested through v4.1.2), and Available Tools now coverssystem,storages,scheduled_tasks,hetzner,deploy wait, andcustom_network_aliases.
Added
custom_network_aliasesonapplicationupdate (#254) — gives an app container a stable DNS name for app-to-app traffic on a shared network. App containers get<uuid>-<deploy-suffix>container names that change every deploy (only databases get a uuid hostname), so this field is the only way to wire e.g.ASR_URL=http://edator-asr:9000between apps. Added toUpdateApplicationRequestand theapplicationtool schema (update only — Coolify's create endpoints don't accept it).- MCPB bundle for one-click Claude Desktop install — every release now attaches
coolify-mcp.mcpbto the GitHub release; drag it into Claude Desktop Settings → Extensions and enter your Coolify URL + token. Built frommanifest.jsonvia@anthropic-ai/mcpbin the publish workflow. No Node install or JSON config editing needed. - Automated MCP Registry publishing — the publish workflow now pushes
server.jsonto registry.modelcontextprotocol.io viamcp-publisher(GitHub OIDC) on every release, so the registry listing can no longer go stale.
Fixed
server.jsondrift — the registry manifest was stuck at 2.7.3 / "38 tools" while npm was on 2.13.0 / 42 tools. Now synced, andnpm versionrunsscripts/sync-manifests.mjsto bumpserver.json+manifest.jsonin the same commit;src/__tests__/manifests.test.tsfails CI if they ever diverge frompackage.jsonagain.
Security
list_resources include_fullmasks database passwords, connection URLs, compose bodies, and nested env vars (#209) — a source audit of Coolify v4.1.2 found that noStandalone*model defines$hiddenand Laravel serializesencryptedcasts as decrypted plaintext, so every database row on/api/v1/resourcescarried its password in the clear.SENSITIVE_RESOURCE_FIELDSnow additionally masks: the nine database password columns (postgres_password,mysql_password,mysql_root_password,mariadb_password,mariadb_root_password,mongo_initdb_root_password,redis_password,keydb_password,dragonfly_password,clickhouse_admin_password), theinternal_db_url/external_db_urlappends that embed the password in a connection URL on all eight database types (the only place Redis's password surfaces — its column was moved to env vars in 2024), compose bodies (docker_compose_raw,docker_compose,docker_compose_pr_raw,docker_compose_pr) since Coolify resolvesSERVICE_PASSWORD_*placeholders into them, andcustom_labels(Traefik basic-auth htpasswd hashes). A defensive walker also masksvalue/real_valueon any nestedenvironment_variables[]collection — absent at v4.1.2 but a leak vector on versions that inline it.reveal: truestill round-trips plaintext. Mirrors the #204 / #206 posture.
🖱️ One-click Claude Desktop install: download coolify-mcp.mcpb below and drag it into Settings → Extensions.