AgentStack
MCP unreviewed MIT Self-run

Coolify Mcp

mcp-stumason-coolify-mcp · by StuMason

38 optimized tools for managing Coolify infrastructure, diagnostics, and docs search

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add mcp-stumason-coolify-mcp

Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.

Are you the author of Coolify Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.

About

Coolify MCP Server

[](https://www.npmjs.com/package/@masonator/coolify-mcp) [](https://www.npmjs.com/package/@masonator/coolify-mcp) [](https://opensource.org/licenses/MIT) [](https://nodejs.org) [](https://www.typescriptlang.org/) [](https://github.com/StuMason/coolify-mcp/actions/workflows/ci.yml) [](https://codecov.io/gh/StuMason/coolify-mcp) [](https://mseep.ai/app/stumason-coolify-mcp)

> The most comprehensive MCP server for Coolify - 42 optimized tools, smart diagnostics, documentation search, and batch operations for managing your self-hosted PaaS through AI assistants.

📖 Docs: coolify-mcp.stumason.dev — install guide, quickstart, full tools reference, MCP primer, Coolify API gotchas, contributing guide, and the public v3 roadmap.

A Model Context Protocol (MCP) server for Coolify, enabling AI assistants to manage and debug your Coolify instances through natural language.

Features

This MCP server provides 42 token-optimized tools for debugging, management, and deployment:

| Category | Tools | | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | | Infrastructure | get_infrastructure_overview, get_mcp_version, get_version, system (health, listresources, enable/disable API) | | Diagnostics | diagnose_app, diagnose_server, find_issues | | Batch Operations | restart_project_apps, bulk_env_update, stop_all_apps, redeploy_project | | Servers | list_servers, get_server, validate_server, server_resources, server_domains | | Projects | projects (list, get, create, update, delete via action param) | | Environments | environments (list, get, create, delete via action param) | | Applications | list_applications, get_application, application (CRUD + deletepreview), application_logs | | Databases | list_databases, get_database, database (create 8 types, delete), database_backups (CRUD schedules, executions incl. delete) | | Services | list_services, get_service, service (create, update, delete) | | Control | control (start/stop/restart for apps, databases, services) | | Env Vars | env_vars (CRUD + bulkupdate for application, service, and database env vars) | | Storages | storages (list, create, update, delete persistent/file storages for apps, databases, services) | | Scheduled Tasks | scheduled_tasks (list, create, update, delete, listexecutions for apps and services) | | Deployments | list_deployments, deploy, deployment (get, cancel, listforapp) | | Private Keys | private_keys (list, get, create, update, delete via action param) | | GitHub Apps | github_apps (list, get, create, update, delete, listrepos, listbranches) | | Teams | teams (list, get, getmembers, getcurrent, getcurrentmembers) | | Cloud Tokens | cloud_tokens (Hetzner/DigitalOcean: list, get, create, update, delete, validate) | | Hetzner Cloud | hetzner (listlocations, listservertypes, listimages, listsshkeys, create_server) | | Documentation | search_docs (full-text search across Coolify docs) |

Token-Optimized Design

The server uses 85% fewer tokens than a naive implementation (6,600 vs 43,000) by consolidating related operations into single tools with action parameters. This prevents context window exhaustion in AI assistants.

Installation

Prerequisites

  • Node.js >= 18
  • A running Coolify instance (tested with v4.0.0-beta.460)
  • Coolify API access token (generate in Coolify Settings > API)

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "coolify": {
      "command": "npx",
      "args": ["-y", "@masonator/coolify-mcp"],
      "env": {
        "COOLIFY_ACCESS_TOKEN": "your-api-token",
        "COOLIFY_BASE_URL": "https://your-coolify-instance.com"
      }
    }
  }
}

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@latest

> Note: Use @latest tag (not -y flag) for reliable startup in Claude Code CLI.

Cursor

env COOLIFY_ACCESS_TOKEN=your-api-token COOLIFY_BASE_URL=https://your-coolify-instance.com npx -y @masonator/coolify-mcp

Custom HTTP Headers (Cloudflare Zero Trust, Auth Proxies)

If your Coolify instance sits behind a Cloudflare Access tunnel or other auth-proxy middleware, pass extra headers on every outbound request with --header:

{
  "mcpServers": {
    "coolify": {
      "command": "npx",
      "args": [
        "-y",
        "@masonator/coolify-mcp",
        "--header",
        "CF-Access-Client-Id: abc123.access",
        "--header",
        "CF-Access-Client-Secret: your-secret"
      ],
      "env": {
        "COOLIFY_ACCESS_TOKEN": "your-api-token",
        "COOLIFY_BASE_URL": "https://your-coolify-instance.com"
      }
    }
  }
}

Multiple --header flags can be combined. The reserved headers Authorization and Content-Type are filtered (with a warning) to prevent silently overriding the Coolify bearer token.

Context-Optimized Responses

Why This Matters

The Coolify API returns extremely verbose responses - a single application can contain 91 fields including embedded 3KB server objects and 47KB docker-compose files. When listing 20+ applications, responses can exceed 200KB, which quickly exhausts the context window of AI assistants like Claude Desktop.

This MCP server solves this by returning optimized summaries by default.

How It Works

| Tool Type | Returns | Use Case | | ----------------------------- | ---------------------------------------- | ----------------------------------- | | list_* | Summaries only (uuid, name, status, etc) | Discovery, finding resources | | get_* | Full details for a single resource | Deep inspection, debugging | | get_infrastructure_overview | All resources summarized in one call | Start here to understand your setup |

Response Size Comparison

| Endpoint | Full Response | Summary Response | Reduction | | ----------------------- | ------------- | ---------------- | --------- | | listapplications | ~170KB | ~4.4KB | 97% | | listservices | ~367KB | ~1.2KB | 99% | | listservers | ~4KB | ~0.4KB | 90% | | listapplicationenvs | ~3KB/var | ~0.1KB/var | 97% | | deployment get | ~13KB | ~1KB | 92% | | deployment listfor_app | ~1MB | ~4KB | 99.6% |

HATEOAS-style Response Actions

Responses include contextual _actions suggesting relevant next steps:

{
  "data": { "uuid": "abc123", "status": "running" },
  "_actions": [
    { "tool": "application_logs", "args": { "uuid": "abc123" }, "hint": "View logs" },
    {
      "tool": "control",
      "args": { "resource": "application", "action": "restart", "uuid": "abc123" },
      "hint": "Restart"
    }
  ],
  "_pagination": { "next": { "tool": "list_applications", "args": { "page": 2 } } }
}

This helps AI assistants understand logical next steps without consuming extra tokens.

Recommended Workflow

  1. Start with overview: get_infrastructure_overview - see everything at once
  2. Find your target: list_applications - get UUIDs of what you need
  3. Dive deep: get_application(uuid) - full details for one resource
  4. Take action: control(resource: 'application', action: 'restart'), application_logs(uuid), etc.

Pagination

All list endpoints still support optional pagination for very large deployments:

# Get page 2 with 10 items per page
list_applications(page=2, per_page=10)

Example Prompts

Getting Started

Give me an overview of my infrastructure
Show me all my applications
What's running on my servers?

Debugging & Monitoring

Diagnose my stuartmason.co.uk app
What's wrong with my-api application?
Check the status of server 192.168.1.100
Find any issues in my infrastructure
Get the logs for application {uuid}
What environment variables are set for application {uuid}?
Show me recent deployments for application {uuid}
What resources are running on server {uuid}?

Application Management

Restart application {uuid}
Stop the database {uuid}
Start service {uuid}
Deploy application {uuid} with force rebuild
Update the DATABASE_URL env var for application {uuid}

Project Setup

Create a new project called "my-app"
Create a staging environment in project {uuid}
Deploy my app from private GitHub repo org/repo on branch main
Deploy nginx:latest from Docker Hub
Deploy from public repo https://github.com/org/repo

Documentation & Help

How do I set up Docker Compose with Coolify?
Search the docs for health check configuration
How do I fix a 502 Bad Gateway error?
What are Coolify environment variables?

Teams & Cloud Providers

Who has access to my Coolify instance?
Show me the current team members
List my cloud provider tokens
Validate my Hetzner API token

Environment Variables

| Variable | Required | Default | Description | | ---------------------- | -------- | ----------------------- | ------------------------- | | COOLIFY_ACCESS_TOKEN | Yes | - | Your Coolify API token | | COOLIFY_BASE_URL | No | http://localhost:3000 | Your Coolify instance URL |

Development

# Clone and install
git clone https://github.com/stumason/coolify-mcp.git
cd coolify-mcp
npm install

# Build
npm run build

# Test
npm test

# Run locally
COOLIFY_BASE_URL="https://your-coolify.com" \
COOLIFY_ACCESS_TOKEN="your-token" \
node dist/index.js

Available Tools

Infrastructure

  • get_version - Get Coolify API version
  • get_mcp_version - Get coolify-mcp server version (useful to verify which version is installed)
  • get_infrastructure_overview - Get a high-level overview of all infrastructure (servers, projects, applications, databases, services)

Diagnostics (Smart Lookup)

These tools accept human-friendly identifiers instead of just UUIDs:

  • diagnose_app - Get comprehensive app diagnostics (status, logs, env vars, deployments). Accepts UUID, name, or domain (e.g., "stuartmason.co.uk" or "my-app")
  • diagnose_server - Get server diagnostics (status, resources, domains, validation). Accepts UUID, name, or IP address (e.g., "coolify-apps" or "192.168.1.100")
  • find_issues - Scan entire infrastructure for unhealthy apps, databases, services, and unreachable servers

Servers

  • list_servers - List all servers (returns summary)
  • get_server - Get server details
  • server_resources - Get resources running on a server
  • server_domains - Get domains configured on a server
  • validate_server - Validate server connection

Projects

  • projects - Manage projects with action: list|get|create|update|delete

Environments

  • environments - Manage environments with action: list|get|create|delete

Applications

  • list_applications - List all applications (returns summary)
  • get_application - Get application details
  • application_logs - Get application logs
  • application - Create, update, or delete apps with action: create_public|create_github|create_key|create_dockerimage|update|delete
  • Deploy from public repos, private GitHub, SSH keys, or Docker images
  • Configure health checks (path, interval, retries, etc.)
  • env_vars - Manage env vars with resource: application, action: list|create|update|delete
  • control - Start/stop/restart with resource: application, action: start|stop|restart

Databases

  • list_databases - List all databases (returns summary)
  • get_database - Get database details
  • database - Create or delete databases with action: create|delete, type: postgresql|mysql|mariadb|mongodb|redis|keydb|clickhouse|dragonfly
  • database_backups - Manage backup schedules with action: list_schedules|get_schedule|create|update|delete|list_executions|get_execution
  • Configure frequency, retention policies, S3 storage
  • Enable/disable schedules without deletion
  • View backup execution history
  • control - Start/stop/restart with resource: database, action: start|stop|restart

Services

  • list_services - List all services (returns summary)
  • get_service - Get service details
  • service - Create, update, or delete services with action: create|update|delete
  • env_vars - Manage env vars with resource: service, action: list|create|delete
  • control - Start/stop/restart with resource: service, action: start|stop|restart

Deployments

  • list_deployments - List running deployments (returns summary)
  • deploy - Deploy by tag or UUID
  • deployment - Manage deployments with action: get|cancel|list_for_app (supports lines and page params for paginated log output with logs_meta)

Private Keys

  • private_keys - Manage SSH keys with action: list|get|create|update|delete

GitHub Apps

  • github_apps - Manage GitHub App integrations with action: list|get|create|update|delete

Teams

  • teams - Manage teams with action: list|get|get_members|get_current|get_current_members

Cloud Tokens

  • cloud_tokens - Manage cloud provider tokens (Hetzner/DigitalOcean) with action: list|get|create|update|delete|validate

Documentation

  • search_docs - Search Coolify documentation using full-text search. Indexes 1,500+ doc chunks on first call, returns ranked results with titles, URLs, and snippets (~849 tokens for 5 results)

Batch Operations

Power user tools for operating on multiple resources at once:

  • restart_project_apps - Restart all applications in a project
  • bulk_env_update - Update or create an environment variable across multiple applications (upsert behavior)
  • stop_all_apps - Emergency stop all running applications (requires confirmation)
  • redeploy_project - Redeploy all applications in a project with force rebuild

Why Coolify MCP?

  • Context-Optimized: Responses are 90-99% smaller than raw API, preventing context window exhaustio

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v2.7.2 Imported from the upstream source.