A Model Context Protocol (MCP) server implementation for Coolify, enabling AI assistants to interact with your Coolify instances through natural language.
Here are example prompts you can use with MCP-compatible AI assistants to interact with your Coolify instance:
# List and Inspect Servers
- Show me all Coolify servers in my instance
- What's the status of server {uuid}?
- Show me the resources running on server {uuid}
- What domains are configured for server {uuid}?
- Can you validate the connection to server {uuid}?
# Resource Monitoring
- How much CPU and memory is server {uuid} using?
- List all resources running on server {uuid}
- Show me the current status of all servers
# Project Operations
- List all my Coolify projects
- Create a new project called "my-webapp" with description "My web application"
- Show me the details of project {uuid}
- Update project {uuid} to change its name to "new-name"
- Delete project {uuid}
# Environment Management
- Show me the environments in project {uuid}
- Get details of the production environment in project {uuid}
- What variables are set in the staging environment of project {uuid}?
# Application Management
- List all applications
- Show me details of application {uuid}
- Create a new application called "my-nodejs-app"
- Delete application {uuid}
# Service Operations
- Show me all running services
- Create a new WordPress service:
- Name: my-blog
- Project UUID: {project_uuid}
- Server UUID: {server_uuid}
- Type: wordpress-with-mysql
- What's the status of service {uuid}?
- Delete service {uuid} and clean up its resources
# Database Operations
- List all databases
- Show me the configuration of database {uuid}
- Update database {uuid}:
- Increase memory limit to 1GB
- Change public port to 5432
- Update password
- Delete database {uuid} and clean up volumes
# Database Types
- Create a PostgreSQL database
- Set up a Redis instance
- Configure a MongoDB database
- Initialize a MySQL database
# Deployment Operations
- Show me all active deployments
- What's the status of deployment {uuid}?
- Deploy application {uuid}
- Force rebuild and deploy application {uuid}
- List recent deployments for application {uuid}
- Node.js >= 18
- A running Coolify instance
- Coolify API access token
"coolify": {
"command": "npx",
"args": [
"-y", "@masonator/coolify-mcp"
],
"env": {
"COOLIFY_ACCESS_TOKEN": "0|your-secret-token",
"COOLIFY_BASE_URL": "https://your-coolify-instance.com"
}
}
env COOLIFY_ACCESS_TOKEN:0|your-secret-token COOLIFY_BASE_URL:https://your-coolify-instance.com npx -y @stumason/coolify-mcp
# Clone the repository
git clone https://github.com/stumason/coolify-mcp.git
cd coolify-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test
# Required
COOLIFY_ACCESS_TOKEN=your_access_token_here
# Optional (defaults to http://localhost:3000)
COOLIFY_BASE_URL=https://your.coolify.instance
interface Application {
uuid: string;
name: string;
// Additional properties based on your Coolify instance
}
interface Service {
id: number;
uuid: string;
name: string;
type: ServiceType; // Various types like 'wordpress', 'mysql', etc.
status: 'running' | 'stopped' | 'error';
project_uuid: string;
environment_uuid: string;
server_uuid: string;
domains?: string[];
}
interface Database {
id: number;
uuid: string;
name: string;
type: 'postgresql' | 'mysql' | 'mongodb' | 'redis' | /* other types */;
status: 'running' | 'stopped' | 'error';
is_public: boolean;
public_port?: number;
// Additional configuration based on database type
}
interface Deployment {
id: number;
uuid: string;
application_uuid: string;
status: string;
created_at: string;
updated_at: string;
}
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
MIT
For support, please:
- Check the issues page
- Create a new issue if needed
- Join the Coolify community