Skip to main content
Glama

coolify-mcp

npm version npm downloads license node version typescript CI Glama score

MCP server for Coolify API - enables full deployment workflows from zero to production.

coolify-mcp demo

Targets the Coolify v4.3.10 API. Types and schemas are generated directly from Coolify's official OpenAPI spec, so tool inputs always match what the API actually accepts.

Features

  • Full Deployment Workflow: Create projects, environments, servers, and applications from scratch

  • 5 Application Types: one createApplication tool covers public git, GitHub App, Deploy Key, Dockerfile, and Docker Image sources — plus Docker Compose deployments via createService (since Coolify v4.1, compose deployments are services)

  • Environment Management: Full CRUD for environment variables with secret masking

  • Deployment Control: Deploy (optionally waiting for the terminal status, with a log tail on failure), start, stop, restart applications

  • Diagnostics: diagnoseApp finds an app by UUID, name, or domain and aggregates status, recent deployments, failure log tails, runtime logs, and suggested next actions

  • Docs Search: searchDocs runs full-text search across the official Coolify documentation from a bundled local index — no network needed

  • Security: Write protection, secret redaction, and MCP annotations (readOnlyHint/destructiveHint) so clients can auto-approve reads and gate destructive calls

  • Near-full API coverage: databases (8 engines, backups, envs), services, storages, scheduled tasks, teams, previews, servers, SSH keys, and GitHub Apps

  • Token-efficient: 65 tools whose definitions cost ~9k tokens of context, with strict runtime validation against schemas generated from Coolify's OpenAPI spec

Related MCP server: coolify-mcp

Requirements

  • Node 18+

  • A Coolify API token (Settings > API in your Coolify dashboard)

Install

Claude Desktop, one-click: download coolify-mcp.mcpb from the latest release and drag it into Settings → Extensions. You'll be prompted for your Coolify URL and token — no Node install, no JSON editing.

Via npm:

npm install -g @fndchagas/coolify-mcp
# or
npx -y @fndchagas/coolify-mcp

Quick Start

Claude Code CLI

claude mcp add coolify \
  --env COOLIFY_BASE_URL="https://coolify.example.com/api/v1" \
  --env COOLIFY_TOKEN="<token>" \
  -- npx -y @fndchagas/coolify-mcp

OpenAI Codex CLI

codex mcp add coolify \
  --env COOLIFY_BASE_URL="https://coolify.example.com/api/v1" \
  --env COOLIFY_TOKEN="<token>" \
  -- npx -y @fndchagas/coolify-mcp

Or edit ~/.codex/config.toml:

[mcp_servers.coolify]
command = "npx"
args = ["-y", "@fndchagas/coolify-mcp"]
env = { COOLIFY_BASE_URL = "https://coolify.example.com/api/v1", COOLIFY_TOKEN = "<token>" }

Manual Configuration (~/.mcp.json)

{
  "mcpServers": {
    "coolify": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@fndchagas/coolify-mcp"],
      "env": {
        "COOLIFY_BASE_URL": "https://coolify.example.com/api/v1",
        "COOLIFY_TOKEN": "<token>",
        "COOLIFY_ALLOW_WRITE": "true"
      }
    }
  }
}

Environment Variables

Variable

Default

Description

COOLIFY_BASE_URL

required

Coolify API URL (e.g., https://coolify.example.com/api/v1)

COOLIFY_TOKEN

required

API token from Coolify Settings > API

COOLIFY_ALLOW_WRITE

true

Enable write operations (create, update, delete, deploy)

COOLIFY_STRICT_VERSION

false

Fail on API version mismatch

COOLIFY_MCP_ELICITATION

on

Set to off to skip human confirmation on destructive deletes (escape hatch for clients that advertise elicitation but do not implement it)

MCP_TRANSPORT

stdio

Transport: stdio, http, both

PORT

7331

HTTP port (when using http transport)

MCP_HTTP_TOKEN

unset

Bearer token required on /mcp requests (HTTP transport). Setting it also switches the default bind to 0.0.0.0

MCP_HTTP_HOST

127.0.0.1 (0.0.0.0 with token)

Interface the HTTP transport binds to. Binding beyond loopback without a token logs a loud warning

Deploy from Zero

With this MCP, you can deploy an application from scratch:

1. listProjects / createProject       → Get or create a project
2. listEnvironments / createEnvironment → Get or create an environment
3. listServers / createServer         → Get or create a server
4. listPrivateKeys / createPrivateKey → Get or create SSH keys (if needed)
5. createApplication (type: public)   → Create the application
6. applicationEnvs (action: upsert)   → Configure environment variables
7. deploy                             → Trigger deployment

Tools Reference

Projects & Environments

Tool

Description

Write

listProjects

List all projects

createProject

Create a new project

✓

updateProject

Update project name/description

✓

deleteProject

Delete a project and all its resources

✓

listEnvironments

List environments in a project

createEnvironment

Create a new environment

✓

Servers & Infrastructure

Tool

Description

Write

listServers

List all servers

getServer

Get server details

createServer

Create a new server

✓

validateServer

Validate server connection

listPrivateKeys

List SSH private keys

createPrivateKey

Create a new SSH key

✓

listGithubApps

List configured GitHub Apps

Applications - Read

Tool

Description

listApplications

List all applications (summarized by default)

getApplication

Get application details (secrets masked by default)

getLogs

Get application runtime logs

Applications - Create

Tool

Description

Write

createApplication

Create an application; type selects the source: public, private-github-app, private-deploy-key, dockerfile, or dockerimage. Long-tail fields go in extra and are validated per type.

✓

Docker Compose deployments are created with createService passing docker_compose_raw — since Coolify v4.1 they are services, not applications.

Applications - Manage

Tool

Description

Write

updateApplication

Update application configuration

✓

deleteApplication

Delete an application

✓

startApplication

Start an application

✓

stopApplication

Stop an application

✓

restartApplication

Restart an application

✓

Environment Variables

Tool

Description

Write

applicationEnvs

Manage application env vars: list (masked by default), create, update, upsert by key, bulk_update, delete

✓

Database and service env vars have their own tools: databaseEnvs and serviceEnvs.

Deployments

Tool

Description

Write

deploy

Trigger a deployment; wait: true polls to the terminal status and returns a log tail on failure

✓

diagnoseApp

Diagnose an app by UUID, name, or domain: status, recent deployments, failure log tail, runtime logs, hints

diagnoseServer

Diagnose a server by UUID, name, or IP: resource status breakdown, domains, hints

listDeployments

List running deployments

getDeployment

Get deployment status and logs

listAppDeployments

List deployments for an application

cancelDeployment

Cancel a running deployment

✓

Databases

Tool

Description

Write

listDatabases

List all databases

getDatabase

Get database details

createDatabase

Create a database; type selects the engine: postgresql, mysql, mariadb, mongodb, redis, keydb, dragonfly, clickhouse

✓

updateDatabase

Update database configuration

✓

deleteDatabase

Delete a database (volumes/configs deleted by default)

✓

controlDatabase

Start, stop, or restart a database

✓

databaseBackups

Manage backup schedules and executions (list/create/update/delete/list_executions/delete_execution)

✓

databaseEnvs

Manage database env vars (list/create/update/bulk_update/delete)

✓

Services

Tool

Description

Write

listServices

List services

getService

Get service details (secrets masked by default)

createService

Create a one-click service or Docker Compose deployment

✓

updateService

Update a service

✓

deleteService

Delete a service

✓

controlService

Start, stop, or restart a service

✓

serviceEnvs

Manage service env vars (list/create/update/bulk_update/delete)

✓

Storages, Scheduled Tasks & Previews

Tool

Description

Write

storages

Manage persistent volumes and file mounts for applications, databases, and services

✓

scheduledTasks

Manage cron tasks for applications and services, including execution history

✓

deletePreview

Delete a preview deployment by pull request id

✓

Teams, Servers & Git

Tool

Description

Write

teams

List teams, get current team, and list members

updateServer

Update server configuration

✓

deleteServer

Delete a server

✓

getServerResources

List resources running on a server

getServerDomains

List domains configured on a server

getPrivateKey

Get SSH key metadata (key material masked by default)

updatePrivateKey

Update an SSH private key

✓

deletePrivateKey

Delete an SSH private key

✓

getGithubAppRepositories

List repositories accessible to a GitHub App

getGithubAppBranches

List branches of a repository

Batch Operations

Tool

Description

Write

getInfrastructureOverview

One-call summary of servers, projects, applications (status breakdown), databases, services, and running deployments

restartProjectApps

Restart every application in a project or environment (asks for confirmation)

✓

redeployProject

Trigger a deployment for every application in a project or environment (asks for confirmation)

✓

stopAllApplications

Emergency stop of all running applications, optionally per project (asks for confirmation, stating the blast radius)

✓

Other

Tool

Description

listResources

List all resources with filtering

searchDocs

Full-text search across the official Coolify docs (bundled index, no network)

getHealth

Check that the Coolify API is up

Security Features

Write Protection

Disable all write operations:

COOLIFY_ALLOW_WRITE=false

Secret Masking

  • Environment variable values are masked by default

  • Database credentials are redacted

  • Use showSecrets: true only when necessary

HTTP Transport Hardening

The HTTP transport binds to 127.0.0.1 by default. To expose it beyond loopback, set MCP_HTTP_TOKEN — every request to /mcp must then carry Authorization: Bearer <token> (checked in constant time) — and the bind switches to 0.0.0.0 (override with MCP_HTTP_HOST). Binding to a non-loopback host without a token logs a loud warning: anyone who can reach the port controls your Coolify instance.

Human Confirmation on Destructive Deletes

On MCP clients that support elicitation (Claude Code, VS Code Copilot), deleting a project, application, database, service, server, or private key asks you to confirm first, stating what will be lost. Clients without elicitation behave exactly as before. A decline, cancel, or timeout aborts the call; set COOLIFY_MCP_ELICITATION=off to disable the prompts entirely.

Development

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

Scripts

npm run dev            # Run in development mode
npm run build          # Build TypeScript
npm run generate       # Fetch the pinned OpenAPI spec and regenerate types

Pinned Coolify Version

Version is defined in src/coolify/constants.ts. To update:

  1. Edit COOLIFY_VERSION in src/coolify/constants.ts

  2. Run npm run generate

Registry Listings

MCP Client Examples

HTTP Client

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';

const client = new Client({ name: 'coolify-client', version: '1.0.0' });
const transport = new StreamableHTTPClientTransport(
  new URL('http://localhost:7331/mcp')
);

await client.connect(transport);

// List all applications
const apps = await client.callTool({
  name: 'listApplications',
  arguments: {},
});
console.log(apps.structuredContent);

// Deploy an application
const deploy = await client.callTool({
  name: 'deploy',
  arguments: { uuid: 'your-app-uuid' },
});
console.log(deploy.structuredContent);

await client.close();

Stdio Client

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';

const client = new Client({ name: 'coolify-client', version: '1.0.0' });
const transport = new StdioClientTransport({
  command: 'npx',
  args: ['-y', '@fndchagas/coolify-mcp'],
  env: {
    COOLIFY_BASE_URL: 'https://coolify.example.com/api/v1',
    COOLIFY_TOKEN: '<token>',
  },
});

await client.connect(transport);

const result = await client.callTool({
  name: 'getApplication',
  arguments: { uuid: 'your-app-uuid' },
});
console.log(result.structuredContent);

await client.close();

License

MIT

Available Tools

65 tools
applicationEnvsManage application env varsA

Manage environment variables for an application. Actions: list (secrets masked unless showSecrets), create, update, upsert (create or update by key), bulk_update (pass envs array), delete (needs env_uuid).

Inputs: uuid (required), action (required), key, envs, +6 more.

cancelDeploymentCancel deploymentB
Destructive

Cancel a running deployment by UUID.

Inputs: uuid (required).

controlDatabaseStart/stop/restart databaseA
Destructive

Start, stop, or restart a database by UUID.

Inputs: uuid (required), action (required).

controlServiceStart/stop/restart serviceA
Destructive

Start, stop, or restart a service by UUID.

Inputs: uuid (required), action (required).

createApplicationCreate applicationA

Create a new application. type selects the source: 'public' (public git repo), 'private-github-app' (private repo via GitHub App, needs github_app_uuid), 'private-deploy-key' (private repo via SSH deploy key, needs private_key_uuid), 'dockerfile' (raw Dockerfile content in dockerfile), 'dockerimage' (prebuilt image, needs docker_registry_image_name and ports_exposes). Git-based types also need git_repository, git_branch, and build_pack. All types need project_uuid, server_uuid, and environment_name or environment_uuid (one is enough). Any other Coolify application field (install/build/start commands, base_directory, health checks, resource limits, ...) can be passed in extra; fields not valid for the chosen type are ignored.

Inputs: type (required), server_uuid (required), project_uuid (required), name, +15 more.

createDatabaseCreate databaseA

Create a database. type selects the engine: postgresql, mysql, mariadb, mongodb, redis, keydb, dragonfly, or clickhouse. Requires project_uuid, server_uuid, and environment_name or environment_uuid (one is enough). Engine-specific fields (versions, credentials, memory limits, ...) can be passed in extra and are validated per engine.

Inputs: type (required), server_uuid (required), project_uuid (required), name, +8 more.

createEnvironmentCreate environmentA

Create a new environment in a project. Requires the project UUID.

Inputs: uuid (required), name.

createPrivateKeyCreate private keyA

Create a new SSH private key. The private_key field should contain the full PEM-encoded key.

Inputs: private_key (required), name, description.

createProjectCreate projectB

Create a new Coolify project. Returns the project UUID.

Inputs: name, description.

createServerCreate serverA

Create a new server. Requires a private key UUID for SSH access.

Inputs: ip, name, port, user, +5 more.

createServiceCreate serviceB

Create a one-click service (database, cache, etc.) or a Docker Compose deployment (pass docker_compose_raw with the YAML content). Requires project_uuid, server_uuid, and environment_name (or environment_uuid). Since Coolify v4.1, Docker Compose deployments are services, not applications.

Inputs: server_uuid (required), project_uuid (required), name, tags, +10 more.

databaseBackupsManage database backupsB

Manage scheduled backups for a database. Actions: list, create, update, delete (backup schedules), list_executions, delete_execution. create/update take frequency (cron expression) plus optional fields (enabled, save_s3, s3_storage_uuid, databases_to_backup, dump_all, retention settings via extra).

Inputs: uuid (required), action (required), extra, enabled, +7 more.

databaseEnvsManage database env varsB

Manage environment variables for a database. Actions: list (secrets masked unless showSecrets), create, update, bulk_update (pass envs array), delete (needs env_uuid).

Inputs: uuid (required), action (required), key, envs, +5 more.

deleteApplicationDelete applicationA
Destructive

Delete an application by UUID. Optionally delete volumes, configurations, and connected networks.

Inputs: uuid (required), delete_volumes, docker_cleanup, delete_configurations, +1 more.

deleteDatabaseDelete databaseA
Destructive

Delete a database by UUID. By default Coolify also deletes configurations, volumes, and connected networks and runs docker cleanup; pass the flags as false to keep them.

Inputs: uuid (required), delete_volumes, docker_cleanup, delete_configurations, +1 more.

deletePreviewDelete preview deploymentA
Destructive

Delete a preview deployment of an application by pull request id.

Inputs: uuid (required), pull_request_id (required).

deletePrivateKeyDelete private keyA
Destructive

Delete an SSH private key by UUID. Not recoverable from Coolify once gone.

Inputs: uuid (required).

deleteProjectDelete projectA
Destructive

Delete a project by UUID. This will delete all environments and resources in the project.

Inputs: uuid (required).

deleteServerDelete serverA
Destructive

Delete a server by UUID.

Inputs: uuid (required).

deleteServiceDelete serviceA
Destructive

Delete a service by UUID. By default Coolify also deletes configurations, volumes, and connected networks and runs docker cleanup; pass the flags as false to keep them.

Inputs: uuid (required), delete_volumes, docker_cleanup, delete_configurations, +1 more.

deployTrigger deployA

Trigger a deployment for an application by UUID or tag. With wait=true, polls until every triggered deployment reaches a terminal status (finished/failed/cancelled) and returns a log tail for failures — raise your MCP client's tool timeout when waiting on long builds.

Inputs: pr, tag, uuid, wait, +4 more.

diagnoseAppDiagnose applicationA
Read-only

Diagnose an application by UUID, name, or domain. Aggregates current status, the latest deployments, a log tail from the most recent failed deployment, recent runtime logs, and suggested next actions in one call.

Inputs: identifier (required), log_lines.

diagnoseServerDiagnose serverA
Read-only

Diagnose a server by UUID, name, or IP: lists the resources running on it with a status breakdown, configured domains, and suggested next actions.

Inputs: identifier (required).

getApplicationGet applicationA
Read-only

Get application details by UUID (optional field selection).

Inputs: uuid (required), fields, showSecrets.

getDatabaseGet databaseB
Read-only

Get database details by UUID.

Inputs: uuid (required), showSecrets.

getDeploymentGet deploymentA
Read-only

Get deployment status and logs by UUID.

Inputs: uuid (required).

getGithubAppBranchesList repository branchesA
Read-only

List branches of a repository accessible to a GitHub App.

Inputs: repo (required), owner (required), github_app_id (required).

getGithubAppRepositoriesList GitHub App repositoriesA
Read-only

List repositories accessible to a GitHub App.

Inputs: github_app_id (required).

getHealthCoolify health checkA
Read-only

Check that the Coolify API is up (GET /health).

Inputs: no named parameters.

getInfrastructureOverviewInfrastructure overviewA
Read-only

One-call summary of the whole Coolify estate: servers, projects, applications (with status breakdown), databases, services, and currently running deployments.

Inputs: no named parameters.

getLogsGet logsC
Read-only

Fetch runtime logs for an application.

Inputs: uuid (required), lines, show_timestamps.

getPrivateKeyGet private keyA
Read-only

Get an SSH private key's metadata by UUID. The key material is masked unless showSecrets is true.

Inputs: uuid (required), showSecrets.

getServerGet serverA
Read-only

Get server details by UUID.

Inputs: uuid (required).

getServerDomainsGet server domainsB
Read-only

List all domains configured on a server.

Inputs: uuid (required).

getServerResourcesGet server resourcesB
Read-only

List all resources (applications, databases, services) running on a server.

Inputs: uuid (required).

getServiceGet serviceA
Read-only

Get service details by UUID (secrets masked by default; pass showSecrets to reveal).

Inputs: uuid (required), showSecrets.

listAppDeploymentsList app deploymentsA
Read-only

List deployments for an application with pagination (skip/take).

Inputs: uuid (required), skip, take.

listApplicationsList applicationsC
Read-only

List all Coolify applications.

Inputs: limit, offset, summary.

listDatabasesList databasesC
Read-only

List databases with optional pagination and filters.

Inputs: type, limit, offset, summary, +1 more.

listDeploymentsList deploymentsB
Read-only

List currently running deployments.

Inputs: limit, offset.

listEnvironmentsList environmentsA
Read-only

List all environments for a project. Requires the project UUID.

Inputs: uuid (required).

listGithubAppsList GitHub AppsA
Read-only

List all configured GitHub Apps. Used for private repository access.

Inputs: limit, offset.

listPrivateKeysList private keysA
Read-only

List all SSH private keys. Keys are used for server authentication and deploy keys.

Inputs: limit, offset.

listProjectsList projectsA
Read-only

List all Coolify projects. Returns project UUID, name, description, and environments.

Inputs: limit, offset.

listResourcesList resourcesB
Read-only

List Coolify resources with optional pagination, summary, and filters.

Inputs: type, limit, offset, status, +1 more.

listServersList serversC
Read-only

List all Coolify servers. Returns server UUID, name, IP, user, port, and proxy type.

Inputs: limit, offset, summary.

listServicesList servicesC
Read-only

List all Coolify services (one-click apps like databases, caches, etc.).

Inputs: limit, offset, summary.

redeployProjectRedeploy all project applicationsA

Trigger a deployment for every application in a project (optionally a single environment). Asks for confirmation on clients that support elicitation.

Inputs: project_uuid (required), force, environment.

restartApplicationRestart applicationA
Destructive

Restart an application by UUID.

Inputs: uuid (required).

restartProjectAppsRestart all project applicationsA
Destructive

Restart every application in a project (optionally a single environment). Asks for confirmation on clients that support elicitation.

Inputs: project_uuid (required), environment.

scheduledTasksManage scheduled tasksB

Manage scheduled tasks (cron jobs) for an application or service. Actions: list, create (name, command, frequency), update, delete, list_executions (all but list/create need task_uuid).

Inputs: uuid (required), action (required), resource (required), name, +6 more.

searchDocsSearch Coolify docsA
Read-only

Full-text search across the official Coolify documentation using a local index bundled with this server (no network). Returns page titles, canonical coolify.io/docs URLs, and snippets.

Inputs: query (required), limit.

serviceEnvsManage service env varsA

Manage environment variables for a service. Actions: list (secrets masked unless showSecrets), create, update, bulk_update (pass envs array), delete (needs env_uuid).

Inputs: uuid (required), action (required), key, envs, +5 more.

startApplicationStart applicationA
Idempotent

Start an application by UUID. Optionally force rebuild.

Inputs: uuid (required), force, instant_deploy.

stopAllApplicationsEmergency stop applicationsA
Destructive

Stop every running application, optionally restricted to one project. Asks for confirmation on clients that support elicitation, stating the blast radius.

Inputs: project_uuid.

stopApplicationStop applicationA
Destructive

Stop an application by UUID.

Inputs: uuid (required).

storagesManage persistent/file storagesB

Manage persistent volumes and file mounts for an application, database, or service. Actions: list, create, update, delete. create needs storage type ('persistent' or 'file') and mount_path; update targets storage_uuid; delete needs storage_uuid.

Inputs: uuid (required), action (required), resource (required), name, +7 more.

teamsTeamsA
Read-only

Read Coolify teams. Actions: list, current, current_members, get (needs id), members (needs id).

Inputs: action (required), id.

updateApplicationUpdate applicationA
Idempotent

Update an application's configuration by UUID. Common fields are exposed; any other Coolify application field (install/build/start commands, health checks, resource limits, static flags, ...) can go in extra and is validated against the OpenAPI schema.

Inputs: uuid (required), name, extra, domains, +8 more.

updateDatabaseUpdate databaseA
Idempotent

Update a database's configuration by UUID. Common fields are exposed; any other Coolify database field can go in extra.

Inputs: uuid (required), name, extra, image, +3 more.

updatePrivateKeyUpdate private keyA
Idempotent

Update an SSH private key. The Coolify API identifies the key by its private_key content (required); name and description are optional.

Inputs: private_key (required), name, description.

updateProjectUpdate projectB
Idempotent

Update a project's name or description.

Inputs: uuid (required), name, description.

updateServerUpdate serverA
Idempotent

Update a server by UUID. Common fields are exposed; any other Coolify server field can go in extra.

Inputs: uuid (required), ip, name, port, +4 more.

updateServiceUpdate serviceA
Idempotent

Update a service by UUID. Common fields are exposed; any other Coolify service field (docker_compose_raw, connect_to_docker_network, ...) can go in extra.

Inputs: uuid (required), name, extra, description, +1 more.

validateServerValidate serverA
Read-only

Validate server connection and configuration by UUID.

Inputs: uuid (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 65 tools

    Disambiguation3/5

    Most tools are clearly resource-specific, but several overlap: listDeployments/listAppDeployments, getServerResources/listResources/diagnoseServer, and getLogs/getDeployment all deal with related deployment or resource information. Descriptions help, but an agent could easily misselect between the summary and diagnostic tools.

    Naming Consistency3/5

    Verb-first camelCase naming dominates, but the pattern is broken by noun-only bundle tools like applicationEnvs, databaseBackups, storages, scheduledTasks, and teams. The generic control verb in controlDatabase and controlService is also a minor inconsistency, though the overall naming remains readable.

    Tool Count2/5

    65 tools is well beyond the typical well-scoped range and creates navigation overhead. The broad Coolify domain justifies some size, but many list/query/diagnostic tools could be consolidated, and the count calibration explicitly marks 25+ as too many.

    Completeness4/5

    The surface covers most lifecycle operations across projects, servers, private keys, applications, databases, services, deployments, environment variables, storages, and scheduled tasks. Minor gaps exist—there is no getProject, no update/delete environment, and Github App/team management is read-only—but these are workable.

    Maintenance

    ActivityStale
    ResponsivenessMixed handling

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      A Model Context Protocol server that provides integration with the Coolify API, enabling DevOps teams to manage Coolify deployments, applications, services, and servers through MCP tools.
      32
      370 npm
      45
      MIT
    • A
      license
      Not graded
      quality
      F
      maintenance
      MCP server for Coolify infrastructure management, providing 45 tools for servers, applications, databases, deployments, and diagnostics via natural language.
      10 npm
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      MCP server for managing a self-hosted Coolify instance. Provides full REST CRUD, deploy/watch capabilities, and an optional host-ops tier for live log streaming, SSH, Docker, and database access.
      22
      7 npm
      MIT