@masonator/coolify-mcp 0.2.14 → 0.2.16
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/index.js +140 -1387
- package/dist/lib/coolify-client.js +2 -0
- package/dist/lib/mcp-server.js +69 -1
- package/package.json +6 -44
package/dist/lib/mcp-server.js
CHANGED
|
@@ -93,12 +93,15 @@ const serviceTypes = [
|
|
|
93
93
|
'wordpress-without-database'
|
|
94
94
|
];
|
|
95
95
|
export class CoolifyMcpServer extends McpServer {
|
|
96
|
+
client;
|
|
96
97
|
constructor(config) {
|
|
97
98
|
super({
|
|
98
99
|
name: 'coolify',
|
|
99
100
|
version: '0.1.18',
|
|
100
101
|
capabilities: {
|
|
101
|
-
tools: true
|
|
102
|
+
tools: true,
|
|
103
|
+
resources: true,
|
|
104
|
+
prompts: true
|
|
102
105
|
}
|
|
103
106
|
});
|
|
104
107
|
log('Initializing server with config: %o', config);
|
|
@@ -352,4 +355,69 @@ export class CoolifyMcpServer extends McpServer {
|
|
|
352
355
|
async delete_service(uuid, options) {
|
|
353
356
|
return this.client.deleteService(uuid, options);
|
|
354
357
|
}
|
|
358
|
+
async resources_list() {
|
|
359
|
+
return {
|
|
360
|
+
resources: [
|
|
361
|
+
'coolify/servers/list',
|
|
362
|
+
'coolify/servers/{id}',
|
|
363
|
+
'coolify/servers/{id}/resources',
|
|
364
|
+
'coolify/servers/{id}/domains',
|
|
365
|
+
'coolify/servers/{id}/validate',
|
|
366
|
+
'coolify/projects/list',
|
|
367
|
+
'coolify/projects/{id}',
|
|
368
|
+
'coolify/projects/create',
|
|
369
|
+
'coolify/projects/{id}/update',
|
|
370
|
+
'coolify/projects/{id}/delete',
|
|
371
|
+
'coolify/projects/{id}/environments/{env}',
|
|
372
|
+
'coolify/databases/list',
|
|
373
|
+
'coolify/databases/{id}',
|
|
374
|
+
'coolify/databases/{id}/update',
|
|
375
|
+
'coolify/databases/{id}/delete',
|
|
376
|
+
'coolify/services/list',
|
|
377
|
+
'coolify/services/{id}',
|
|
378
|
+
'coolify/services/create',
|
|
379
|
+
'coolify/services/{id}/delete',
|
|
380
|
+
'coolify/applications/deploy/{id}'
|
|
381
|
+
]
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
async prompts_list() {
|
|
385
|
+
return {
|
|
386
|
+
prompts: [
|
|
387
|
+
'Show me all Coolify servers in my instance',
|
|
388
|
+
'What\'s the status of server {uuid}?',
|
|
389
|
+
'Show me the resources running on server {uuid}',
|
|
390
|
+
'What domains are configured for server {uuid}?',
|
|
391
|
+
'Can you validate the connection to server {uuid}?',
|
|
392
|
+
'How much CPU and memory is server {uuid} using?',
|
|
393
|
+
'List all resources running on server {uuid}',
|
|
394
|
+
'Show me the current status of all servers',
|
|
395
|
+
'List all my Coolify projects',
|
|
396
|
+
'Create a new project called "{name}" with description "{description}"',
|
|
397
|
+
'Show me the details of project {uuid}',
|
|
398
|
+
'Update project {uuid} to change its name to "{name}"',
|
|
399
|
+
'Delete project {uuid}',
|
|
400
|
+
'Show me the environments in project {uuid}',
|
|
401
|
+
'Get details of the {env} environment in project {uuid}',
|
|
402
|
+
'What variables are set in the {env} environment of project {uuid}?',
|
|
403
|
+
'List all applications',
|
|
404
|
+
'Show me details of application {uuid}',
|
|
405
|
+
'Create a new application called "{name}"',
|
|
406
|
+
'Delete application {uuid}',
|
|
407
|
+
'Show me all running services',
|
|
408
|
+
'Create a new {type} service',
|
|
409
|
+
'What\'s the status of service {uuid}?',
|
|
410
|
+
'Delete service {uuid} and clean up its resources',
|
|
411
|
+
'List all databases',
|
|
412
|
+
'Show me the configuration of database {uuid}',
|
|
413
|
+
'Update database {uuid}',
|
|
414
|
+
'Delete database {uuid} and clean up volumes',
|
|
415
|
+
'Show me all active deployments',
|
|
416
|
+
'What\'s the status of deployment {uuid}?',
|
|
417
|
+
'Deploy application {uuid}',
|
|
418
|
+
'Force rebuild and deploy application {uuid}',
|
|
419
|
+
'List recent deployments for application {uuid}'
|
|
420
|
+
]
|
|
421
|
+
};
|
|
422
|
+
}
|
|
355
423
|
}
|
package/package.json
CHANGED
|
@@ -1,39 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@masonator/coolify-mcp",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"description": "MCP server implementation for Coolify",
|
|
3
|
+
"version": "0.2.16",
|
|
4
|
+
"description": "Model Context Protocol server for Coolify",
|
|
6
5
|
"type": "module",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"types": "./dist/index.d.ts",
|
|
10
|
-
"exports": {
|
|
11
|
-
".": {
|
|
12
|
-
"types": "./dist/index.d.ts",
|
|
13
|
-
"import": "./dist/index.js",
|
|
14
|
-
"require": "./dist/index.cjs",
|
|
15
|
-
"default": "./dist/index.js"
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
"bin": {
|
|
19
|
-
"coolify-mcp": "./dist/index.cjs"
|
|
20
|
-
},
|
|
6
|
+
"exports": "./dist/index.js",
|
|
7
|
+
"bin": "./dist/index.js",
|
|
21
8
|
"files": [
|
|
22
9
|
"dist"
|
|
23
10
|
],
|
|
24
11
|
"scripts": {
|
|
25
|
-
"build": "
|
|
26
|
-
"
|
|
27
|
-
"test": "NODE_OPTIONS=--experimental-vm-modules jest",
|
|
28
|
-
"test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch",
|
|
29
|
-
"test:coverage": "NODE_OPTIONS=--experimental-vm-modules jest --coverage",
|
|
30
|
-
"lint": "eslint . --ext .ts",
|
|
31
|
-
"lint:fix": "eslint . --ext .ts --fix",
|
|
32
|
-
"format": "prettier --write .",
|
|
33
|
-
"format:check": "prettier --check .",
|
|
34
|
-
"prepare": "husky",
|
|
35
|
-
"prepublishOnly": "npm test && npm run lint && npm run build",
|
|
36
|
-
"start": "node dist/index.js"
|
|
12
|
+
"build": "tsc && chmod +x dist/index.js",
|
|
13
|
+
"prepublishOnly": "npm run build"
|
|
37
14
|
},
|
|
38
15
|
"keywords": [
|
|
39
16
|
"coolify",
|
|
@@ -44,25 +21,10 @@
|
|
|
44
21
|
"license": "MIT",
|
|
45
22
|
"dependencies": {
|
|
46
23
|
"@modelcontextprotocol/sdk": "^1.6.1",
|
|
47
|
-
"reflect-metadata": "^0.2.2",
|
|
48
24
|
"zod": "^3.24.2"
|
|
49
25
|
},
|
|
50
26
|
"devDependencies": {
|
|
51
|
-
"@types/debug": "^4.1.12",
|
|
52
|
-
"@types/jest": "^29.5.14",
|
|
53
27
|
"@types/node": "^20.17.23",
|
|
54
|
-
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
|
55
|
-
"@typescript-eslint/parser": "^7.18.0",
|
|
56
|
-
"esbuild": "^0.20.2",
|
|
57
|
-
"eslint": "^8.56.0",
|
|
58
|
-
"eslint-config-prettier": "^9.1.0",
|
|
59
|
-
"husky": "^9.0.11",
|
|
60
|
-
"jest": "^29.7.0",
|
|
61
|
-
"lint-staged": "^15.2.2",
|
|
62
|
-
"markdownlint-cli2": "^0.12.1",
|
|
63
|
-
"prettier": "^3.5.3",
|
|
64
|
-
"shx": "^0.3.4",
|
|
65
|
-
"ts-jest": "^29.2.6",
|
|
66
28
|
"typescript": "^5.8.2"
|
|
67
29
|
},
|
|
68
30
|
"engines": {
|