Skip to main content
Glama
README.md
# Coolify MCP Tools

A comprehensive [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server for [Coolify](https://coolify.io/) - the open-source, self-hostable Heroku/Netlify alternative.

This MCP server enables AI assistants like Claude to manage your Coolify infrastructure, including servers, projects, applications, databases, services, and more.

## Compatibility

Works with both:

- **Coolify Cloud** - [cloud.coolify.io](https://cloud.coolify.io)
- **Coolify Self-Hosted** - Any self-hosted Coolify instance (v4.x)

## Features

- **98 tools** covering the complete Coolify API
- Full CRUD operations for all Coolify resources
- Database backup management
- GitHub App integrations
- Deployment management and monitoring
- Environment variable management
- Works with Coolify Cloud and self-hosted instances
- Easy one-command installation via npx

## Installation

### Using npx (recommended)

```bash
npx coolify-mcp-tools
```

### Global installation

```bash
npm install -g coolify-mcp-tools
coolify-mcp
```

### From source

```bash
git clone https://github.com/jplansink/coolify-mcp-tools.git
cd coolify-mcp-tools
npm install
npm run build
```

## Configuration

### Environment Variables

| Variable               | Required | Description                                    |
| ---------------------- | -------- | ---------------------------------------------- |
| `COOLIFY_BASE_URL`     | Yes      | Your Coolify instance URL (see examples below) |
| `COOLIFY_ACCESS_TOKEN` | Yes      | API access token from Coolify                  |

**Base URL Examples:**

- Coolify Cloud: `https://app.coolify.io`
- Self-hosted: `https://coolify.yourdomain.com` (your Coolify URL)

### Getting Your Coolify Access Token

1. Log into your Coolify instance (Cloud or self-hosted)
2. Go to **Settings** > **API**
3. Enable the API if not already enabled
4. Click **Create New Token**
5. Give it a name (e.g., "MCP Server")
6. Copy the generated token

### Claude Desktop Configuration

Add this to your Claude Desktop config file:

**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "coolify": {
      "command": "npx",
      "args": ["coolify-mcp-tools"],
      "env": {
        "COOLIFY_BASE_URL": "https://your-coolify-instance.com",
        "COOLIFY_ACCESS_TOKEN": "your-api-token-here"
      }
    }
  }
}
```

### Claude Code (CLI) Configuration

Add this to your Claude Code settings file:

**macOS/Linux**: `~/.claude/settings.json`
**Windows**: `%USERPROFILE%\.claude\settings.json`

```json
{
  "mcpServers": {
    "coolify": {
      "command": "npx",
      "args": ["coolify-mcp-tools"],
      "env": {
        "COOLIFY_BASE_URL": "https://your-coolify-instance.com",
        "COOLIFY_ACCESS_TOKEN": "your-api-token-here"
      }
    }
  }
}
```

## Available Tools

### Servers (8 tools)

- `list_servers` - List all Coolify servers
- `get_server` - Get server details
- `create_server` - Create a new server
- `update_server` - Update server configuration
- `delete_server` - Delete a server
- `get_server_resources` - Get resources running on a server
- `get_server_domains` - Get domains configured on a server
- `validate_server` - Validate server connection

### Projects (9 tools)

- `list_projects` - List all projects
- `get_project` - Get project details
- `create_project` - Create a new project
- `update_project` - Update project
- `delete_project` - Delete a project
- `get_project_environment` - Get environment details
- `list_project_environments` - List all environments
- `create_project_environment` - Create new environment
- `delete_project_environment` - Delete an environment

### Applications (21 tools)

- `list_applications` - List all applications
- `get_application` - Get application details
- `create_public_application` - Create from public git repo
- `create_private_ghapp_application` - Create from private GitHub App repo
- `create_private_deploykey_application` - Create from private repo with deploy key
- `create_dockerfile_application` - Create from Dockerfile
- `create_dockerimage_application` - Create from Docker image
- `create_dockercompose_application` - Create from Docker Compose
- `update_application` - Update application
- `delete_application` - Delete application
- `start_application` - Start application
- `stop_application` - Stop application
- `restart_application` - Restart application
- `deploy_application` - Deploy application
- `get_application_logs` - Get application logs
- `execute_application_command` - Execute command in container
- `list_application_envs` - List environment variables
- `create_application_env` - Create environment variable
- `update_application_env` - Update environment variable
- `bulk_update_application_envs` - Bulk update environment variables
- `delete_application_env` - Delete environment variable

### Databases (21 tools)

- `list_databases` - List all databases
- `get_database` - Get database details
- `update_database` - Update database
- `delete_database` - Delete database
- `create_postgres_database` - Create PostgreSQL database
- `create_mysql_database` - Create MySQL database
- `create_mariadb_database` - Create MariaDB database
- `create_mongodb_database` - Create MongoDB database
- `create_redis_database` - Create Redis database
- `create_keydb_database` - Create KeyDB database
- `create_clickhouse_database` - Create Clickhouse database
- `create_dragonfly_database` - Create Dragonfly database
- `start_database` - Start database
- `stop_database` - Stop database
- `restart_database` - Restart database
- `list_database_backups` - List backup configurations
- `create_database_backup` - Create backup configuration
- `update_database_backup` - Update backup configuration
- `delete_database_backup` - Delete backup configuration
- `list_backup_executions` - List backup executions
- `delete_backup_execution` - Delete backup execution

### Services (16 tools)

- `list_services` - List all one-click services
- `get_service` - Get service details
- `create_service` - Create a one-click service (WordPress, n8n, etc.)
- `update_service` - Update service
- `delete_service` - Delete service
- `start_service` - Start service
- `stop_service` - Stop service
- `restart_service` - Restart service
- `list_service_envs` - List environment variables
- `create_service_env` - Create environment variable
- `update_service_env` - Update environment variable
- `bulk_update_service_envs` - Bulk update environment variables
- `delete_service_env` - Delete environment variable

### GitHub Apps (6 tools)

- `list_github_apps` - List GitHub App integrations
- `create_github_app` - Create GitHub App integration
- `update_github_app` - Update GitHub App
- `delete_github_app` - Delete GitHub App
- `list_github_app_repositories` - List accessible repositories
- `list_github_app_branches` - List repository branches

### Private Keys (5 tools)

- `list_private_keys` - List all private keys
- `get_private_key` - Get private key details
- `create_private_key` - Create a new private key
- `update_private_key` - Update private key
- `delete_private_key` - Delete private key

### Teams (5 tools)

- `list_teams` - List all teams
- `get_team` - Get team details
- `get_team_members` - Get team members
- `get_current_team` - Get current authenticated team
- `get_current_team_members` - Get current team members

### Deployments (5 tools)

- `list_deployments` - List running deployments
- `get_deployment` - Get deployment details
- `get_deployments_by_application` - Get deployments for an application
- `cancel_deployment` - Cancel a deployment
- `deploy` - Deploy by tag or UUID

### Utility (5 tools)

- `list_resources` - List all resources
- `get_version` - Get Coolify version
- `healthcheck` - Check API health
- `enable_api` - Enable Coolify API
- `disable_api` - Disable Coolify API

## Supported One-Click Services

The `create_service` tool supports 80+ one-click services including:

- **CMS**: WordPress, Ghost, Directus, Strapi
- **Automation**: n8n, Activepieces
- **Analytics**: Umami, Posthog, Metabase
- **Collaboration**: Nextcloud, Penpot, Mattermost
- **Development**: Gitea, Code Server, Docker Registry
- **Monitoring**: Uptime Kuma, Grafana, Glances
- **And many more...**

## Usage Examples

Once configured, you can ask Claude to:

- "List all my Coolify servers"
- "Create a new PostgreSQL database in my production project"
- "Deploy my application and show me the logs"
- "Set up a new WordPress site with MySQL"
- "Show me all running deployments"
- "Create a backup schedule for my database"

## Development

```bash
# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Lint
npm run lint

# Format code
npm run format
```

## Contributing

Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

## License

MIT License - see [LICENSE](LICENSE) for details.

## Links

- [Coolify](https://coolify.io/) - The self-hosting platform
- [Coolify API Docs](https://coolify.io/docs/api-reference) - Official API documentation
- [Model Context Protocol](https://modelcontextprotocol.io/) - MCP specification
- [Claude Desktop](https://claude.ai/download) - AI assistant with MCP support