Coolify MCP

by frndchagas

Not rated
GitHub

About

MCP server for Coolify API operations.

Details

Author
frndchagas
Categories
Cloud Service, Infrastructure, API

Setup

Install Coolify MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/frndchagas/coolify-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

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

- Full Deployment Workflow: Create projects, environments, servers, and applications from scratch
- 5 Application Types: onecreateApplicationtool covers public git, GitHub App, Deploy Key, Dockerfile, and Docker Image sources — plus Docker Compose deployments viacreateService(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:diagnoseAppfinds an app by UUID, name, or domain and aggregates status, recent deployments, failure log tails, runtime logs, and suggested next actions
- Docs Search:searchDocsruns 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

- Node 18+
- A Coolify API token (Settings > API in your Coolify dashboard)

Claude Desktop, one-click:downloadcoolify-mcp.mcpbfrom the latest release and drag it intoSettings → Extensions. You'll be prompted for your Coolify URL and token — no Node install, no JSON editing.

npm install -g @fndchagas/coolify-mcp # or npx -y @fndchagas/coolify-mcp
claude mcp add coolify \ --env COOLIFY_BASE_URL="https://coolify.example.com/api/v1" \ --env COOLIFY_TOKEN="<token>" \ -- npx -y @fndchagas/coolify-mcp
codex mcp add coolify \ --env COOLIFY_BASE_URL="https://coolify.example.com/api/v1" \ --env COOLIFY_TOKEN="<token>" \ -- npx -y @fndchagas/coolify-mcp
[mcp_servers.coolify] command = "npx" args = ["-y", "@fndchagas/coolify-mcp"] env = { COOLIFY_BASE_URL = "https://coolify.example.com/api/v1", COOLIFY_TOKEN = "<token>" }
{ "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" } } } }

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

Docker Compose deployments are created withcreateServicepassingdocker_compose_raw— since Coolify v4.1 they are services, not applications.

Database and service env vars have their own tools:databaseEnvsandserviceEnvs.

Storages, Scheduled Tasks & Previews

- Environment variable values are masked by default
- Database credentials are redacted
- UseshowSecrets: trueonly when necessary

The HTTP transport binds to127.0.0.1by default. To expose it beyond loopback, setMCP_HTTP_TOKEN— every request to/mcpmust then carryAuthorization: Bearer <token>(checked in constant time) — and the bind switches to0.0.0.0(override withMCP_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 supportelicitation(Claude Code, VS Code Copilot), deleting a project, application, database, service, server, or private key asksyouto confirm first, stating what will be lost. Clients without elicitation behave exactly as before. A decline, cancel, or timeout aborts the call; setCOOLIFY_MCP_ELICITATION=offto disable the prompts entirely.

git clone https://github.com/frndchagas/coolify-mcp.git cd coolify-mcp npm install npm run dev
npm run dev # Run in development mode npm run build # Build TypeScript npm run generate # Fetch the pinned OpenAPI spec and regenerate types

Version is defined insrc/coolify/constants.ts. To update:
- EditCOOLIFY_VERSIONinsrc/coolify/constants.ts
- Runnpm run generate

- MCP Registry:io.github.frndchagas/coolify-mcp

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();
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();

Expose the entire ArgoCD API to LLMs via MCP using just 2 auto-generated tools powered by the OpenAPI spec.

An MCP server for interacting with the Coolify API to manage servers and applications.

Integrate with the Laravel Forge API to manage servers and deployments using MCP-compliant tools.

Interact with Heroku Platform resources securely using the Heroku CLI. Requires the Heroku CLI and a valid API key.

Manage Koyeb resources like apps, services, and deployments using the Koyeb API.

Interact with Render resources via LLMs using the Render API.

MCP server exposing Spinnaker CD platform via Gate API for pipeline and deployment management

Create, build, deploy, and manage Netlify resources using natural language.

European cloud hosting. Use your favorite AI coding assistant to easily deploy and manage apps on Ploi Cloud.

Simplifies framework deployments on various hosting environments, with a focus on shared hosting.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.