@softtor/coolify-mcp-server
v1.0.2
Published
MCP server for Coolify API integration with multi-team support
Readme
Coolify MCP Server
MCP (Model Context Protocol) server for Coolify API integration. Manage your applications, databases, services, servers, and deployments directly from Claude Code or any MCP-compatible client.
Features
- Multi-team support with dynamic API key configuration
- 27 tools covering all major Coolify operations
- Full TypeScript support
- Compatible with Claude Code and other MCP clients
Installation
Using npx (Recommended)
No installation required. Configure directly in your MCP settings:
{
"mcpServers": {
"coolify": {
"command": "npx",
"args": ["-y", "@softtor/coolify-mcp-server"],
"env": {
"COOLIFY_BASE_URL": "https://your-coolify-instance.com",
"COOLIFY_API_KEY": "your-api-key"
}
}
}
}Global Installation
npm install -g @softtor/coolify-mcp-serverThen configure in your MCP settings:
{
"mcpServers": {
"coolify": {
"command": "coolify-mcp-server",
"env": {
"COOLIFY_BASE_URL": "https://your-coolify-instance.com",
"COOLIFY_API_KEY": "your-api-key"
}
}
}
}Configuration
Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| COOLIFY_BASE_URL | Yes | Your Coolify instance URL (e.g., https://coolify.example.com) |
| COOLIFY_API_KEY | No* | Default API key |
| COOLIFY_DEFAULT_TEAM | No | Default team name (default: default) |
| COOLIFY_TEAM_<NAME>_API_KEY | No* | Team-specific API key |
*At least one API key must be provided.
Multi-Team Configuration
For organizations with multiple Coolify teams, configure team-specific API keys:
{
"mcpServers": {
"coolify": {
"command": "npx",
"args": ["-y", "@softtor/coolify-mcp-server"],
"env": {
"COOLIFY_BASE_URL": "https://your-coolify-instance.com",
"COOLIFY_DEFAULT_TEAM": "production",
"COOLIFY_TEAM_PRODUCTION_API_KEY": "prod-api-key",
"COOLIFY_TEAM_STAGING_API_KEY": "staging-api-key",
"COOLIFY_TEAM_DEV_API_KEY": "dev-api-key"
}
}
}
}Then use the team parameter in any tool:
coolify_list_applications { team: "staging" }Getting Your API Key
- Log in to your Coolify instance
- Go to Settings > API Tokens
- Create a new token with appropriate permissions
- Copy the token and use it as your API key
Important: Tokens Are Team-Scoped
Coolify API tokens are scoped by team. Each token only provides access to resources within the team where it was created. This means:
- A token created in the "Infocell" team can only access Infocell's applications, databases, and servers
- To manage resources across multiple teams, you need a separate token for each team
- When using multi-team configuration, make sure each
COOLIFY_TEAM_<NAME>_API_KEYcorresponds to a token created in that specific team
See the Coolify API documentation for more details on token scopes and permissions.
Available Tools
Applications (6 tools)
| Tool | Description |
|------|-------------|
| coolify_list_applications | List all applications |
| coolify_get_application | Get application details by UUID |
| coolify_start_application | Start/deploy an application |
| coolify_stop_application | Stop a running application |
| coolify_restart_application | Restart an application |
| coolify_get_application_logs | Get container logs |
Databases (6 tools)
| Tool | Description |
|------|-------------|
| coolify_list_databases | List all databases |
| coolify_get_database | Get database details by UUID |
| coolify_start_database | Start a database |
| coolify_stop_database | Stop a running database |
| coolify_restart_database | Restart a database |
| coolify_list_database_backups | List database backups |
Services (5 tools)
| Tool | Description |
|------|-------------|
| coolify_list_services | List all services |
| coolify_get_service | Get service details by UUID |
| coolify_start_service | Start a service |
| coolify_stop_service | Stop a running service |
| coolify_restart_service | Restart a service |
Servers (4 tools)
| Tool | Description |
|------|-------------|
| coolify_list_servers | List all servers |
| coolify_get_server | Get server details by UUID |
| coolify_get_server_resources | Get all resources on a server |
| coolify_get_server_domains | Get all domains mapped on a server |
Deployments (2 tools)
| Tool | Description |
|------|-------------|
| coolify_deploy | Deploy by UUID or tag |
| coolify_list_deployments | List deployment history |
Projects & Teams (4 tools)
| Tool | Description |
|------|-------------|
| coolify_list_projects | List all projects |
| coolify_get_project | Get project details by UUID |
| coolify_list_teams | List all accessible teams |
| coolify_get_team | Get team details by ID |
Usage Examples
List all applications
coolify_list_applicationsDeploy an application
coolify_deploy { uuid: "app-uuid-here" }Deploy with force rebuild
coolify_deploy { uuid: "app-uuid-here", force: true }Deploy all applications with a tag
coolify_deploy { tag: "production" }Get application logs
coolify_get_application_logs { uuid: "app-uuid-here", since: 3600 }Use a specific team
coolify_list_applications { team: "staging" }Development
# Clone the repository
git clone https://github.com/Softtor/coolify-mcp-server.git
cd coolify-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Run locally
COOLIFY_API_KEY=your-key npm startContributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see LICENSE for details.
Related
- Coolify - Self-hostable Heroku/Netlify alternative
- Model Context Protocol - Protocol for AI tool integration
- Claude Code - Anthropic's CLI for Claude
