@masonator/coolify-mcp 0.3.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +81 -23
- package/dist/__tests__/coolify-client.test.js +739 -0
- package/dist/__tests__/mcp-server.test.d.ts +1 -0
- package/dist/__tests__/mcp-server.test.js +141 -0
- package/dist/lib/coolify-client.d.ts +58 -6
- package/dist/lib/coolify-client.js +100 -12
- package/dist/lib/mcp-server.js +109 -9
- package/dist/types/coolify.d.ts +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,17 +6,18 @@ A Model Context Protocol (MCP) server for [Coolify](https://coolify.io/), enabli
|
|
|
6
6
|
|
|
7
7
|
## Features
|
|
8
8
|
|
|
9
|
-
This MCP server provides
|
|
10
|
-
|
|
11
|
-
| Category
|
|
12
|
-
|
|
|
13
|
-
| **
|
|
14
|
-
| **
|
|
15
|
-
| **
|
|
16
|
-
| **
|
|
17
|
-
| **
|
|
18
|
-
| **
|
|
19
|
-
| **
|
|
9
|
+
This MCP server provides 47 tools focused on **debugging, management, and deployment**:
|
|
10
|
+
|
|
11
|
+
| Category | Tools |
|
|
12
|
+
| ------------------ | -------------------------------------------------------------------------------------------------------- |
|
|
13
|
+
| **Infrastructure** | overview (all resources at once) |
|
|
14
|
+
| **Servers** | list, get, validate, resources, domains |
|
|
15
|
+
| **Projects** | list, get, create, update, delete |
|
|
16
|
+
| **Environments** | list, get, create, delete |
|
|
17
|
+
| **Applications** | list, get, update, delete, start, stop, restart, logs, env vars (CRUD), create (private-gh, private-key) |
|
|
18
|
+
| **Databases** | list, get, start, stop, restart |
|
|
19
|
+
| **Services** | list, get, create, update, delete, start, stop, restart, env vars (list, create, delete) |
|
|
20
|
+
| **Deployments** | list, get, deploy, list by application |
|
|
20
21
|
|
|
21
22
|
## Installation
|
|
22
23
|
|
|
@@ -49,27 +50,77 @@ Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_
|
|
|
49
50
|
|
|
50
51
|
```bash
|
|
51
52
|
claude mcp add coolify \
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
-- npx
|
|
53
|
+
-e COOLIFY_BASE_URL="https://your-coolify-instance.com" \
|
|
54
|
+
-e COOLIFY_ACCESS_TOKEN="your-api-token" \
|
|
55
|
+
-- npx @masonator/coolify-mcp@latest
|
|
55
56
|
```
|
|
56
57
|
|
|
58
|
+
> **Note:** Use `@latest` tag (not `-y` flag) for reliable startup in Claude Code CLI.
|
|
59
|
+
|
|
57
60
|
### Cursor
|
|
58
61
|
|
|
59
62
|
```bash
|
|
60
63
|
env COOLIFY_ACCESS_TOKEN=your-api-token COOLIFY_BASE_URL=https://your-coolify-instance.com npx -y @masonator/coolify-mcp
|
|
61
64
|
```
|
|
62
65
|
|
|
66
|
+
## Context-Optimized Responses
|
|
67
|
+
|
|
68
|
+
### Why This Matters
|
|
69
|
+
|
|
70
|
+
The Coolify API returns extremely verbose responses - a single application can contain 91 fields including embedded 3KB server objects and 47KB docker-compose files. When listing 20+ applications, responses can exceed 200KB, which quickly exhausts the context window of AI assistants like Claude Desktop.
|
|
71
|
+
|
|
72
|
+
**This MCP server solves this by returning optimized summaries by default.**
|
|
73
|
+
|
|
74
|
+
### How It Works
|
|
75
|
+
|
|
76
|
+
| Tool Type | Returns | Use Case |
|
|
77
|
+
| ----------------------------- | ---------------------------------------- | ----------------------------------- |
|
|
78
|
+
| `list_*` | Summaries only (uuid, name, status, etc) | Discovery, finding resources |
|
|
79
|
+
| `get_*` | Full details for a single resource | Deep inspection, debugging |
|
|
80
|
+
| `get_infrastructure_overview` | All resources summarized in one call | Start here to understand your setup |
|
|
81
|
+
|
|
82
|
+
### Response Size Comparison
|
|
83
|
+
|
|
84
|
+
| Endpoint | Full Response | Summary Response | Reduction |
|
|
85
|
+
| ----------------- | ------------- | ---------------- | --------- |
|
|
86
|
+
| list_applications | ~170KB | ~4.4KB | **97%** |
|
|
87
|
+
| list_services | ~367KB | ~1.2KB | **99%** |
|
|
88
|
+
| list_servers | ~4KB | ~0.4KB | **90%** |
|
|
89
|
+
|
|
90
|
+
### Recommended Workflow
|
|
91
|
+
|
|
92
|
+
1. **Start with overview**: `get_infrastructure_overview` - see everything at once
|
|
93
|
+
2. **Find your target**: `list_applications` - get UUIDs of what you need
|
|
94
|
+
3. **Dive deep**: `get_application(uuid)` - full details for one resource
|
|
95
|
+
4. **Take action**: `restart_application(uuid)`, `get_application_logs(uuid)`, etc.
|
|
96
|
+
|
|
97
|
+
### Pagination
|
|
98
|
+
|
|
99
|
+
All list endpoints still support optional pagination for very large deployments:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Get page 2 with 10 items per page
|
|
103
|
+
list_applications(page=2, per_page=10)
|
|
104
|
+
```
|
|
105
|
+
|
|
63
106
|
## Example Prompts
|
|
64
107
|
|
|
108
|
+
### Getting Started
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
Give me an overview of my infrastructure
|
|
112
|
+
Show me all my applications
|
|
113
|
+
What's running on my servers?
|
|
114
|
+
```
|
|
115
|
+
|
|
65
116
|
### Debugging & Monitoring
|
|
66
117
|
|
|
67
118
|
```
|
|
68
|
-
Show me all servers and their status
|
|
69
|
-
What resources are running on server {uuid}?
|
|
70
119
|
Get the logs for application {uuid}
|
|
120
|
+
What's the status of application {uuid}?
|
|
71
121
|
What environment variables are set for application {uuid}?
|
|
72
122
|
Show me recent deployments for application {uuid}
|
|
123
|
+
What resources are running on server {uuid}?
|
|
73
124
|
```
|
|
74
125
|
|
|
75
126
|
### Application Management
|
|
@@ -119,10 +170,14 @@ node dist/index.js
|
|
|
119
170
|
|
|
120
171
|
## Available Tools
|
|
121
172
|
|
|
122
|
-
###
|
|
173
|
+
### Infrastructure
|
|
123
174
|
|
|
124
175
|
- `get_version` - Get Coolify API version
|
|
125
|
-
- `
|
|
176
|
+
- `get_infrastructure_overview` - Get a high-level overview of all infrastructure (servers, projects, applications, databases, services)
|
|
177
|
+
|
|
178
|
+
### Servers
|
|
179
|
+
|
|
180
|
+
- `list_servers` - List all servers (returns summary)
|
|
126
181
|
- `get_server` - Get server details
|
|
127
182
|
- `get_server_resources` - Get resources running on a server
|
|
128
183
|
- `get_server_domains` - Get domains configured on a server
|
|
@@ -130,7 +185,7 @@ node dist/index.js
|
|
|
130
185
|
|
|
131
186
|
### Projects
|
|
132
187
|
|
|
133
|
-
- `list_projects` - List all projects
|
|
188
|
+
- `list_projects` - List all projects (returns summary)
|
|
134
189
|
- `get_project` - Get project details
|
|
135
190
|
- `create_project` - Create a new project
|
|
136
191
|
- `update_project` - Update a project
|
|
@@ -145,7 +200,7 @@ node dist/index.js
|
|
|
145
200
|
|
|
146
201
|
### Applications
|
|
147
202
|
|
|
148
|
-
- `list_applications` - List all applications
|
|
203
|
+
- `list_applications` - List all applications (returns summary)
|
|
149
204
|
- `get_application` - Get application details
|
|
150
205
|
- `create_application_private_gh` - Create app from private GitHub repo (GitHub App)
|
|
151
206
|
- `create_application_private_key` - Create app from private repo using deploy key
|
|
@@ -162,7 +217,7 @@ node dist/index.js
|
|
|
162
217
|
|
|
163
218
|
### Databases
|
|
164
219
|
|
|
165
|
-
- `list_databases` - List all databases
|
|
220
|
+
- `list_databases` - List all databases (returns summary)
|
|
166
221
|
- `get_database` - Get database details
|
|
167
222
|
- `start_database` - Start a database
|
|
168
223
|
- `stop_database` - Stop a database
|
|
@@ -170,8 +225,11 @@ node dist/index.js
|
|
|
170
225
|
|
|
171
226
|
### Services
|
|
172
227
|
|
|
173
|
-
- `list_services` - List all services
|
|
228
|
+
- `list_services` - List all services (returns summary)
|
|
174
229
|
- `get_service` - Get service details
|
|
230
|
+
- `create_service` - Create a one-click service (e.g., pocketbase, mysql, redis, wordpress)
|
|
231
|
+
- `update_service` - Update a service
|
|
232
|
+
- `delete_service` - Delete a service
|
|
175
233
|
- `start_service` - Start a service
|
|
176
234
|
- `stop_service` - Stop a service
|
|
177
235
|
- `restart_service` - Restart a service
|
|
@@ -181,7 +239,7 @@ node dist/index.js
|
|
|
181
239
|
|
|
182
240
|
### Deployments
|
|
183
241
|
|
|
184
|
-
- `list_deployments` - List running deployments
|
|
242
|
+
- `list_deployments` - List running deployments (returns summary)
|
|
185
243
|
- `get_deployment` - Get deployment details
|
|
186
244
|
- `deploy` - Deploy by tag or UUID
|
|
187
245
|
- `list_application_deployments` - List deployments for an application
|