Skip to main content
Glama

DEPERECATED USE THE SKILL NOW: https://github.com/FelixAllistar/coolify-manager

Coolify MCP Server

A Model Context Protocol (MCP) server for managing Coolify deployments, providing both programmatic MCP tools and comprehensive CLI commands.

Quick Start

MCP (Model Control Protocol) lets you manage Coolify directly from your AI editor.

1. Add to your MCP configuration

For Cursor: Add to ~/.cursor/mcp.json or <project_folder>/.cursor/mcp.json:

{
  "mcpServers": {
    "coolify-mcp": {
      "command": "npx",
      "args": ["-y", "@felixallistar/coolify-mcp", "--server"],
      "env": {
        "COOLIFY_API_URL": "https://your-coolify-instance.com",
        "COOLIFY_API_TOKEN": "your-coolify-api-token"
      }
    }
  }
}

For VS Code: Add to <project_folder>/.vscode/mcp.json:

{
  "servers": {
    "coolify-mcp": {
      "command": "npx",
      "args": ["-y", "@felixallistar/coolify-mcp", "--server"],
      "env": {
        "COOLIFY_API_URL": "https://your-coolify-instance.com",
        "COOLIFY_API_TOKEN": "your-coolify-api-token"
      },
      "type": "stdio"
    }
  }
}

🔑 Replace your-coolify-instance.com with your actual Coolify URL and your-coolify-api-token with your API token from Coolify Settings > API.

2. (Cursor only) Enable Coolify MCP

Open Cursor Settings (Ctrl+Shift+J) ➡ Click on MCP tab ➡ Enable coolify-mcp with the toggle

3. Start managing Coolify

In your AI chat, try commands like:

List my Coolify applications
Create a new WordPress service called "my-blog" 
Deploy my app with ID "app-123"
Show me all available database types

Option 2: CLI Usage

Installation

# Install globally for CLI usage
npm install -g @felixallistar/coolify-mcp

# Test the installation
coolify-mcp --help

Configuration

Create a .env file in your project directory:

# Required: Your Coolify instance URL (include port if needed)
COOLIFY_API_URL=https://your-coolify-instance.com

# Required: Your Coolify API token (generate in Coolify Settings > API)
COOLIFY_API_TOKEN=your-coolify-api-token

Common Commands

# Application management
coolify-mcp apps list
coolify-mcp apps create-public --name "my-app" --repository "https://github.com/user/repo" --project "project-id"
coolify-mcp apps start app-id

# Service management (70+ one-click services)
coolify-mcp services types
coolify-mcp services create --name "my-blog" --type "wordpress-with-mysql" --project "project-id"

# Database management (8 database types)
coolify-mcp databases create-postgresql --name "main-db" --project "project-id"
coolify-mcp databases create-redis --name "cache" --project "project-id"

# Project management
coolify-mcp projects list
coolify-mcp projects create --name "My Project"

# Test connectivity
coolify-mcp system health

Related MCP server: Coolify MCP Server

Features

🔄 Applications (21 Operations)

Complete application lifecycle management with 6 deployment types, environment variables, logs, and control operations.

🔧 Services (14 Operations)

70+ one-click services including WordPress, Ghost, MinIO, and more with full environment management.

🗄️ Databases (13 Operations)

8 database types: PostgreSQL, MySQL, MariaDB, MongoDB, Redis, KeyDB, ClickHouse, Dragonfly.

📂 Projects, Servers, Deployments

Complete infrastructure management including private keys, system administration, and deployment monitoring.

MCP Tools vs CLI Commands

This package provides two interaction methods with complete feature parity:

  • 🤖 MCP Tools: For AI agents and Cursor integration (recommended)

  • 💻 CLI Commands: For direct terminal usage

Both interfaces provide identical functionality - choose based on your workflow.

Development

Automated API Updates

Stay in sync with Coolify's latest API:

npm run refresh           # Download latest API spec and rebuild
npm run check-updates     # Check for API changes

Manual Development

git clone https://github.com/FelixAllistar/coolify-mcp.git
cd coolify-mcp
npm install
npm run refresh
npm run dev

API Coverage

✅ 100% Coolify API Coverage - Applications, Services, Databases, Projects, Servers, Deployments, Private Keys, System Administration

License

GLWTPL (Good Luck With That Public License) - see LICENSE file for details.

This software might just work or not, there is no third option. Good luck and Godspeed.

MCP Configuration

{
  "mcpServers": {
    "coolify-mcp": {
      "command": "npx",
      "args": ["-y", "@felixallistar/coolify-mcp", "--server"],
      "env": {
        "COOLIFY_API_URL": "https://your-coolify-instance.com",
        "COOLIFY_API_TOKEN": "your-coolify-api-token"
      }
    }
  }
}

Option 2: Direct node execution

{
  "mcpServers": {
    "coolify-mcp": {
      "command": "node",
      "args": ["node_modules/@felixallistar/coolify-mcp/dist/index.js", "--server"],
      "env": {
        "COOLIFY_API_URL": "https://your-coolify-instance.com",
        "COOLIFY_API_TOKEN": "your-coolify-api-token"
      }
    }
  }
}

Option 3: Global installation

npm install -g @felixallistar/coolify-mcp

Then use the MCP server binary:

{
  "mcpServers": {
    "coolify-mcp": {
      "command": "coolify-mcp",
      "env": {
        "COOLIFY_API_URL": "https://your-coolify-instance.com",
        "COOLIFY_API_TOKEN": "your-coolify-api-token"
      }
    }
  }
}

CLI Usage

For CLI commands, simply add arguments to the coolify-mcp command:

# Using npx (no installation needed)
npx @felixallistar/coolify-mcp --help
npx @felixallistar/coolify-mcp apps list

# Or install globally for easier CLI usage
npm install -g @felixallistar/coolify-mcp
coolify-mcp --help
coolify-mcp apps list

Available Tools

10 tools
applicationsD
ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation to perform
idNoApplication UUID
env_idNoEnvironment variable ID
bodyNoJSON request body

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

config-statusD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

databasesD
ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation to perform
idNoDatabase UUID
bodyNoJSON request body

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deploymentsD
ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation to perform
idNoDeployment UUID
applicationUuidNoApplication UUID (for list_by_app operation)
queryNoJSON query parameters for deploy operation

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pingD
ParametersJSON Schema
NameRequiredDescriptionDefault
random_stringNoDummy parameter for no-parameter tools

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

private-keysD
ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation to perform
idNoPrivate Key UUID
bodyNoJSON request body

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

projectsD
ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation to perform
idNoProject UUID
environmentNameOrUuidNoEnvironment name or UUID (for environment operation)
bodyNoJSON request body

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

serversD
ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation to perform
idNoServer UUID
bodyNoJSON request body

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

servicesD
ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation to perform
idNoService UUID
env_idNoEnvironment variable UUID
bodyNoJSON request body

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

systemD
ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesOperation to perform

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updates
    • First observedapplications
    • First observedconfig-status
    • First observeddatabases
    • First observeddeployments
    • First observedping
    • First observedprivate-keys
    • First observedprojects
    • First observedservers
    • First observedservices
    • First observedsystem

TDQS

D1.5/5.0

Scored across 10 tools

Disambiguation2/5

The tool names identify broad resource areas, but several overlap conceptually, such as services vs. applications and system vs. config-status. With no descriptions, agents have little basis to determine which tool is appropriate for a given task.

Naming Consistency3/5

Most tool names follow a simple lowercase-hyphenated plural noun pattern, but there is no consistent verb-noun structure and there are outliers like ping, system, and config-status. The naming is readable but not a strong unified convention.

Tool Count4/5

Ten tools is a reasonable count for a server focused on managing infrastructure resources. However, the lack of descriptions makes it difficult to confirm that each tool earns its place in the set.

Completeness2/5

The surface appears to be read-oriented resource access rather than full lifecycle coverage, with no obvious create, update, or delete operations. Tools like private-keys and config-status hint at configuration management, but the set likely leaves agents unable to perform common management workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    F
    maintenance
    Enables interaction with Coolify applications and resources through the Coolify API via a standardized interface, supporting application management operations such as listing, starting, stopping, restarting, and deploying.
    11
    13
    -
  • A
    license
    B
    quality
    F
    maintenance
    Enables AI assistants to interact with Coolify for complete infrastructure management including applications, databases, servers, deployments, and team operations. Provides 100% API coverage with 64 tools for managing the entire Coolify ecosystem through natural language.
    18
    7 npm
    6
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Enables control and management of Coolify self-hosted PaaS instances, allowing you to deploy applications, manage databases, monitor servers, and execute operations directly from AI assistants.
    89
    8 npm
    29
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables management of Coolify instances to control applications, databases, and servers through the Model Context Protocol. It provides a comprehensive set of tools for deploying services and monitoring self-hosted infrastructure using natural language.
    18
    8 npm
    3
    MIT