@masonator/coolify-mcp 2.2.0 → 2.3.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 +1 -1
- package/dist/__tests__/mcp-server.test.js +1 -0
- package/dist/lib/mcp-server.d.ts +1 -1
- package/dist/lib/mcp-server.js +28 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -227,7 +227,7 @@ These tools accept human-friendly identifiers instead of just UUIDs:
|
|
|
227
227
|
- `list_applications` - List all applications (returns summary)
|
|
228
228
|
- `get_application` - Get application details
|
|
229
229
|
- `application_logs` - Get application logs
|
|
230
|
-
- `application` - Create, update, or delete apps with `action: create_github|create_key|update|delete`
|
|
230
|
+
- `application` - Create, update, or delete apps with `action: create_public|create_github|create_key|create_dockerimage|update|delete`
|
|
231
231
|
- `env_vars` - Manage env vars with `resource: application, action: list|create|update|delete`
|
|
232
232
|
- `control` - Start/stop/restart with `resource: application, action: start|stop|restart`
|
|
233
233
|
|
|
@@ -52,6 +52,7 @@ describe('CoolifyMcpServer v2', () => {
|
|
|
52
52
|
// Application operations
|
|
53
53
|
expect(typeof client.listApplications).toBe('function');
|
|
54
54
|
expect(typeof client.getApplication).toBe('function');
|
|
55
|
+
expect(typeof client.createApplicationPublic).toBe('function');
|
|
55
56
|
expect(typeof client.createApplicationPrivateGH).toBe('function');
|
|
56
57
|
expect(typeof client.createApplicationPrivateKey).toBe('function');
|
|
57
58
|
expect(typeof client.createApplicationDockerImage).toBe('function');
|
package/dist/lib/mcp-server.d.ts
CHANGED
package/dist/lib/mcp-server.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Coolify MCP Server v2.
|
|
2
|
+
* Coolify MCP Server v2.3.0
|
|
3
3
|
* Consolidated tools for efficient token usage
|
|
4
4
|
*/
|
|
5
5
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
6
6
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
7
|
import { z } from 'zod';
|
|
8
8
|
import { CoolifyClient, } from './coolify-client.js';
|
|
9
|
-
const VERSION = '2.
|
|
9
|
+
const VERSION = '2.3.0';
|
|
10
10
|
/** Wrap handler with error handling */
|
|
11
11
|
function wrap(fn) {
|
|
12
12
|
return fn()
|
|
@@ -162,7 +162,14 @@ export class CoolifyMcpServer extends McpServer {
|
|
|
162
162
|
this.tool('list_applications', 'List apps (summary)', { page: z.number().optional(), per_page: z.number().optional() }, async ({ page, per_page }) => wrap(() => this.client.listApplications({ page, per_page, summary: true })));
|
|
163
163
|
this.tool('get_application', 'App details', { uuid: z.string() }, async ({ uuid }) => wrap(() => this.client.getApplication(uuid)));
|
|
164
164
|
this.tool('application', 'Manage app: create/update/delete', {
|
|
165
|
-
action: z.enum([
|
|
165
|
+
action: z.enum([
|
|
166
|
+
'create_public',
|
|
167
|
+
'create_github',
|
|
168
|
+
'create_key',
|
|
169
|
+
'create_dockerimage',
|
|
170
|
+
'update',
|
|
171
|
+
'delete',
|
|
172
|
+
]),
|
|
166
173
|
uuid: z.string().optional(),
|
|
167
174
|
// Create fields
|
|
168
175
|
project_uuid: z.string().optional(),
|
|
@@ -172,6 +179,7 @@ export class CoolifyMcpServer extends McpServer {
|
|
|
172
179
|
git_repository: z.string().optional(),
|
|
173
180
|
git_branch: z.string().optional(),
|
|
174
181
|
environment_name: z.string().optional(),
|
|
182
|
+
environment_uuid: z.string().optional(),
|
|
175
183
|
build_pack: z.string().optional(),
|
|
176
184
|
ports_exposes: z.string().optional(),
|
|
177
185
|
// Docker image fields
|
|
@@ -199,6 +207,23 @@ export class CoolifyMcpServer extends McpServer {
|
|
|
199
207
|
}, async (args) => {
|
|
200
208
|
const { action, uuid } = args;
|
|
201
209
|
switch (action) {
|
|
210
|
+
case 'create_public':
|
|
211
|
+
if (!args.project_uuid ||
|
|
212
|
+
!args.server_uuid ||
|
|
213
|
+
!args.git_repository ||
|
|
214
|
+
!args.git_branch ||
|
|
215
|
+
!args.build_pack ||
|
|
216
|
+
!args.ports_exposes) {
|
|
217
|
+
return {
|
|
218
|
+
content: [
|
|
219
|
+
{
|
|
220
|
+
type: 'text',
|
|
221
|
+
text: 'Error: project_uuid, server_uuid, git_repository, git_branch, build_pack, ports_exposes required',
|
|
222
|
+
},
|
|
223
|
+
],
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
return wrap(() => this.client.createApplicationPublic(args));
|
|
202
227
|
case 'create_github':
|
|
203
228
|
if (!args.project_uuid ||
|
|
204
229
|
!args.server_uuid ||
|