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. Dates show when Glama detected each change.

  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.7/5.0
Disambiguation2/5

The tools have distinct names like 'applications', 'databases', and 'servers', which suggest different resources, but without descriptions, it's unclear if there's overlap in functionality (e.g., 'services' vs 'applications'). This ambiguity could lead to misselection by an agent, as the boundaries between tools are not defined.

Naming Consistency4/5

Most tool names follow a consistent kebab-case pattern (e.g., 'config-status', 'private-keys'), with 'ping' being a minor deviation as a single word. Overall, the naming is predictable and readable, though not perfectly uniform across all tools.

Tool Count5/5

With 10 tools, this server is well-scoped for a system management domain like Coolify, covering various aspects such as applications, databases, and deployments. Each tool appears to earn its place by targeting a specific resource or function, making the count appropriate.

Completeness2/5

Inferring from tool names, this server likely manages infrastructure resources, but without descriptions, it's impossible to assess if there are gaps in CRUD operations. For example, 'applications' might lack update or delete actions, leading to potential dead ends for agents trying to perform full lifecycle management.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    25
    6
    MIT
  • A
    license
    B
    quality
    C
    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
    32
    28
    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
    21
    3
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/FelixAllistar/coolify-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server