@mks2508/coolify-mks-cli-mcp 0.4.3 → 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/dist/cli/coolify-state.d.ts +51 -0
- package/dist/cli/coolify-state.d.ts.map +1 -0
- package/dist/cli/index.js +2862 -631
- package/dist/coolify/config.d.ts +1 -1
- package/dist/coolify/config.d.ts.map +1 -1
- package/dist/coolify/index.d.ts +626 -12
- package/dist/coolify/index.d.ts.map +1 -1
- package/dist/coolify/types.d.ts +87 -3
- package/dist/coolify/types.d.ts.map +1 -1
- package/dist/dist-C4hIkHif.js +66 -0
- package/dist/dist-C4hIkHif.js.map +1 -0
- package/dist/dist-DEPvJhbP.js +3 -0
- package/dist/index.cjs +8511 -28542
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +32 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8470 -28506
- package/dist/index.js.map +1 -1
- package/dist/network.d.ts +75 -0
- package/dist/network.d.ts.map +1 -0
- package/dist/sdk.d.ts +356 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/server/index.d.ts +9 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/sse.js +3 -1
- package/dist/server/stdio.d.ts +0 -2
- package/dist/server/stdio.d.ts.map +1 -1
- package/dist/server/stdio.js +3307 -1618
- package/dist/tools/definitions.d.ts +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/handlers.d.ts +6 -7
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/index.d.ts +8 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/trace.d.ts +71 -0
- package/dist/trace.d.ts.map +1 -0
- package/dist/utils/format.d.ts +1 -1
- package/dist/utils/format.d.ts.map +1 -1
- package/package.json +13 -7
- package/src/cli/actions.ts +162 -0
- package/src/cli/commands/active-deployments.ts +24 -0
- package/src/cli/commands/build-logs.ts +58 -0
- package/src/cli/commands/cancel-deploy.ts +35 -0
- package/src/cli/commands/config.ts +53 -47
- package/src/cli/commands/create.ts +74 -53
- package/src/cli/commands/databases.ts +63 -0
- package/src/cli/commands/db.ts +68 -0
- package/src/cli/commands/delete.ts +41 -29
- package/src/cli/commands/deploy.ts +42 -21
- package/src/cli/commands/deployments.ts +41 -31
- package/src/cli/commands/destinations.ts +19 -27
- package/src/cli/commands/diagnose.ts +139 -0
- package/src/cli/commands/env.ts +66 -41
- package/src/cli/commands/environments.ts +36 -32
- package/src/cli/commands/exec.ts +39 -0
- package/src/cli/commands/keys.ts +46 -0
- package/src/cli/commands/list.ts +29 -27
- package/src/cli/commands/logs.ts +33 -18
- package/src/cli/commands/network.ts +145 -0
- package/src/cli/commands/projects.ts +51 -39
- package/src/cli/commands/restart.ts +60 -0
- package/src/cli/commands/server-resources.ts +71 -0
- package/src/cli/commands/servers.ts +23 -23
- package/src/cli/commands/service-logs.ts +59 -0
- package/src/cli/commands/services.ts +63 -0
- package/src/cli/commands/show.ts +72 -41
- package/src/cli/commands/start.ts +60 -0
- package/src/cli/commands/stop.ts +60 -0
- package/src/cli/commands/svc.ts +68 -0
- package/src/cli/commands/teams.ts +60 -0
- package/src/cli/commands/update.ts +73 -49
- package/src/cli/commands/version.ts +37 -0
- package/src/cli/coolify-state.ts +88 -0
- package/src/cli/index.ts +400 -125
- package/src/coolify/config.ts +29 -27
- package/src/coolify/index.ts +2221 -371
- package/src/coolify/types.ts +218 -123
- package/src/index.ts +82 -868
- package/src/network.ts +298 -0
- package/src/sdk.ts +597 -0
- package/src/server/index.ts +13 -0
- package/src/server/sse.ts +33 -25
- package/src/server/stdio.ts +24 -27
- package/src/tools/definitions.ts +893 -264
- package/src/tools/handlers.ts +556 -748
- package/src/tools/index.ts +8 -0
- package/src/trace.ts +116 -0
- package/src/utils/format.ts +36 -33
package/src/tools/definitions.ts
CHANGED
|
@@ -6,290 +6,317 @@
|
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import type { Tool } from
|
|
9
|
+
import type { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* All Coolify MCP tool definitions.
|
|
13
13
|
*/
|
|
14
14
|
export const coolifyTools: Tool[] = [
|
|
15
15
|
{
|
|
16
|
-
name:
|
|
16
|
+
name: "deploy",
|
|
17
17
|
description: `Deploy or redeploy an application to Coolify.
|
|
18
18
|
|
|
19
19
|
Triggers a new deployment for the specified application UUID.
|
|
20
20
|
Can force rebuild without cache if needed.`,
|
|
21
21
|
inputSchema: {
|
|
22
|
-
type:
|
|
22
|
+
type: "object" as const,
|
|
23
23
|
properties: {
|
|
24
24
|
uuid: {
|
|
25
|
-
type:
|
|
26
|
-
description:
|
|
27
|
-
format:
|
|
25
|
+
type: "string" as const,
|
|
26
|
+
description: "Application UUID in Coolify",
|
|
27
|
+
format: "uuid",
|
|
28
28
|
},
|
|
29
29
|
force: {
|
|
30
|
-
type:
|
|
31
|
-
description:
|
|
32
|
-
default: false
|
|
30
|
+
type: "boolean" as const,
|
|
31
|
+
description: "Force rebuild without cache",
|
|
32
|
+
default: false,
|
|
33
33
|
},
|
|
34
34
|
tag: {
|
|
35
|
-
type:
|
|
36
|
-
description:
|
|
37
|
-
}
|
|
35
|
+
type: "string" as const,
|
|
36
|
+
description: "Deploy specific tag/version",
|
|
37
|
+
},
|
|
38
38
|
},
|
|
39
|
-
required: [
|
|
40
|
-
}
|
|
39
|
+
required: ["uuid"],
|
|
40
|
+
},
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
|
-
name:
|
|
43
|
+
name: "get_env_vars",
|
|
44
44
|
description: `Get environment variables for a Coolify application.
|
|
45
45
|
|
|
46
46
|
Returns all environment variables with metadata including whether
|
|
47
47
|
they are runtime or buildtime, and if they are required.`,
|
|
48
48
|
inputSchema: {
|
|
49
|
-
type:
|
|
49
|
+
type: "object" as const,
|
|
50
50
|
properties: {
|
|
51
51
|
uuid: {
|
|
52
|
-
type:
|
|
53
|
-
description:
|
|
54
|
-
format:
|
|
55
|
-
}
|
|
52
|
+
type: "string" as const,
|
|
53
|
+
description: "Application UUID",
|
|
54
|
+
format: "uuid",
|
|
55
|
+
},
|
|
56
56
|
},
|
|
57
|
-
required: [
|
|
58
|
-
}
|
|
57
|
+
required: ["uuid"],
|
|
58
|
+
},
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
|
-
name:
|
|
61
|
+
name: "set_env_vars",
|
|
62
62
|
description: `Set environment variables for a Coolify application.
|
|
63
63
|
|
|
64
64
|
Updates or adds environment variables. Existing vars not in the
|
|
65
65
|
input are preserved. Redeploy after setting to apply changes.`,
|
|
66
66
|
inputSchema: {
|
|
67
|
-
type:
|
|
67
|
+
type: "object" as const,
|
|
68
68
|
properties: {
|
|
69
69
|
uuid: {
|
|
70
|
-
type:
|
|
71
|
-
description:
|
|
72
|
-
format:
|
|
70
|
+
type: "string" as const,
|
|
71
|
+
description: "Application UUID",
|
|
72
|
+
format: "uuid",
|
|
73
73
|
},
|
|
74
74
|
envVars: {
|
|
75
|
-
type:
|
|
76
|
-
description:
|
|
77
|
-
additionalProperties: { type:
|
|
78
|
-
}
|
|
75
|
+
type: "object" as const,
|
|
76
|
+
description: "Key-value pairs of environment variables",
|
|
77
|
+
additionalProperties: { type: "string" as const },
|
|
78
|
+
},
|
|
79
79
|
},
|
|
80
|
-
required: [
|
|
81
|
-
}
|
|
80
|
+
required: ["uuid", "envVars"],
|
|
81
|
+
},
|
|
82
82
|
},
|
|
83
83
|
{
|
|
84
|
-
name:
|
|
84
|
+
name: "get_deployment_status",
|
|
85
85
|
description: `Get the current status of a Coolify application.
|
|
86
86
|
|
|
87
87
|
Returns deployment state, health status, and resource usage.`,
|
|
88
88
|
inputSchema: {
|
|
89
|
-
type:
|
|
89
|
+
type: "object" as const,
|
|
90
90
|
properties: {
|
|
91
91
|
uuid: {
|
|
92
|
-
type:
|
|
93
|
-
description:
|
|
94
|
-
format:
|
|
95
|
-
}
|
|
92
|
+
type: "string" as const,
|
|
93
|
+
description: "Application UUID",
|
|
94
|
+
format: "uuid",
|
|
95
|
+
},
|
|
96
96
|
},
|
|
97
|
-
required: [
|
|
98
|
-
}
|
|
97
|
+
required: ["uuid"],
|
|
98
|
+
},
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
|
-
name:
|
|
101
|
+
name: "list_applications",
|
|
102
102
|
description: `List all applications in Coolify.
|
|
103
103
|
|
|
104
104
|
Optionally filter by team or project ID.`,
|
|
105
105
|
inputSchema: {
|
|
106
|
-
type:
|
|
106
|
+
type: "object" as const,
|
|
107
107
|
properties: {
|
|
108
108
|
teamId: {
|
|
109
|
-
type:
|
|
110
|
-
description:
|
|
109
|
+
type: "string" as const,
|
|
110
|
+
description: "Filter by Team ID",
|
|
111
111
|
},
|
|
112
112
|
projectId: {
|
|
113
|
-
type:
|
|
114
|
-
description:
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
113
|
+
type: "string" as const,
|
|
114
|
+
description: "Filter by Project ID",
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
|
-
name:
|
|
120
|
+
name: "delete_application",
|
|
121
121
|
description: `Delete an application from Coolify.
|
|
122
122
|
|
|
123
123
|
WARNING: This action is irreversible. All deployments, environment
|
|
124
124
|
variables, domains, and history will be permanently deleted.`,
|
|
125
125
|
inputSchema: {
|
|
126
|
-
type:
|
|
126
|
+
type: "object" as const,
|
|
127
127
|
properties: {
|
|
128
128
|
uuid: {
|
|
129
|
-
type:
|
|
130
|
-
description:
|
|
131
|
-
format:
|
|
132
|
-
}
|
|
129
|
+
type: "string" as const,
|
|
130
|
+
description: "Application UUID to delete",
|
|
131
|
+
format: "uuid",
|
|
132
|
+
},
|
|
133
133
|
},
|
|
134
|
-
required: [
|
|
135
|
-
}
|
|
134
|
+
required: ["uuid"],
|
|
135
|
+
},
|
|
136
136
|
},
|
|
137
137
|
{
|
|
138
|
-
name:
|
|
138
|
+
name: "get_application_logs",
|
|
139
139
|
description: `Get logs for a Coolify application.
|
|
140
140
|
|
|
141
|
-
Retrieve recent logs
|
|
141
|
+
Retrieve recent logs. For docker-compose apps, use serviceName to filter by container.`,
|
|
142
142
|
inputSchema: {
|
|
143
|
-
type:
|
|
143
|
+
type: "object" as const,
|
|
144
144
|
properties: {
|
|
145
145
|
uuid: {
|
|
146
|
-
type:
|
|
147
|
-
description:
|
|
148
|
-
format:
|
|
146
|
+
type: "string" as const,
|
|
147
|
+
description: "Application UUID",
|
|
148
|
+
format: "uuid",
|
|
149
149
|
},
|
|
150
150
|
tail: {
|
|
151
|
-
type:
|
|
152
|
-
description:
|
|
153
|
-
}
|
|
151
|
+
type: "number" as const,
|
|
152
|
+
description: "Number of log lines to retrieve (default: 100)",
|
|
153
|
+
},
|
|
154
|
+
serviceName: {
|
|
155
|
+
type: "string" as const,
|
|
156
|
+
description:
|
|
157
|
+
"Service name to filter logs (for docker-compose apps, e.g., 'app', 'db')",
|
|
158
|
+
},
|
|
154
159
|
},
|
|
155
|
-
required: [
|
|
156
|
-
}
|
|
160
|
+
required: ["uuid"],
|
|
161
|
+
},
|
|
157
162
|
},
|
|
158
163
|
{
|
|
159
|
-
name:
|
|
164
|
+
name: "start_application",
|
|
160
165
|
description: `Start a stopped Coolify application.
|
|
161
166
|
|
|
162
167
|
Use this to start applications that were previously stopped.`,
|
|
163
168
|
inputSchema: {
|
|
164
|
-
type:
|
|
169
|
+
type: "object" as const,
|
|
165
170
|
properties: {
|
|
166
171
|
uuid: {
|
|
167
|
-
type:
|
|
168
|
-
description:
|
|
169
|
-
format:
|
|
170
|
-
}
|
|
172
|
+
type: "string" as const,
|
|
173
|
+
description: "Application UUID to start",
|
|
174
|
+
format: "uuid",
|
|
175
|
+
},
|
|
176
|
+
force: {
|
|
177
|
+
type: "boolean" as const,
|
|
178
|
+
description: "Force start even if already running",
|
|
179
|
+
},
|
|
180
|
+
instantDeploy: {
|
|
181
|
+
type: "boolean" as const,
|
|
182
|
+
description: "Instant deploy without waiting for queue",
|
|
183
|
+
},
|
|
171
184
|
},
|
|
172
|
-
required: [
|
|
173
|
-
}
|
|
185
|
+
required: ["uuid"],
|
|
186
|
+
},
|
|
174
187
|
},
|
|
175
188
|
{
|
|
176
|
-
name:
|
|
189
|
+
name: "stop_application",
|
|
177
190
|
description: `Stop a running Coolify application.
|
|
178
191
|
|
|
179
192
|
WARNING: This will make the application temporarily unavailable.
|
|
180
193
|
Containers will be stopped but not deleted.`,
|
|
181
194
|
inputSchema: {
|
|
182
|
-
type:
|
|
195
|
+
type: "object" as const,
|
|
183
196
|
properties: {
|
|
184
197
|
uuid: {
|
|
185
|
-
type:
|
|
186
|
-
description:
|
|
187
|
-
format:
|
|
188
|
-
}
|
|
198
|
+
type: "string" as const,
|
|
199
|
+
description: "Application UUID to stop",
|
|
200
|
+
format: "uuid",
|
|
201
|
+
},
|
|
189
202
|
},
|
|
190
|
-
required: [
|
|
191
|
-
}
|
|
203
|
+
required: ["uuid"],
|
|
204
|
+
},
|
|
192
205
|
},
|
|
193
206
|
{
|
|
194
|
-
name:
|
|
207
|
+
name: "restart_application",
|
|
195
208
|
description: `Restart a Coolify application.
|
|
196
209
|
|
|
197
210
|
Equivalent to stopping and then starting the application.
|
|
198
211
|
Useful to apply configuration changes or recover from errors.`,
|
|
199
212
|
inputSchema: {
|
|
200
|
-
type:
|
|
213
|
+
type: "object" as const,
|
|
201
214
|
properties: {
|
|
202
215
|
uuid: {
|
|
203
|
-
type:
|
|
204
|
-
description:
|
|
205
|
-
format:
|
|
206
|
-
}
|
|
216
|
+
type: "string" as const,
|
|
217
|
+
description: "Application UUID to restart",
|
|
218
|
+
format: "uuid",
|
|
219
|
+
},
|
|
207
220
|
},
|
|
208
|
-
required: [
|
|
209
|
-
}
|
|
221
|
+
required: ["uuid"],
|
|
222
|
+
},
|
|
210
223
|
},
|
|
211
224
|
{
|
|
212
|
-
name:
|
|
225
|
+
name: "get_deployment_history",
|
|
213
226
|
description: `Get deployment history for a Coolify application.
|
|
214
227
|
|
|
215
228
|
Returns list of all deployments with status, timestamps, and commit info.`,
|
|
216
229
|
inputSchema: {
|
|
217
|
-
type:
|
|
230
|
+
type: "object" as const,
|
|
218
231
|
properties: {
|
|
219
232
|
uuid: {
|
|
220
|
-
type:
|
|
221
|
-
description:
|
|
222
|
-
format:
|
|
223
|
-
}
|
|
233
|
+
type: "string" as const,
|
|
234
|
+
description: "Application UUID",
|
|
235
|
+
format: "uuid",
|
|
236
|
+
},
|
|
224
237
|
},
|
|
225
|
-
required: [
|
|
226
|
-
}
|
|
238
|
+
required: ["uuid"],
|
|
239
|
+
},
|
|
227
240
|
},
|
|
228
241
|
{
|
|
229
|
-
name:
|
|
242
|
+
name: "update_application",
|
|
230
243
|
description: `Update configuration for a Coolify application.
|
|
231
244
|
|
|
232
245
|
Can modify name, description, build settings, commands, and domains.
|
|
233
246
|
Redeploy after updating to apply changes.`,
|
|
234
247
|
inputSchema: {
|
|
235
|
-
type:
|
|
248
|
+
type: "object" as const,
|
|
236
249
|
properties: {
|
|
237
250
|
uuid: {
|
|
238
|
-
type:
|
|
239
|
-
description:
|
|
240
|
-
format:
|
|
251
|
+
type: "string" as const,
|
|
252
|
+
description: "Application UUID",
|
|
253
|
+
format: "uuid",
|
|
241
254
|
},
|
|
242
255
|
name: {
|
|
243
|
-
type:
|
|
244
|
-
description:
|
|
256
|
+
type: "string" as const,
|
|
257
|
+
description: "New application name",
|
|
245
258
|
},
|
|
246
259
|
description: {
|
|
247
|
-
type:
|
|
248
|
-
description:
|
|
260
|
+
type: "string" as const,
|
|
261
|
+
description: "New description",
|
|
249
262
|
},
|
|
250
263
|
buildPack: {
|
|
251
|
-
type:
|
|
252
|
-
description:
|
|
253
|
-
enum: [
|
|
264
|
+
type: "string" as const,
|
|
265
|
+
description: "Build pack type",
|
|
266
|
+
enum: ["dockerfile", "nixpacks", "static", "dockercompose"],
|
|
254
267
|
},
|
|
255
268
|
gitBranch: {
|
|
256
|
-
type:
|
|
257
|
-
description:
|
|
269
|
+
type: "string" as const,
|
|
270
|
+
description: "Git branch to deploy",
|
|
258
271
|
},
|
|
259
272
|
portsExposes: {
|
|
260
|
-
type:
|
|
261
|
-
description:
|
|
273
|
+
type: "string" as const,
|
|
274
|
+
description: "Ports to expose (comma-separated)",
|
|
262
275
|
},
|
|
263
276
|
installCommand: {
|
|
264
|
-
type:
|
|
265
|
-
description:
|
|
277
|
+
type: "string" as const,
|
|
278
|
+
description: "Install command (nixpacks)",
|
|
266
279
|
},
|
|
267
280
|
buildCommand: {
|
|
268
|
-
type:
|
|
269
|
-
description:
|
|
281
|
+
type: "string" as const,
|
|
282
|
+
description: "Build command",
|
|
270
283
|
},
|
|
271
284
|
startCommand: {
|
|
272
|
-
type:
|
|
273
|
-
description:
|
|
285
|
+
type: "string" as const,
|
|
286
|
+
description: "Start command",
|
|
274
287
|
},
|
|
275
288
|
domains: {
|
|
276
|
-
type:
|
|
277
|
-
description:
|
|
289
|
+
type: "string" as const,
|
|
290
|
+
description:
|
|
291
|
+
'Domains/FQDN - comma separated list with protocol (e.g., "https://app.example.com,https://www.example.com")',
|
|
278
292
|
},
|
|
279
293
|
isForceHttpsEnabled: {
|
|
280
|
-
type:
|
|
281
|
-
description:
|
|
294
|
+
type: "boolean" as const,
|
|
295
|
+
description: "Force HTTPS redirect",
|
|
282
296
|
},
|
|
283
297
|
isAutoDeployEnabled: {
|
|
284
|
-
type:
|
|
285
|
-
description:
|
|
286
|
-
}
|
|
298
|
+
type: "boolean" as const,
|
|
299
|
+
description: "Enable auto deploy on git push",
|
|
300
|
+
},
|
|
301
|
+
dockerfileLocation: {
|
|
302
|
+
type: "string" as const,
|
|
303
|
+
description: "Dockerfile location relative to repo root",
|
|
304
|
+
},
|
|
305
|
+
baseDirectory: {
|
|
306
|
+
type: "string" as const,
|
|
307
|
+
description: 'Base directory for build context (default: "/")',
|
|
308
|
+
},
|
|
309
|
+
dockerComposeDomains: {
|
|
310
|
+
type: "string" as const,
|
|
311
|
+
description:
|
|
312
|
+
'Docker Compose domains JSON: { "service-name": { "domain": "https://..." } }',
|
|
313
|
+
},
|
|
287
314
|
},
|
|
288
|
-
required: [
|
|
289
|
-
}
|
|
315
|
+
required: ["uuid"],
|
|
316
|
+
},
|
|
290
317
|
},
|
|
291
318
|
{
|
|
292
|
-
name:
|
|
319
|
+
name: "set_domains",
|
|
293
320
|
description: `Set domains/FQDN for a Coolify application.
|
|
294
321
|
|
|
295
322
|
Configure custom domains for your application. Coolify automatically handles SSL certificates via Let's Encrypt.
|
|
@@ -299,274 +326,876 @@ Domain format:
|
|
|
299
326
|
- Multiple domains separated by comma: https://app.example.com,https://www.example.com
|
|
300
327
|
- Can include port mapping: https://api.example.com:3000`,
|
|
301
328
|
inputSchema: {
|
|
302
|
-
type:
|
|
329
|
+
type: "object" as const,
|
|
303
330
|
properties: {
|
|
304
331
|
uuid: {
|
|
305
|
-
type:
|
|
306
|
-
description:
|
|
307
|
-
format:
|
|
332
|
+
type: "string" as const,
|
|
333
|
+
description: "Application UUID",
|
|
334
|
+
format: "uuid",
|
|
308
335
|
},
|
|
309
336
|
domains: {
|
|
310
|
-
type:
|
|
311
|
-
description:
|
|
337
|
+
type: "string" as const,
|
|
338
|
+
description:
|
|
339
|
+
'Domains/FQDN - comma separated list with protocol (e.g., "https://app.example.com,https://www.example.com")',
|
|
312
340
|
},
|
|
313
341
|
forceHttps: {
|
|
314
|
-
type:
|
|
315
|
-
description:
|
|
316
|
-
default: true
|
|
317
|
-
}
|
|
342
|
+
type: "boolean" as const,
|
|
343
|
+
description: "Force HTTPS redirect (default: true)",
|
|
344
|
+
default: true,
|
|
345
|
+
},
|
|
318
346
|
},
|
|
319
|
-
required: [
|
|
320
|
-
}
|
|
347
|
+
required: ["uuid", "domains"],
|
|
348
|
+
},
|
|
321
349
|
},
|
|
322
350
|
{
|
|
323
|
-
name:
|
|
351
|
+
name: "list_servers",
|
|
324
352
|
description: `List all available servers in Coolify.
|
|
325
353
|
|
|
326
354
|
Returns server UUIDs, names, and IPs. Use server UUID when creating applications.`,
|
|
327
355
|
inputSchema: {
|
|
328
|
-
type:
|
|
329
|
-
properties: {}
|
|
330
|
-
}
|
|
356
|
+
type: "object" as const,
|
|
357
|
+
properties: {},
|
|
358
|
+
},
|
|
331
359
|
},
|
|
332
360
|
{
|
|
333
|
-
name:
|
|
361
|
+
name: "get_server",
|
|
334
362
|
description: `Get details of a specific Coolify server.
|
|
335
363
|
|
|
336
364
|
Returns server information including name, IP, status, and configuration.`,
|
|
337
365
|
inputSchema: {
|
|
338
|
-
type:
|
|
366
|
+
type: "object" as const,
|
|
339
367
|
properties: {
|
|
340
368
|
serverUuid: {
|
|
341
|
-
type:
|
|
342
|
-
description:
|
|
343
|
-
format:
|
|
344
|
-
}
|
|
369
|
+
type: "string" as const,
|
|
370
|
+
description: "Server UUID to get details for",
|
|
371
|
+
format: "uuid",
|
|
372
|
+
},
|
|
345
373
|
},
|
|
346
|
-
required: [
|
|
347
|
-
}
|
|
374
|
+
required: ["serverUuid"],
|
|
375
|
+
},
|
|
348
376
|
},
|
|
349
377
|
{
|
|
350
|
-
name:
|
|
378
|
+
name: "list_projects",
|
|
351
379
|
description: `List all projects in Coolify.
|
|
352
380
|
|
|
353
381
|
Returns project UUIDs, names, and associated environments.`,
|
|
354
382
|
inputSchema: {
|
|
355
|
-
type:
|
|
356
|
-
properties: {}
|
|
357
|
-
}
|
|
383
|
+
type: "object" as const,
|
|
384
|
+
properties: {},
|
|
385
|
+
},
|
|
358
386
|
},
|
|
359
387
|
{
|
|
360
|
-
name:
|
|
388
|
+
name: "list_teams",
|
|
361
389
|
description: `List all teams in Coolify.
|
|
362
390
|
|
|
363
391
|
Returns team IDs, names, and configuration.`,
|
|
364
392
|
inputSchema: {
|
|
365
|
-
type:
|
|
366
|
-
properties: {}
|
|
367
|
-
}
|
|
393
|
+
type: "object" as const,
|
|
394
|
+
properties: {},
|
|
395
|
+
},
|
|
368
396
|
},
|
|
369
397
|
{
|
|
370
|
-
name:
|
|
398
|
+
name: "get_server_destinations",
|
|
371
399
|
description: `Get available destinations for a Coolify server.
|
|
372
400
|
|
|
373
401
|
Returns destination UUIDs needed when creating applications.
|
|
374
402
|
Each destination represents a Docker network/environment on the server.`,
|
|
375
403
|
inputSchema: {
|
|
376
|
-
type:
|
|
404
|
+
type: "object" as const,
|
|
377
405
|
properties: {
|
|
378
406
|
serverUuid: {
|
|
379
|
-
type:
|
|
380
|
-
description:
|
|
381
|
-
format:
|
|
382
|
-
}
|
|
407
|
+
type: "string" as const,
|
|
408
|
+
description: "Server UUID to get destinations for",
|
|
409
|
+
format: "uuid",
|
|
410
|
+
},
|
|
383
411
|
},
|
|
384
|
-
required: [
|
|
385
|
-
}
|
|
412
|
+
required: ["serverUuid"],
|
|
413
|
+
},
|
|
386
414
|
},
|
|
387
415
|
{
|
|
388
|
-
name:
|
|
416
|
+
name: "create_application",
|
|
389
417
|
description: `Create a new application in Coolify from a GitHub repository.
|
|
390
418
|
|
|
391
419
|
Requires server UUID and destination UUID (get them from list_servers and get_server_destinations).
|
|
392
420
|
The GitHub repository must be accessible via the configured GitHub App.`,
|
|
393
421
|
inputSchema: {
|
|
394
|
-
type:
|
|
422
|
+
type: "object" as const,
|
|
395
423
|
properties: {
|
|
396
424
|
name: {
|
|
397
|
-
type:
|
|
398
|
-
description:
|
|
425
|
+
type: "string" as const,
|
|
426
|
+
description: "Application name",
|
|
399
427
|
},
|
|
400
428
|
serverUuid: {
|
|
401
|
-
type:
|
|
402
|
-
description:
|
|
403
|
-
format:
|
|
429
|
+
type: "string" as const,
|
|
430
|
+
description: "Server UUID to deploy to",
|
|
431
|
+
format: "uuid",
|
|
404
432
|
},
|
|
405
433
|
destinationUuid: {
|
|
406
|
-
type:
|
|
407
|
-
description:
|
|
408
|
-
format:
|
|
434
|
+
type: "string" as const,
|
|
435
|
+
description: "Destination UUID (Docker network)",
|
|
436
|
+
format: "uuid",
|
|
409
437
|
},
|
|
410
438
|
githubRepoUrl: {
|
|
411
|
-
type:
|
|
412
|
-
description:
|
|
439
|
+
type: "string" as const,
|
|
440
|
+
description:
|
|
441
|
+
"GitHub repository URL (e.g., https://github.com/user/repo)",
|
|
413
442
|
},
|
|
414
443
|
description: {
|
|
415
|
-
type:
|
|
416
|
-
description:
|
|
444
|
+
type: "string" as const,
|
|
445
|
+
description: "Application description",
|
|
417
446
|
},
|
|
418
447
|
branch: {
|
|
419
|
-
type:
|
|
420
|
-
description:
|
|
421
|
-
default:
|
|
448
|
+
type: "string" as const,
|
|
449
|
+
description: "Git branch to deploy",
|
|
450
|
+
default: "main",
|
|
422
451
|
},
|
|
423
452
|
buildPack: {
|
|
424
|
-
type:
|
|
425
|
-
description:
|
|
426
|
-
enum: [
|
|
427
|
-
default:
|
|
453
|
+
type: "string" as const,
|
|
454
|
+
description: "Build pack type",
|
|
455
|
+
enum: ["dockerfile", "nixpacks", "static", "dockercompose"],
|
|
456
|
+
default: "nixpacks",
|
|
428
457
|
},
|
|
429
458
|
type: {
|
|
430
|
-
type:
|
|
431
|
-
description:
|
|
432
|
-
enum: [
|
|
433
|
-
|
|
459
|
+
type: "string" as const,
|
|
460
|
+
description: "Application type",
|
|
461
|
+
enum: [
|
|
462
|
+
"public",
|
|
463
|
+
"private-github-app",
|
|
464
|
+
"private-deploy-key",
|
|
465
|
+
"dockerfile",
|
|
466
|
+
"docker-image",
|
|
467
|
+
"docker-compose",
|
|
468
|
+
],
|
|
469
|
+
default: "public",
|
|
434
470
|
},
|
|
435
471
|
dockerComposeLocation: {
|
|
436
|
-
type:
|
|
437
|
-
description:
|
|
472
|
+
type: "string" as const,
|
|
473
|
+
description:
|
|
474
|
+
"Docker Compose file location relative to repo root (for dockercompose buildPack)",
|
|
438
475
|
},
|
|
439
476
|
dockerfileLocation: {
|
|
440
|
-
type:
|
|
441
|
-
description:
|
|
477
|
+
type: "string" as const,
|
|
478
|
+
description: "Dockerfile location relative to repo root",
|
|
442
479
|
},
|
|
443
480
|
baseDirectory: {
|
|
444
|
-
type:
|
|
445
|
-
description: 'Base directory for build context (default: "/")'
|
|
446
|
-
}
|
|
481
|
+
type: "string" as const,
|
|
482
|
+
description: 'Base directory for build context (default: "/")',
|
|
483
|
+
},
|
|
484
|
+
projectUuid: {
|
|
485
|
+
type: "string" as const,
|
|
486
|
+
description: "Project UUID",
|
|
487
|
+
},
|
|
488
|
+
environmentUuid: {
|
|
489
|
+
type: "string" as const,
|
|
490
|
+
description: "Environment UUID",
|
|
491
|
+
},
|
|
492
|
+
githubAppUuid: {
|
|
493
|
+
type: "string" as const,
|
|
494
|
+
description:
|
|
495
|
+
"GitHub App UUID (for private-github-app type, get from list_github_apps)",
|
|
496
|
+
},
|
|
497
|
+
portsExposes: {
|
|
498
|
+
type: "string" as const,
|
|
499
|
+
description: "Ports to expose (e.g., '3000' or '3000,8080')",
|
|
500
|
+
},
|
|
447
501
|
},
|
|
448
|
-
required: [
|
|
449
|
-
}
|
|
502
|
+
required: ["name", "serverUuid"],
|
|
503
|
+
},
|
|
450
504
|
},
|
|
451
505
|
{
|
|
452
|
-
name:
|
|
506
|
+
name: "create_project",
|
|
453
507
|
description: `Create a new project in Coolify.
|
|
454
508
|
|
|
455
509
|
Projects organize applications into logical groups. Each project has one or more environments (e.g., production, staging).`,
|
|
456
510
|
inputSchema: {
|
|
457
|
-
type:
|
|
511
|
+
type: "object" as const,
|
|
458
512
|
properties: {
|
|
459
513
|
name: {
|
|
460
|
-
type:
|
|
461
|
-
description:
|
|
514
|
+
type: "string" as const,
|
|
515
|
+
description: "Project name",
|
|
462
516
|
},
|
|
463
517
|
description: {
|
|
464
|
-
type:
|
|
465
|
-
description:
|
|
466
|
-
}
|
|
518
|
+
type: "string" as const,
|
|
519
|
+
description: "Project description",
|
|
520
|
+
},
|
|
467
521
|
},
|
|
468
|
-
required: [
|
|
469
|
-
}
|
|
522
|
+
required: ["name"],
|
|
523
|
+
},
|
|
470
524
|
},
|
|
471
525
|
{
|
|
472
|
-
name:
|
|
526
|
+
name: "get_resource_usage",
|
|
473
527
|
description: `Get resource usage for a Coolify application.
|
|
474
528
|
|
|
475
529
|
Returns current resource consumption metrics.`,
|
|
476
530
|
inputSchema: {
|
|
477
|
-
type:
|
|
531
|
+
type: "object" as const,
|
|
478
532
|
properties: {
|
|
479
533
|
uuid: {
|
|
480
|
-
type:
|
|
481
|
-
description:
|
|
482
|
-
format:
|
|
483
|
-
}
|
|
534
|
+
type: "string" as const,
|
|
535
|
+
description: "Application UUID",
|
|
536
|
+
format: "uuid",
|
|
537
|
+
},
|
|
484
538
|
},
|
|
485
|
-
required: [
|
|
486
|
-
}
|
|
539
|
+
required: ["uuid"],
|
|
540
|
+
},
|
|
487
541
|
},
|
|
488
542
|
{
|
|
489
|
-
name:
|
|
543
|
+
name: "health_check",
|
|
490
544
|
description: `Check if Coolify API is accessible and credentials are valid.
|
|
491
545
|
|
|
492
546
|
Returns connection status and API version info if available.`,
|
|
493
547
|
inputSchema: {
|
|
494
|
-
type:
|
|
495
|
-
properties: {}
|
|
496
|
-
}
|
|
548
|
+
type: "object" as const,
|
|
549
|
+
properties: {},
|
|
550
|
+
},
|
|
497
551
|
},
|
|
498
552
|
{
|
|
499
|
-
name:
|
|
553
|
+
name: "list_deployments",
|
|
500
554
|
description: `List all active and queued deployments across all applications.
|
|
501
555
|
|
|
502
556
|
Returns deployments that are currently in progress or waiting in queue.
|
|
503
557
|
Useful for monitoring ongoing builds and deployments.`,
|
|
504
558
|
inputSchema: {
|
|
505
|
-
type:
|
|
506
|
-
properties: {}
|
|
507
|
-
}
|
|
559
|
+
type: "object" as const,
|
|
560
|
+
properties: {},
|
|
561
|
+
},
|
|
508
562
|
},
|
|
509
563
|
{
|
|
510
|
-
name:
|
|
564
|
+
name: "get_deployment",
|
|
511
565
|
description: `Get detailed information about a specific deployment.
|
|
512
566
|
|
|
513
567
|
Returns deployment status, logs, timestamps, and error messages if any.
|
|
514
568
|
Use deployment UUID from list_deployments or get_application_deployments.`,
|
|
515
569
|
inputSchema: {
|
|
516
|
-
type:
|
|
570
|
+
type: "object" as const,
|
|
517
571
|
properties: {
|
|
518
572
|
deploymentUuid: {
|
|
519
|
-
type:
|
|
520
|
-
description:
|
|
521
|
-
}
|
|
573
|
+
type: "string" as const,
|
|
574
|
+
description: "Deployment UUID",
|
|
575
|
+
},
|
|
522
576
|
},
|
|
523
|
-
required: [
|
|
524
|
-
}
|
|
577
|
+
required: ["deploymentUuid"],
|
|
578
|
+
},
|
|
525
579
|
},
|
|
526
580
|
{
|
|
527
|
-
name:
|
|
581
|
+
name: "get_application_deployments",
|
|
528
582
|
description: `Get deployment history for a specific application.
|
|
529
583
|
|
|
530
584
|
Returns list of all deployments with status, timestamps, commit info, and logs.
|
|
531
585
|
Useful for debugging failed deployments and tracking deployment history.`,
|
|
532
586
|
inputSchema: {
|
|
533
|
-
type:
|
|
587
|
+
type: "object" as const,
|
|
534
588
|
properties: {
|
|
535
589
|
uuid: {
|
|
536
|
-
type:
|
|
537
|
-
description:
|
|
538
|
-
format:
|
|
590
|
+
type: "string" as const,
|
|
591
|
+
description: "Application UUID",
|
|
592
|
+
format: "uuid",
|
|
539
593
|
},
|
|
540
594
|
skip: {
|
|
541
|
-
type:
|
|
542
|
-
description:
|
|
543
|
-
default: 0
|
|
595
|
+
type: "number" as const,
|
|
596
|
+
description: "Number of deployments to skip (pagination)",
|
|
597
|
+
default: 0,
|
|
544
598
|
},
|
|
545
599
|
take: {
|
|
546
|
-
type:
|
|
547
|
-
description:
|
|
548
|
-
default: 10
|
|
549
|
-
}
|
|
600
|
+
type: "number" as const,
|
|
601
|
+
description: "Number of deployments to return (default: 10)",
|
|
602
|
+
default: 10,
|
|
603
|
+
},
|
|
550
604
|
},
|
|
551
|
-
required: [
|
|
552
|
-
}
|
|
605
|
+
required: ["uuid"],
|
|
606
|
+
},
|
|
553
607
|
},
|
|
554
608
|
{
|
|
555
|
-
name:
|
|
609
|
+
name: "get_application_details",
|
|
556
610
|
description: `Get detailed information about a Coolify application.
|
|
557
611
|
|
|
558
612
|
Returns full application configuration including name, description,
|
|
559
613
|
build settings, environment, and deployment status.`,
|
|
560
614
|
inputSchema: {
|
|
561
|
-
type:
|
|
615
|
+
type: "object" as const,
|
|
616
|
+
properties: {
|
|
617
|
+
uuid: {
|
|
618
|
+
type: "string" as const,
|
|
619
|
+
description: "Application UUID",
|
|
620
|
+
format: "uuid",
|
|
621
|
+
},
|
|
622
|
+
},
|
|
623
|
+
required: ["uuid"],
|
|
624
|
+
},
|
|
625
|
+
},
|
|
626
|
+
|
|
627
|
+
// ===========================================================================
|
|
628
|
+
// Version / Health
|
|
629
|
+
// ===========================================================================
|
|
630
|
+
{
|
|
631
|
+
name: "execute_command",
|
|
632
|
+
description: `Execute a shell command on an application's running container.
|
|
633
|
+
|
|
634
|
+
Useful for debugging, checking file contents, or running one-off operations.`,
|
|
635
|
+
inputSchema: {
|
|
636
|
+
type: "object" as const,
|
|
637
|
+
properties: {
|
|
638
|
+
uuid: {
|
|
639
|
+
type: "string" as const,
|
|
640
|
+
description: "Application UUID",
|
|
641
|
+
},
|
|
642
|
+
command: {
|
|
643
|
+
type: "string" as const,
|
|
644
|
+
description:
|
|
645
|
+
"Shell command to execute (e.g., 'ls -la', 'cat /app/logs/error.log')",
|
|
646
|
+
},
|
|
647
|
+
},
|
|
648
|
+
required: ["uuid", "command"],
|
|
649
|
+
},
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
name: "bulk_update_env_vars",
|
|
653
|
+
description: `Bulk update environment variables for an application.
|
|
654
|
+
|
|
655
|
+
More efficient than setting variables one by one. Accepts an array of key-value pairs.`,
|
|
656
|
+
inputSchema: {
|
|
657
|
+
type: "object" as const,
|
|
658
|
+
properties: {
|
|
659
|
+
uuid: {
|
|
660
|
+
type: "string" as const,
|
|
661
|
+
description: "Application UUID",
|
|
662
|
+
},
|
|
663
|
+
envVars: {
|
|
664
|
+
type: "array" as const,
|
|
665
|
+
description: "Array of { key, value, is_preview? } objects",
|
|
666
|
+
items: {
|
|
667
|
+
type: "object" as const,
|
|
668
|
+
properties: {
|
|
669
|
+
key: { type: "string" as const },
|
|
670
|
+
value: { type: "string" as const },
|
|
671
|
+
is_preview: { type: "boolean" as const },
|
|
672
|
+
},
|
|
673
|
+
required: ["key", "value"],
|
|
674
|
+
},
|
|
675
|
+
},
|
|
676
|
+
},
|
|
677
|
+
required: ["uuid", "envVars"],
|
|
678
|
+
},
|
|
679
|
+
},
|
|
680
|
+
|
|
681
|
+
// ===========================================================================
|
|
682
|
+
// Version / Health
|
|
683
|
+
// ===========================================================================
|
|
684
|
+
{
|
|
685
|
+
name: "get_version",
|
|
686
|
+
description: `Get the Coolify server version.
|
|
687
|
+
|
|
688
|
+
Returns the version string of the connected Coolify instance.`,
|
|
689
|
+
inputSchema: {
|
|
690
|
+
type: "object" as const,
|
|
691
|
+
properties: {},
|
|
692
|
+
},
|
|
693
|
+
},
|
|
694
|
+
|
|
695
|
+
// ===========================================================================
|
|
696
|
+
// Database Management
|
|
697
|
+
// ===========================================================================
|
|
698
|
+
{
|
|
699
|
+
name: "list_databases",
|
|
700
|
+
description: `List all databases in Coolify.
|
|
701
|
+
|
|
702
|
+
Returns database UUIDs, names, types, and status.`,
|
|
703
|
+
inputSchema: {
|
|
704
|
+
type: "object" as const,
|
|
705
|
+
properties: {},
|
|
706
|
+
},
|
|
707
|
+
},
|
|
708
|
+
{
|
|
709
|
+
name: "get_database",
|
|
710
|
+
description: `Get details of a specific database.
|
|
711
|
+
|
|
712
|
+
Returns full database configuration, connection info, and status.`,
|
|
713
|
+
inputSchema: {
|
|
714
|
+
type: "object" as const,
|
|
715
|
+
properties: {
|
|
716
|
+
uuid: {
|
|
717
|
+
type: "string" as const,
|
|
718
|
+
description: "Database UUID",
|
|
719
|
+
},
|
|
720
|
+
},
|
|
721
|
+
required: ["uuid"],
|
|
722
|
+
},
|
|
723
|
+
},
|
|
724
|
+
{
|
|
725
|
+
name: "create_database",
|
|
726
|
+
description: `Create a new database in Coolify.
|
|
727
|
+
|
|
728
|
+
Supports types: postgresql, mysql, mariadb, mongodb, redis, keydb, clickhouse, dragonfly.
|
|
729
|
+
Requires server_uuid and project_uuid in the data.`,
|
|
730
|
+
inputSchema: {
|
|
731
|
+
type: "object" as const,
|
|
732
|
+
properties: {
|
|
733
|
+
dbType: {
|
|
734
|
+
type: "string" as const,
|
|
735
|
+
description: "Database type",
|
|
736
|
+
enum: [
|
|
737
|
+
"postgresql",
|
|
738
|
+
"mysql",
|
|
739
|
+
"mariadb",
|
|
740
|
+
"mongodb",
|
|
741
|
+
"redis",
|
|
742
|
+
"keydb",
|
|
743
|
+
"clickhouse",
|
|
744
|
+
"dragonfly",
|
|
745
|
+
],
|
|
746
|
+
},
|
|
747
|
+
data: {
|
|
748
|
+
type: "object" as const,
|
|
749
|
+
description:
|
|
750
|
+
"Database creation data (server_uuid, project_uuid, environment_name, etc.)",
|
|
751
|
+
additionalProperties: true,
|
|
752
|
+
},
|
|
753
|
+
},
|
|
754
|
+
required: ["dbType", "data"],
|
|
755
|
+
},
|
|
756
|
+
},
|
|
757
|
+
{
|
|
758
|
+
name: "delete_database",
|
|
759
|
+
description: `Delete a database from Coolify.
|
|
760
|
+
|
|
761
|
+
WARNING: This action is irreversible.`,
|
|
762
|
+
inputSchema: {
|
|
763
|
+
type: "object" as const,
|
|
764
|
+
properties: {
|
|
765
|
+
uuid: {
|
|
766
|
+
type: "string" as const,
|
|
767
|
+
description: "Database UUID to delete",
|
|
768
|
+
},
|
|
769
|
+
},
|
|
770
|
+
required: ["uuid"],
|
|
771
|
+
},
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
name: "start_database",
|
|
775
|
+
description: `Start a stopped database.`,
|
|
776
|
+
inputSchema: {
|
|
777
|
+
type: "object" as const,
|
|
778
|
+
properties: {
|
|
779
|
+
uuid: {
|
|
780
|
+
type: "string" as const,
|
|
781
|
+
description: "Database UUID to start",
|
|
782
|
+
},
|
|
783
|
+
},
|
|
784
|
+
required: ["uuid"],
|
|
785
|
+
},
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
name: "stop_database",
|
|
789
|
+
description: `Stop a running database.
|
|
790
|
+
|
|
791
|
+
WARNING: This will make the database temporarily unavailable.`,
|
|
792
|
+
inputSchema: {
|
|
793
|
+
type: "object" as const,
|
|
794
|
+
properties: {
|
|
795
|
+
uuid: {
|
|
796
|
+
type: "string" as const,
|
|
797
|
+
description: "Database UUID to stop",
|
|
798
|
+
},
|
|
799
|
+
},
|
|
800
|
+
required: ["uuid"],
|
|
801
|
+
},
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
name: "restart_database",
|
|
805
|
+
description: `Restart a database.`,
|
|
806
|
+
inputSchema: {
|
|
807
|
+
type: "object" as const,
|
|
808
|
+
properties: {
|
|
809
|
+
uuid: {
|
|
810
|
+
type: "string" as const,
|
|
811
|
+
description: "Database UUID to restart",
|
|
812
|
+
},
|
|
813
|
+
},
|
|
814
|
+
required: ["uuid"],
|
|
815
|
+
},
|
|
816
|
+
},
|
|
817
|
+
|
|
818
|
+
// ===========================================================================
|
|
819
|
+
// Service Management
|
|
820
|
+
// ===========================================================================
|
|
821
|
+
{
|
|
822
|
+
name: "list_services",
|
|
823
|
+
description: `List all services in Coolify.
|
|
824
|
+
|
|
825
|
+
Returns service UUIDs, names, types, and status.`,
|
|
826
|
+
inputSchema: {
|
|
827
|
+
type: "object" as const,
|
|
828
|
+
properties: {},
|
|
829
|
+
},
|
|
830
|
+
},
|
|
831
|
+
{
|
|
832
|
+
name: "get_service",
|
|
833
|
+
description: `Get details of a specific service.`,
|
|
834
|
+
inputSchema: {
|
|
835
|
+
type: "object" as const,
|
|
836
|
+
properties: {
|
|
837
|
+
uuid: {
|
|
838
|
+
type: "string" as const,
|
|
839
|
+
description: "Service UUID",
|
|
840
|
+
},
|
|
841
|
+
},
|
|
842
|
+
required: ["uuid"],
|
|
843
|
+
},
|
|
844
|
+
},
|
|
845
|
+
{
|
|
846
|
+
name: "start_service",
|
|
847
|
+
description: `Start a stopped service.`,
|
|
848
|
+
inputSchema: {
|
|
849
|
+
type: "object" as const,
|
|
850
|
+
properties: {
|
|
851
|
+
uuid: {
|
|
852
|
+
type: "string" as const,
|
|
853
|
+
description: "Service UUID to start",
|
|
854
|
+
},
|
|
855
|
+
},
|
|
856
|
+
required: ["uuid"],
|
|
857
|
+
},
|
|
858
|
+
},
|
|
859
|
+
{
|
|
860
|
+
name: "stop_service",
|
|
861
|
+
description: `Stop a running service.`,
|
|
862
|
+
inputSchema: {
|
|
863
|
+
type: "object" as const,
|
|
864
|
+
properties: {
|
|
865
|
+
uuid: {
|
|
866
|
+
type: "string" as const,
|
|
867
|
+
description: "Service UUID to stop",
|
|
868
|
+
},
|
|
869
|
+
},
|
|
870
|
+
required: ["uuid"],
|
|
871
|
+
},
|
|
872
|
+
},
|
|
873
|
+
{
|
|
874
|
+
name: "restart_service",
|
|
875
|
+
description: `Restart a service.`,
|
|
876
|
+
inputSchema: {
|
|
877
|
+
type: "object" as const,
|
|
878
|
+
properties: {
|
|
879
|
+
uuid: {
|
|
880
|
+
type: "string" as const,
|
|
881
|
+
description: "Service UUID to restart",
|
|
882
|
+
},
|
|
883
|
+
},
|
|
884
|
+
required: ["uuid"],
|
|
885
|
+
},
|
|
886
|
+
},
|
|
887
|
+
{
|
|
888
|
+
name: "delete_service",
|
|
889
|
+
description: `Delete a service from Coolify.
|
|
890
|
+
|
|
891
|
+
WARNING: This action is irreversible.`,
|
|
892
|
+
inputSchema: {
|
|
893
|
+
type: "object" as const,
|
|
894
|
+
properties: {
|
|
895
|
+
uuid: {
|
|
896
|
+
type: "string" as const,
|
|
897
|
+
description: "Service UUID to delete",
|
|
898
|
+
},
|
|
899
|
+
},
|
|
900
|
+
required: ["uuid"],
|
|
901
|
+
},
|
|
902
|
+
},
|
|
903
|
+
|
|
904
|
+
// ===========================================================================
|
|
905
|
+
// Server (additional)
|
|
906
|
+
// ===========================================================================
|
|
907
|
+
{
|
|
908
|
+
name: "get_server_resources",
|
|
909
|
+
description: `Get all resources deployed on a server.
|
|
910
|
+
|
|
911
|
+
Returns applications, databases, and services running on the server.`,
|
|
912
|
+
inputSchema: {
|
|
913
|
+
type: "object" as const,
|
|
914
|
+
properties: {
|
|
915
|
+
serverUuid: {
|
|
916
|
+
type: "string" as const,
|
|
917
|
+
description: "Server UUID",
|
|
918
|
+
},
|
|
919
|
+
},
|
|
920
|
+
required: ["serverUuid"],
|
|
921
|
+
},
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
name: "get_server_domains",
|
|
925
|
+
description: `Get all domains configured on a server.`,
|
|
926
|
+
inputSchema: {
|
|
927
|
+
type: "object" as const,
|
|
928
|
+
properties: {
|
|
929
|
+
serverUuid: {
|
|
930
|
+
type: "string" as const,
|
|
931
|
+
description: "Server UUID",
|
|
932
|
+
},
|
|
933
|
+
},
|
|
934
|
+
required: ["serverUuid"],
|
|
935
|
+
},
|
|
936
|
+
},
|
|
937
|
+
{
|
|
938
|
+
name: "validate_server",
|
|
939
|
+
description: `Validate a server connection in Coolify.
|
|
940
|
+
|
|
941
|
+
Checks if the server is reachable and properly configured.`,
|
|
942
|
+
inputSchema: {
|
|
943
|
+
type: "object" as const,
|
|
944
|
+
properties: {
|
|
945
|
+
serverUuid: {
|
|
946
|
+
type: "string" as const,
|
|
947
|
+
description: "Server UUID to validate",
|
|
948
|
+
},
|
|
949
|
+
},
|
|
950
|
+
required: ["serverUuid"],
|
|
951
|
+
},
|
|
952
|
+
},
|
|
953
|
+
|
|
954
|
+
// ===========================================================================
|
|
955
|
+
// Deployment Control
|
|
956
|
+
// ===========================================================================
|
|
957
|
+
{
|
|
958
|
+
name: "cancel_deployment",
|
|
959
|
+
description: `Cancel an in-progress deployment.
|
|
960
|
+
|
|
961
|
+
Stops the build/deployment process for the specified deployment.`,
|
|
962
|
+
inputSchema: {
|
|
963
|
+
type: "object" as const,
|
|
964
|
+
properties: {
|
|
965
|
+
deploymentUuid: {
|
|
966
|
+
type: "string" as const,
|
|
967
|
+
description: "Deployment UUID to cancel",
|
|
968
|
+
},
|
|
969
|
+
},
|
|
970
|
+
required: ["deploymentUuid"],
|
|
971
|
+
},
|
|
972
|
+
},
|
|
973
|
+
|
|
974
|
+
// ===========================================================================
|
|
975
|
+
// Teams (additional)
|
|
976
|
+
// ===========================================================================
|
|
977
|
+
{
|
|
978
|
+
name: "get_current_team",
|
|
979
|
+
description: `Get the current team associated with the API token.`,
|
|
980
|
+
inputSchema: {
|
|
981
|
+
type: "object" as const,
|
|
982
|
+
properties: {},
|
|
983
|
+
},
|
|
984
|
+
},
|
|
985
|
+
{
|
|
986
|
+
name: "get_team_members",
|
|
987
|
+
description: `Get members of a specific team.`,
|
|
988
|
+
inputSchema: {
|
|
989
|
+
type: "object" as const,
|
|
990
|
+
properties: {
|
|
991
|
+
teamId: {
|
|
992
|
+
type: "number" as const,
|
|
993
|
+
description: "Team ID",
|
|
994
|
+
},
|
|
995
|
+
},
|
|
996
|
+
required: ["teamId"],
|
|
997
|
+
},
|
|
998
|
+
},
|
|
999
|
+
|
|
1000
|
+
// ===========================================================================
|
|
1001
|
+
// Private Keys / SSH
|
|
1002
|
+
// ===========================================================================
|
|
1003
|
+
{
|
|
1004
|
+
name: "list_private_keys",
|
|
1005
|
+
description: `List all SSH private keys configured in Coolify.`,
|
|
1006
|
+
inputSchema: {
|
|
1007
|
+
type: "object" as const,
|
|
1008
|
+
properties: {},
|
|
1009
|
+
},
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
name: "get_private_key",
|
|
1013
|
+
description: `Get details of a specific SSH private key.`,
|
|
1014
|
+
inputSchema: {
|
|
1015
|
+
type: "object" as const,
|
|
1016
|
+
properties: {
|
|
1017
|
+
uuid: {
|
|
1018
|
+
type: "string" as const,
|
|
1019
|
+
description: "Private key UUID",
|
|
1020
|
+
},
|
|
1021
|
+
},
|
|
1022
|
+
required: ["uuid"],
|
|
1023
|
+
},
|
|
1024
|
+
},
|
|
1025
|
+
|
|
1026
|
+
// ===========================================================================
|
|
1027
|
+
// Smart Resolution
|
|
1028
|
+
// ===========================================================================
|
|
1029
|
+
{
|
|
1030
|
+
name: "resolve_application",
|
|
1031
|
+
description: `Find an application by name, domain, or UUID.
|
|
1032
|
+
|
|
1033
|
+
Searches across all applications and returns the match. Useful when you know
|
|
1034
|
+
the app name but not the UUID.`,
|
|
1035
|
+
inputSchema: {
|
|
1036
|
+
type: "object" as const,
|
|
1037
|
+
properties: {
|
|
1038
|
+
query: {
|
|
1039
|
+
type: "string" as const,
|
|
1040
|
+
description: "Application name, domain (FQDN), or UUID to search for",
|
|
1041
|
+
},
|
|
1042
|
+
},
|
|
1043
|
+
required: ["query"],
|
|
1044
|
+
},
|
|
1045
|
+
},
|
|
1046
|
+
{
|
|
1047
|
+
name: "resolve_server",
|
|
1048
|
+
description: `Find a server by name, IP, or UUID.`,
|
|
1049
|
+
inputSchema: {
|
|
1050
|
+
type: "object" as const,
|
|
1051
|
+
properties: {
|
|
1052
|
+
query: {
|
|
1053
|
+
type: "string" as const,
|
|
1054
|
+
description: "Server name, IP address, or UUID to search for",
|
|
1055
|
+
},
|
|
1056
|
+
},
|
|
1057
|
+
required: ["query"],
|
|
1058
|
+
},
|
|
1059
|
+
},
|
|
1060
|
+
|
|
1061
|
+
// ===========================================================================
|
|
1062
|
+
// Diagnostics
|
|
1063
|
+
// ===========================================================================
|
|
1064
|
+
{
|
|
1065
|
+
name: "diagnose_application",
|
|
1066
|
+
description: `Run a comprehensive diagnostic on an application.
|
|
1067
|
+
|
|
1068
|
+
Aggregates status, recent deployments, environment variables, and logs
|
|
1069
|
+
into a single diagnostic report with identified issues.`,
|
|
1070
|
+
inputSchema: {
|
|
1071
|
+
type: "object" as const,
|
|
1072
|
+
properties: {
|
|
1073
|
+
query: {
|
|
1074
|
+
type: "string" as const,
|
|
1075
|
+
description: "Application name, domain, or UUID to diagnose",
|
|
1076
|
+
},
|
|
1077
|
+
},
|
|
1078
|
+
required: ["query"],
|
|
1079
|
+
},
|
|
1080
|
+
},
|
|
1081
|
+
{
|
|
1082
|
+
name: "diagnose_server",
|
|
1083
|
+
description: `Run a comprehensive diagnostic on a server.
|
|
1084
|
+
|
|
1085
|
+
Aggregates server health, deployed resources, and domains into a diagnostic report.`,
|
|
1086
|
+
inputSchema: {
|
|
1087
|
+
type: "object" as const,
|
|
1088
|
+
properties: {
|
|
1089
|
+
query: {
|
|
1090
|
+
type: "string" as const,
|
|
1091
|
+
description: "Server name, IP, or UUID to diagnose",
|
|
1092
|
+
},
|
|
1093
|
+
},
|
|
1094
|
+
required: ["query"],
|
|
1095
|
+
},
|
|
1096
|
+
},
|
|
1097
|
+
{
|
|
1098
|
+
name: "find_infrastructure_issues",
|
|
1099
|
+
description: `Scan all infrastructure for potential issues.
|
|
1100
|
+
|
|
1101
|
+
Checks all servers, applications, databases, and services for problems
|
|
1102
|
+
like unreachable servers, stopped apps, failed deployments.`,
|
|
1103
|
+
inputSchema: {
|
|
1104
|
+
type: "object" as const,
|
|
1105
|
+
properties: {},
|
|
1106
|
+
},
|
|
1107
|
+
},
|
|
1108
|
+
|
|
1109
|
+
// ===========================================================================
|
|
1110
|
+
// Batch Operations
|
|
1111
|
+
// ===========================================================================
|
|
1112
|
+
{
|
|
1113
|
+
name: "restart_project_apps",
|
|
1114
|
+
description: `Restart all applications in a project.`,
|
|
1115
|
+
inputSchema: {
|
|
1116
|
+
type: "object" as const,
|
|
1117
|
+
properties: {
|
|
1118
|
+
projectUuid: {
|
|
1119
|
+
type: "string" as const,
|
|
1120
|
+
description: "Project UUID",
|
|
1121
|
+
},
|
|
1122
|
+
},
|
|
1123
|
+
required: ["projectUuid"],
|
|
1124
|
+
},
|
|
1125
|
+
},
|
|
1126
|
+
{
|
|
1127
|
+
name: "redeploy_project_apps",
|
|
1128
|
+
description: `Redeploy all applications in a project.`,
|
|
1129
|
+
inputSchema: {
|
|
1130
|
+
type: "object" as const,
|
|
1131
|
+
properties: {
|
|
1132
|
+
projectUuid: {
|
|
1133
|
+
type: "string" as const,
|
|
1134
|
+
description: "Project UUID",
|
|
1135
|
+
},
|
|
1136
|
+
force: {
|
|
1137
|
+
type: "boolean" as const,
|
|
1138
|
+
description: "Force rebuild without cache",
|
|
1139
|
+
default: false,
|
|
1140
|
+
},
|
|
1141
|
+
},
|
|
1142
|
+
required: ["projectUuid"],
|
|
1143
|
+
},
|
|
1144
|
+
},
|
|
1145
|
+
{
|
|
1146
|
+
name: "stop_all_apps",
|
|
1147
|
+
description: `Emergency stop all running applications.
|
|
1148
|
+
|
|
1149
|
+
WARNING: This will stop ALL running applications across all projects.`,
|
|
1150
|
+
inputSchema: {
|
|
1151
|
+
type: "object" as const,
|
|
1152
|
+
properties: {},
|
|
1153
|
+
},
|
|
1154
|
+
},
|
|
1155
|
+
|
|
1156
|
+
// ===========================================================================
|
|
1157
|
+
// Network Diagnostics
|
|
1158
|
+
// ===========================================================================
|
|
1159
|
+
{
|
|
1160
|
+
name: "inspect_network",
|
|
1161
|
+
description: `Inspect Docker container network environment for an application.
|
|
1162
|
+
|
|
1163
|
+
Returns /etc/hosts, DNS resolution, network env vars, interfaces,
|
|
1164
|
+
and optionally tests connectivity to other services.
|
|
1165
|
+
Essential for debugging docker-compose networking issues.`,
|
|
1166
|
+
inputSchema: {
|
|
1167
|
+
type: "object" as const,
|
|
562
1168
|
properties: {
|
|
563
1169
|
uuid: {
|
|
564
|
-
type:
|
|
565
|
-
description:
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
1170
|
+
type: "string" as const,
|
|
1171
|
+
description: "Application UUID",
|
|
1172
|
+
},
|
|
1173
|
+
servicesToTest: {
|
|
1174
|
+
type: "array" as const,
|
|
1175
|
+
description:
|
|
1176
|
+
"Service names to test connectivity (e.g., ['db', 'redis', 'app'])",
|
|
1177
|
+
items: { type: "string" as const },
|
|
1178
|
+
},
|
|
1179
|
+
},
|
|
1180
|
+
required: ["uuid"],
|
|
1181
|
+
},
|
|
1182
|
+
},
|
|
1183
|
+
{
|
|
1184
|
+
name: "analyze_deploy_failure",
|
|
1185
|
+
description: `Analyze a failed deployment by inspecting build logs.
|
|
1186
|
+
|
|
1187
|
+
Automatically extracts error lines, categorizes the failure type
|
|
1188
|
+
(build_error, install_error, docker_error, network_error, timeout),
|
|
1189
|
+
and suggests fixes.`,
|
|
1190
|
+
inputSchema: {
|
|
1191
|
+
type: "object" as const,
|
|
1192
|
+
properties: {
|
|
1193
|
+
deploymentUuid: {
|
|
1194
|
+
type: "string" as const,
|
|
1195
|
+
description: "Deployment UUID of the failed deployment",
|
|
1196
|
+
},
|
|
1197
|
+
},
|
|
1198
|
+
required: ["deploymentUuid"],
|
|
1199
|
+
},
|
|
1200
|
+
},
|
|
1201
|
+
];
|