Skip to main content
Glama

Coolify MCP Server

README.md8.82 kB
# Coolify MCP Server <img src="graphics/CoolifyMCP.png" width="256" alt="Coolify MCP Logo" /> A comprehensive Model Context Protocol (MCP) server for the Coolify API. This server enables AI assistants to manage infrastructure, applications, databases, services, and more through your self-hosted Coolify PaaS platform. > **Compatibility:** Tested with Coolify version 4.0.0-beta.418 --- **👋 Open for Opportunities!** I'm actively seeking new opportunities and collaborations. If you have interesting projects or job opportunities, feel free to reach out! 📧 **Contact:** pashvc@gmail.com --- ## Prerequisites - Node.js 18 or higher - Coolify Base URL - Coolify API token ## Features ### Core Management - **Teams**: List teams, get team details, view team members - **Projects**: Create, list, update, and delete projects - **Servers**: Create servers, validate connections, view resources and domains - **Private Keys**: Manage SSH keys for server access ### Applications - Full CRUD operations (create, read, update, delete) - Lifecycle management (start, stop, restart) - Execute commands in containers - View application logs - Git integration (repository, branch, commit management) - Resource limits configuration (memory, CPU) - Health check configuration ### Databases - Support for PostgreSQL, MySQL, MariaDB, MongoDB, and Redis - Create and manage database instances - Configure database-specific settings - Lifecycle management (start, stop, restart) - Resource limits and public port configuration ### Services - Deploy pre-configured services (Plausible, Umami, n8n, etc.) - Service lifecycle management - Configuration updates ### Environment Variables - Manage environment variables for applications, services, and databases - Support for build-time and runtime variables - Preview deployment variables - Shared variables across environments ### Deployments - List all deployments - Get deployment details and logs - Trigger deployments via webhook - Support for Docker image tags ### Developer Experience - Pre-configured prompts for common workflows - Comprehensive error handling with detailed messages - TypeScript support with full type safety - Integration with MCP Inspector for debugging - Robust API response handling for different Coolify versions - Extensive test coverage with both unit and integration tests ## Installation ```bash # Install globally npm install -g @pashvc/mcp-server-coolify # Or use with npx npx @pashvc/mcp-server-coolify ``` ## Configuration The server requires two environment variables: - `COOLIFY_BASE_URL`: The base URL of your Coolify instance - `COOLIFY_TOKEN`: Your Coolify API token ### Getting an API Token 1. Go to your Coolify instance 2. Navigate to `Keys & Tokens` / `API tokens` 3. Create a new token with the following required permissions: - read (for fetching information) - write (for managing resources) - deploy (for deployment operations) ## Usage ### In MCP Settings Add the following to your MCP settings configuration: ```json { "mcpServers": { "coolify": { "command": "npx", "args": ["-y", "@pashvc/mcp-server-coolify"], "env": { "COOLIFY_BASE_URL": "your-coolify-url", "COOLIFY_TOKEN": "your-api-token" }, "disabled": false, "autoApprove": [] } } } ``` Windows Cline users may need the following: ```json { "mcpServers": { "coolify": { "command": "cmd", "args": [ "/c", "npx", "-y", "@pashvc/mcp-server-coolify" ], "env": { "COOLIFY_BASE_URL": "your-coolify-url", "COOLIFY_TOKEN": "your-api-token" }, "disabled": false, "autoApprove": [] } } } ``` ### Available Tools #### Version & Health - `coolify_version`: Get Coolify version information - `coolify_health`: Check Coolify API health status #### Teams - `list_teams`: List all teams - `get_team`: Get details of a specific team - `get_current_team`: Get current team details - `get_current_team_members`: Get current team members #### Servers - `list_servers`: List all servers - `create_server`: Create a new server - `validate_server`: Validate server configuration - `get_server_resources`: Get server resources - `get_server_domains`: Get server domains #### Projects - `list_projects`: List all projects - `get_project`: Get project details - `create_project`: Create a new project - `update_project`: Update project settings - `delete_project`: Delete a project #### Applications - `list_applications`: List all applications - `get_application`: Get application details - `create_application`: Create a new application - `update_application`: Update application settings - `delete_application`: Delete an application - `start_application`: Start an application - `stop_application`: Stop an application - `restart_application`: Restart an application - `execute_command`: Execute command in application container - `get_application_logs`: Get application logs #### Databases - `list_databases`: List all databases - `get_database`: Get database details - `create_database`: Create a new database - `update_database`: Update database settings - `delete_database`: Delete a database - `start_database`: Start a database - `stop_database`: Stop a database - `restart_database`: Restart a database #### Services - `list_services`: List all services - `get_service`: Get service details - `create_service`: Create a new service - `update_service`: Update service settings - `delete_service`: Delete a service - `start_service`: Start a service - `stop_service`: Stop a service - `restart_service`: Restart a service #### Environment Variables - `list_environment_variables`: List environment variables - `create_environment_variable`: Create a new environment variable - `update_environment_variable`: Update an environment variable - `delete_environment_variable`: Delete an environment variable #### Deployments - `list_deployments`: List all deployments - `get_deployment`: Get deployment details - `deploy_webhook`: Trigger deployment via webhook #### Private Keys - `list_private_keys`: List all private keys - `create_private_key`: Create a new private key - `update_private_key`: Update a private key - `delete_private_key`: Delete a private key ### Pre-configured Prompts The server includes helpful prompts for common workflows: - `deploy-git-app`: Deploy a new application from a Git repository - `setup-database`: Set up a new database with proper configuration - `deploy-service`: Deploy a pre-configured service - `environment-setup`: Set up environment variables for an application - `server-health-check`: Comprehensive health check of all servers - `backup-database`: Create a backup of a database - `scale-application`: Scale an application by adjusting resources - `setup-ssl`: Configure SSL/TLS for an application - `migrate-application`: Migrate an application between servers - `troubleshoot-deployment`: Troubleshoot a failed deployment ## Development ### Building from Source ```bash # Clone the repository git clone https://github.com/pashvc/mcp-server-coolify.git cd mcp-server-coolify # Install dependencies npm install # Build the project npm run build # Run tests npm test ``` ### Development Scripts - `npm run build`: Build the TypeScript project - `npm run watch`: Build and watch for changes - `npm test`: Run all tests - `npm run test:watch`: Run tests in watch mode - `npm run test:coverage`: Run tests with coverage report - `npm run test:integration`: Run integration tests only (requires env vars) - `npm run inspector`: Launch MCP Inspector for debugging ## Troubleshooting ### Common Issues - **404 Errors**: Some endpoints may not be available in all Coolify versions. The server automatically handles different response formats across versions. - **Authentication Errors**: Ensure your API token has the required permissions (read, write, deploy). - **Connection Issues**: Verify your `COOLIFY_BASE_URL` is correct and accessible. - **Environment Variables**: Make sure both `COOLIFY_BASE_URL` and `COOLIFY_TOKEN` are set correctly. ### Testing Your Setup ```bash # Test with your credentials export COOLIFY_BASE_URL="https://your-coolify-instance.com" export COOLIFY_TOKEN="your-api-token" # Run integration tests to verify connectivity npm run test:integration # Or test the server directly npm run build && npm start ``` ### API Compatibility The server handles different response formats automatically: - **Version endpoint**: Supports both string and object responses - **List endpoints**: Handles both direct arrays and paginated responses - **Health endpoint**: Adapts to different status response formats - **Error handling**: Robust parsing of various error message formats ## License MIT

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/pavelsukhachev/mcp-server-coolify'

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