@jurislm/coolify-plugin 3.7.6 → 3.7.8
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/.codex-plugin/plugin.json +1 -1
- package/dist/server.js +23 -1
- package/package.json +1 -1
- package/plugin.json +3 -1
package/dist/server.js
CHANGED
|
@@ -5,10 +5,32 @@ import { registerV36Capabilities } from "./capabilities.js";
|
|
|
5
5
|
import { operations } from "./generated/operations.js";
|
|
6
6
|
import { pluginVersion } from "./version.js";
|
|
7
7
|
const outputRequestSchema = z.object({ method: z.string(), path: z.string() });
|
|
8
|
+
function withDatabaseDockerOptions(operation) {
|
|
9
|
+
if (operation.name !== "coolify_update_database_by_uuid")
|
|
10
|
+
return operation;
|
|
11
|
+
const inputSchema = operation.inputSchema;
|
|
12
|
+
const bodySchema = inputSchema.shape.body;
|
|
13
|
+
const partialBodyShape = Object.fromEntries(Object.entries(bodySchema.shape).map(([name, schema]) => [
|
|
14
|
+
name,
|
|
15
|
+
schema instanceof z.ZodDefault
|
|
16
|
+
? schema.removeDefault().optional()
|
|
17
|
+
: schema,
|
|
18
|
+
]));
|
|
19
|
+
return {
|
|
20
|
+
...operation,
|
|
21
|
+
inputSchema: inputSchema.extend({
|
|
22
|
+
body: z.object({
|
|
23
|
+
...partialBodyShape,
|
|
24
|
+
custom_docker_run_options: z.string().optional().describe("Supported Docker run options for the database container, such as --shm-size=4g."),
|
|
25
|
+
}),
|
|
26
|
+
}),
|
|
27
|
+
responseSchema: z.union([operation.responseSchema, z.record(z.string(), z.any())]),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
8
30
|
export function createServer(config, fetchImpl) {
|
|
9
31
|
const client = new CoolifyClient(config, fetchImpl);
|
|
10
32
|
const server = new McpServer({ name: "coolify-plugin", version: pluginVersion }, { instructions: "Use read tools to identify exact Coolify resources before mutations. Never expose tokens or secret values." });
|
|
11
|
-
for (const operation of operations) {
|
|
33
|
+
for (const operation of operations.map(withDatabaseDockerOptions)) {
|
|
12
34
|
server.registerTool(operation.name, {
|
|
13
35
|
title: operation.name,
|
|
14
36
|
description: operation.description,
|
package/package.json
CHANGED
package/plugin.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
3
|
"name": "coolify-plugin",
|
|
4
|
-
"version": "3.7.
|
|
4
|
+
"version": "3.7.8",
|
|
5
5
|
"description": "Portable Coolify MCP plugin with local stdio tools generated from the official OpenAPI contract.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "JurisLM",
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
"homepage": "https://github.com/jurislm/coolify-plugin",
|
|
11
11
|
"repository": "https://github.com/jurislm/coolify-plugin",
|
|
12
12
|
"license": "MIT",
|
|
13
|
+
"skills": "./skills/",
|
|
14
|
+
"mcpServers": "./mcp.json",
|
|
13
15
|
"keywords": [
|
|
14
16
|
"coolify",
|
|
15
17
|
"devops",
|