quicklify 1.1.0 → 1.2.1

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.
Files changed (208) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +48 -24
  3. package/README.tr.md +46 -22
  4. package/SECURITY.md +63 -34
  5. package/dist/commands/add.d.ts +1 -0
  6. package/dist/commands/add.d.ts.map +1 -1
  7. package/dist/commands/add.js +48 -74
  8. package/dist/commands/add.js.map +1 -1
  9. package/dist/commands/backup.d.ts +2 -11
  10. package/dist/commands/backup.d.ts.map +1 -1
  11. package/dist/commands/backup.js +111 -53
  12. package/dist/commands/backup.js.map +1 -1
  13. package/dist/commands/destroy.d.ts.map +1 -1
  14. package/dist/commands/destroy.js +58 -37
  15. package/dist/commands/destroy.js.map +1 -1
  16. package/dist/commands/doctor.d.ts.map +1 -1
  17. package/dist/commands/doctor.js +16 -30
  18. package/dist/commands/doctor.js.map +1 -1
  19. package/dist/commands/domain.d.ts +2 -9
  20. package/dist/commands/domain.d.ts.map +1 -1
  21. package/dist/commands/domain.js +47 -56
  22. package/dist/commands/domain.js.map +1 -1
  23. package/dist/commands/firewall.d.ts +3 -10
  24. package/dist/commands/firewall.d.ts.map +1 -1
  25. package/dist/commands/firewall.js +28 -51
  26. package/dist/commands/firewall.js.map +1 -1
  27. package/dist/commands/health.d.ts +2 -2
  28. package/dist/commands/health.d.ts.map +1 -1
  29. package/dist/commands/health.js +77 -19
  30. package/dist/commands/health.js.map +1 -1
  31. package/dist/commands/init.d.ts.map +1 -1
  32. package/dist/commands/init.js +28 -306
  33. package/dist/commands/init.js.map +1 -1
  34. package/dist/commands/interactive.d.ts +2 -0
  35. package/dist/commands/interactive.d.ts.map +1 -0
  36. package/dist/commands/interactive.js +357 -0
  37. package/dist/commands/interactive.js.map +1 -0
  38. package/dist/commands/list.d.ts.map +1 -1
  39. package/dist/commands/list.js +4 -2
  40. package/dist/commands/list.js.map +1 -1
  41. package/dist/commands/logs.d.ts.map +1 -1
  42. package/dist/commands/logs.js +9 -1
  43. package/dist/commands/logs.js.map +1 -1
  44. package/dist/commands/maintain.d.ts.map +1 -1
  45. package/dist/commands/maintain.js +28 -47
  46. package/dist/commands/maintain.js.map +1 -1
  47. package/dist/commands/monitor.js +1 -1
  48. package/dist/commands/monitor.js.map +1 -1
  49. package/dist/commands/remove.d.ts.map +1 -1
  50. package/dist/commands/remove.js +25 -0
  51. package/dist/commands/remove.js.map +1 -1
  52. package/dist/commands/restart.d.ts.map +1 -1
  53. package/dist/commands/restart.js +39 -39
  54. package/dist/commands/restart.js.map +1 -1
  55. package/dist/commands/restore.d.ts +2 -13
  56. package/dist/commands/restore.d.ts.map +1 -1
  57. package/dist/commands/restore.js +42 -54
  58. package/dist/commands/restore.js.map +1 -1
  59. package/dist/commands/secure.d.ts +2 -9
  60. package/dist/commands/secure.d.ts.map +1 -1
  61. package/dist/commands/secure.js +2 -97
  62. package/dist/commands/secure.js.map +1 -1
  63. package/dist/commands/snapshot.d.ts.map +1 -1
  64. package/dist/commands/snapshot.js +55 -67
  65. package/dist/commands/snapshot.js.map +1 -1
  66. package/dist/commands/status.d.ts.map +1 -1
  67. package/dist/commands/status.js +33 -16
  68. package/dist/commands/status.js.map +1 -1
  69. package/dist/commands/update.d.ts.map +1 -1
  70. package/dist/commands/update.js +23 -16
  71. package/dist/commands/update.js.map +1 -1
  72. package/dist/constants.d.ts +42 -0
  73. package/dist/constants.d.ts.map +1 -0
  74. package/dist/constants.js +54 -0
  75. package/dist/constants.js.map +1 -0
  76. package/dist/core/backup.d.ts +18 -2
  77. package/dist/core/backup.d.ts.map +1 -1
  78. package/dist/core/backup.js +184 -7
  79. package/dist/core/backup.js.map +1 -1
  80. package/dist/core/deploy.d.ts +4 -0
  81. package/dist/core/deploy.d.ts.map +1 -0
  82. package/dist/core/deploy.js +360 -0
  83. package/dist/core/deploy.js.map +1 -0
  84. package/dist/core/domain.d.ts.map +1 -1
  85. package/dist/core/domain.js +1 -5
  86. package/dist/core/domain.js.map +1 -1
  87. package/dist/core/firewall.d.ts +2 -0
  88. package/dist/core/firewall.d.ts.map +1 -1
  89. package/dist/core/firewall.js +12 -0
  90. package/dist/core/firewall.js.map +1 -1
  91. package/dist/core/logs.js +1 -1
  92. package/dist/core/logs.js.map +1 -1
  93. package/dist/core/maintain.d.ts.map +1 -1
  94. package/dist/core/maintain.js +1 -2
  95. package/dist/core/maintain.js.map +1 -1
  96. package/dist/core/manage.d.ts +10 -1
  97. package/dist/core/manage.d.ts.map +1 -1
  98. package/dist/core/manage.js +45 -7
  99. package/dist/core/manage.js.map +1 -1
  100. package/dist/core/provision.d.ts +2 -1
  101. package/dist/core/provision.d.ts.map +1 -1
  102. package/dist/core/provision.js +8 -13
  103. package/dist/core/provision.js.map +1 -1
  104. package/dist/core/secure.d.ts.map +1 -1
  105. package/dist/core/secure.js +8 -2
  106. package/dist/core/secure.js.map +1 -1
  107. package/dist/core/status.d.ts.map +1 -1
  108. package/dist/core/status.js +2 -1
  109. package/dist/core/status.js.map +1 -1
  110. package/dist/core/tokens.d.ts.map +1 -1
  111. package/dist/core/tokens.js +5 -8
  112. package/dist/core/tokens.js.map +1 -1
  113. package/dist/index.js +17 -4
  114. package/dist/index.js.map +1 -1
  115. package/dist/mcp/server.d.ts.map +1 -1
  116. package/dist/mcp/server.js +13 -7
  117. package/dist/mcp/server.js.map +1 -1
  118. package/dist/mcp/tools/serverBackup.d.ts +2 -7
  119. package/dist/mcp/tools/serverBackup.d.ts.map +1 -1
  120. package/dist/mcp/tools/serverBackup.js +120 -234
  121. package/dist/mcp/tools/serverBackup.js.map +1 -1
  122. package/dist/mcp/tools/serverInfo.d.ts +19 -2
  123. package/dist/mcp/tools/serverInfo.d.ts.map +1 -1
  124. package/dist/mcp/tools/serverInfo.js +122 -57
  125. package/dist/mcp/tools/serverInfo.js.map +1 -1
  126. package/dist/mcp/tools/serverLogs.d.ts +2 -7
  127. package/dist/mcp/tools/serverLogs.d.ts.map +1 -1
  128. package/dist/mcp/tools/serverLogs.js +36 -57
  129. package/dist/mcp/tools/serverLogs.js.map +1 -1
  130. package/dist/mcp/tools/serverMaintain.d.ts +3 -8
  131. package/dist/mcp/tools/serverMaintain.d.ts.map +1 -1
  132. package/dist/mcp/tools/serverMaintain.js +48 -109
  133. package/dist/mcp/tools/serverMaintain.js.map +1 -1
  134. package/dist/mcp/tools/serverManage.d.ts +5 -0
  135. package/dist/mcp/tools/serverManage.d.ts.map +1 -1
  136. package/dist/mcp/tools/serverManage.js +94 -110
  137. package/dist/mcp/tools/serverManage.js.map +1 -1
  138. package/dist/mcp/tools/serverProvision.d.ts +7 -1
  139. package/dist/mcp/tools/serverProvision.d.ts.map +1 -1
  140. package/dist/mcp/tools/serverProvision.js +69 -77
  141. package/dist/mcp/tools/serverProvision.js.map +1 -1
  142. package/dist/mcp/tools/serverSecure.d.ts +2 -7
  143. package/dist/mcp/tools/serverSecure.d.ts.map +1 -1
  144. package/dist/mcp/tools/serverSecure.js +109 -170
  145. package/dist/mcp/tools/serverSecure.js.map +1 -1
  146. package/dist/mcp/utils.d.ts +42 -0
  147. package/dist/mcp/utils.d.ts.map +1 -0
  148. package/dist/mcp/utils.js +61 -0
  149. package/dist/mcp/utils.js.map +1 -0
  150. package/dist/providers/base.d.ts +9 -2
  151. package/dist/providers/base.d.ts.map +1 -1
  152. package/dist/providers/base.js +56 -1
  153. package/dist/providers/base.js.map +1 -1
  154. package/dist/providers/digitalocean.d.ts +3 -3
  155. package/dist/providers/digitalocean.d.ts.map +1 -1
  156. package/dist/providers/digitalocean.js +4 -12
  157. package/dist/providers/digitalocean.js.map +1 -1
  158. package/dist/providers/hetzner.d.ts +3 -3
  159. package/dist/providers/hetzner.d.ts.map +1 -1
  160. package/dist/providers/hetzner.js +8 -13
  161. package/dist/providers/hetzner.js.map +1 -1
  162. package/dist/providers/linode.d.ts +3 -3
  163. package/dist/providers/linode.d.ts.map +1 -1
  164. package/dist/providers/linode.js +3 -11
  165. package/dist/providers/linode.js.map +1 -1
  166. package/dist/providers/vultr.d.ts +3 -3
  167. package/dist/providers/vultr.d.ts.map +1 -1
  168. package/dist/providers/vultr.js +3 -11
  169. package/dist/providers/vultr.js.map +1 -1
  170. package/dist/types/index.d.ts +11 -0
  171. package/dist/types/index.d.ts.map +1 -1
  172. package/dist/utils/cloudInit.d.ts +1 -0
  173. package/dist/utils/cloudInit.d.ts.map +1 -1
  174. package/dist/utils/cloudInit.js +62 -0
  175. package/dist/utils/cloudInit.js.map +1 -1
  176. package/dist/utils/config.js +1 -1
  177. package/dist/utils/config.js.map +1 -1
  178. package/dist/utils/defaults.d.ts.map +1 -1
  179. package/dist/utils/defaults.js +3 -2
  180. package/dist/utils/defaults.js.map +1 -1
  181. package/dist/utils/errorMapper.d.ts.map +1 -1
  182. package/dist/utils/errorMapper.js +5 -1
  183. package/dist/utils/errorMapper.js.map +1 -1
  184. package/dist/utils/modeGuard.d.ts +5 -0
  185. package/dist/utils/modeGuard.d.ts.map +1 -0
  186. package/dist/utils/modeGuard.js +13 -0
  187. package/dist/utils/modeGuard.js.map +1 -0
  188. package/dist/utils/openBrowser.d.ts.map +1 -1
  189. package/dist/utils/openBrowser.js +3 -1
  190. package/dist/utils/openBrowser.js.map +1 -1
  191. package/dist/utils/prompts.d.ts +2 -2
  192. package/dist/utils/prompts.d.ts.map +1 -1
  193. package/dist/utils/prompts.js +8 -9
  194. package/dist/utils/prompts.js.map +1 -1
  195. package/dist/utils/serverSelect.d.ts.map +1 -1
  196. package/dist/utils/serverSelect.js +2 -7
  197. package/dist/utils/serverSelect.js.map +1 -1
  198. package/dist/utils/ssh.d.ts +9 -0
  199. package/dist/utils/ssh.d.ts.map +1 -1
  200. package/dist/utils/ssh.js +175 -15
  201. package/dist/utils/ssh.js.map +1 -1
  202. package/dist/utils/sshKey.d.ts.map +1 -1
  203. package/dist/utils/sshKey.js +3 -0
  204. package/dist/utils/sshKey.js.map +1 -1
  205. package/dist/utils/yamlConfig.d.ts.map +1 -1
  206. package/dist/utils/yamlConfig.js +4 -3
  207. package/dist/utils/yamlConfig.js.map +1 -1
  208. package/package.json +5 -5
@@ -1,57 +1,38 @@
1
1
  import { z } from "zod";
2
- import { getServers, findServer } from "../../utils/config.js";
2
+ import { getServers } from "../../utils/config.js";
3
3
  import { getProviderToken } from "../../core/tokens.js";
4
4
  import { isSafeMode } from "../../core/manage.js";
5
5
  import { executeCoolifyUpdate, rebootAndWait, maintainServer, } from "../../core/maintain.js";
6
+ import { requireCoolifyMode } from "../../utils/modeGuard.js";
7
+ import { resolveServerForMcp, mcpSuccess, mcpError, } from "../utils.js";
6
8
  import { getErrorMessage } from "../../utils/errorMapper.js";
7
9
  export const serverMaintainSchema = {
8
- action: z.enum(["update", "restart", "maintain"]).describe("Action: 'update' runs Coolify update via SSH, 'restart' reboots server via cloud API, 'maintain' runs full 5-step maintenance (status → update → health → reboot → final)"),
10
+ action: z.enum(["update", "restart", "maintain"]).describe("Action: 'update' runs Coolify update via SSH (Coolify servers only), 'restart' reboots server via cloud provider API (both modes), 'maintain' runs full 5-step maintenance (status → update → health → reboot → final, Coolify servers only)"),
9
11
  server: z.string().optional().describe("Server name or IP. Auto-selected if only one server exists."),
10
12
  skipReboot: z.boolean().default(false).describe("Skip reboot and final check steps (only for 'maintain' action). Useful during business hours."),
11
13
  };
12
- function resolveServer(params, servers) {
13
- if (params.server) {
14
- return findServer(params.server);
15
- }
16
- if (servers.length === 1) {
17
- return servers[0];
18
- }
19
- return undefined;
20
- }
21
14
  export async function handleServerMaintain(params) {
22
15
  try {
23
16
  const servers = getServers();
24
17
  if (servers.length === 0) {
25
- return {
26
- content: [{ type: "text", text: JSON.stringify({
27
- error: "No servers found",
28
- suggested_actions: [{ command: "quicklify init", reason: "Deploy a server first" }],
29
- }) }],
30
- isError: true,
31
- };
18
+ return mcpError("No servers found", undefined, [
19
+ { command: "quicklify init", reason: "Deploy a server first" },
20
+ ]);
32
21
  }
33
- const server = resolveServer(params, servers);
22
+ const server = resolveServerForMcp(params, servers);
34
23
  if (!server) {
35
24
  if (params.server) {
36
- return {
37
- content: [{ type: "text", text: JSON.stringify({
38
- error: `Server not found: ${params.server}`,
39
- available_servers: servers.map((s) => s.name),
40
- }) }],
41
- isError: true,
42
- };
25
+ return mcpError(`Server not found: ${params.server}`, `Available servers: ${servers.map((s) => s.name).join(", ")}`);
43
26
  }
44
- return {
45
- content: [{ type: "text", text: JSON.stringify({
46
- error: "Multiple servers found. Specify which server to use.",
47
- available_servers: servers.map((s) => ({ name: s.name, ip: s.ip })),
48
- }) }],
49
- isError: true,
50
- };
27
+ return mcpError("Multiple servers found. Specify which server to use.", `Available: ${servers.map((s) => s.name).join(", ")}`);
51
28
  }
52
29
  switch (params.action) {
53
30
  case "update": {
54
- // Update only needs SSH — no API token required
31
+ // Guard: update requires Coolify
32
+ const modeError = requireCoolifyMode(server, "update");
33
+ if (modeError) {
34
+ return mcpError(modeError, "Use SSH to manage bare servers directly");
35
+ }
55
36
  const result = await executeCoolifyUpdate(server.ip);
56
37
  if (!result.success) {
57
38
  return {
@@ -67,53 +48,29 @@ export async function handleServerMaintain(params) {
67
48
  isError: true,
68
49
  };
69
50
  }
70
- return {
71
- content: [{ type: "text", text: JSON.stringify({
72
- success: true,
73
- server: server.name,
74
- ip: server.ip,
75
- message: "Coolify update completed successfully",
76
- suggested_actions: [
77
- { command: `server_info { action: 'health', server: '${server.name}' }`, reason: "Verify Coolify is running after update" },
78
- { command: `server_logs { action: 'logs', server: '${server.name}' }`, reason: "Check logs after update" },
79
- ],
80
- }) }],
81
- };
51
+ return mcpSuccess({
52
+ success: true,
53
+ server: server.name,
54
+ ip: server.ip,
55
+ message: "Coolify update completed successfully",
56
+ suggested_actions: [
57
+ { command: `server_info { action: 'health', server: '${server.name}' }`, reason: "Verify Coolify is running after update" },
58
+ { command: `server_logs { action: 'logs', server: '${server.name}' }`, reason: "Check logs after update" },
59
+ ],
60
+ });
82
61
  }
83
62
  case "restart": {
84
63
  if (isSafeMode()) {
85
- return {
86
- content: [{ type: "text", text: JSON.stringify({
87
- error: "Restart is disabled in SAFE_MODE",
88
- hint: "Set QUICKLIFY_SAFE_MODE=false to enable server reboot",
89
- suggested_actions: [
90
- { command: `server_maintain { action: 'update', server: '${server.name}' }`, reason: "Run Coolify update instead (non-destructive)" },
91
- ],
92
- }) }],
93
- isError: true,
94
- };
64
+ return mcpError("Restart is disabled in SAFE_MODE", "Set QUICKLIFY_SAFE_MODE=false to enable server reboot", [{ command: `server_maintain { action: 'update', server: '${server.name}' }`, reason: "Run Coolify update instead (non-destructive)" }]);
95
65
  }
96
- // Restart requires API token for cloud provider
66
+ // Restart requires API token for cloud provider — no mode guard (works on both)
97
67
  const isManual = server.id.startsWith("manual-");
98
68
  if (isManual) {
99
- return {
100
- content: [{ type: "text", text: JSON.stringify({
101
- error: `Cannot reboot manually added server via API`,
102
- hint: `Use SSH: ssh root@${server.ip} reboot`,
103
- server: { name: server.name, ip: server.ip },
104
- }) }],
105
- isError: true,
106
- };
69
+ return mcpError("Cannot reboot manually added server via API", `Use SSH: ssh root@${server.ip} reboot`);
107
70
  }
108
71
  const token = getProviderToken(server.provider);
109
72
  if (!token) {
110
- return {
111
- content: [{ type: "text", text: JSON.stringify({
112
- error: `No API token found for provider: ${server.provider}`,
113
- hint: `Set environment variable: ${server.provider.toUpperCase()}_TOKEN`,
114
- }) }],
115
- isError: true,
116
- };
73
+ return mcpError(`No API token found for provider: ${server.provider}`, `Set environment variable: ${server.provider.toUpperCase()}_TOKEN`);
117
74
  }
118
75
  const result = await rebootAndWait(server, token);
119
76
  if (!result.success) {
@@ -130,32 +87,26 @@ export async function handleServerMaintain(params) {
130
87
  isError: true,
131
88
  };
132
89
  }
133
- return {
134
- content: [{ type: "text", text: JSON.stringify({
135
- success: true,
136
- server: server.name,
137
- ip: server.ip,
138
- message: "Server restarted successfully",
139
- finalStatus: result.finalStatus,
140
- suggested_actions: [
141
- { command: `server_info { action: 'health', server: '${server.name}' }`, reason: "Verify Coolify is accessible" },
142
- { command: `server_logs { action: 'logs', server: '${server.name}' }`, reason: "Check logs after restart" },
143
- ],
144
- }) }],
145
- };
90
+ return mcpSuccess({
91
+ success: true,
92
+ server: server.name,
93
+ ip: server.ip,
94
+ message: "Server restarted successfully",
95
+ finalStatus: result.finalStatus,
96
+ suggested_actions: [
97
+ { command: `server_info { action: 'health', server: '${server.name}' }`, reason: "Verify Coolify is accessible" },
98
+ { command: `server_logs { action: 'logs', server: '${server.name}' }`, reason: "Check logs after restart" },
99
+ ],
100
+ });
146
101
  }
147
102
  case "maintain": {
103
+ // Guard: maintain requires Coolify
104
+ const modeError = requireCoolifyMode(server, "maintain");
105
+ if (modeError) {
106
+ return mcpError(modeError, "Use SSH to manage bare servers directly");
107
+ }
148
108
  if (isSafeMode()) {
149
- return {
150
- content: [{ type: "text", text: JSON.stringify({
151
- error: "Maintenance is disabled in SAFE_MODE",
152
- hint: "Set QUICKLIFY_SAFE_MODE=false to enable full maintenance (includes reboot)",
153
- suggested_actions: [
154
- { command: `server_maintain { action: 'update', server: '${server.name}' }`, reason: "Run Coolify update only (non-destructive)" },
155
- ],
156
- }) }],
157
- isError: true,
158
- };
109
+ return mcpError("Maintenance is disabled in SAFE_MODE", "Set QUICKLIFY_SAFE_MODE=false to enable full maintenance (includes reboot)", [{ command: `server_maintain { action: 'update', server: '${server.name}' }`, reason: "Run Coolify update only (non-destructive)" }]);
159
110
  }
160
111
  // Maintain requires API token for non-manual servers
161
112
  const isManual = server.id.startsWith("manual-");
@@ -163,16 +114,7 @@ export async function handleServerMaintain(params) {
163
114
  if (!isManual) {
164
115
  const envToken = getProviderToken(server.provider);
165
116
  if (!envToken) {
166
- return {
167
- content: [{ type: "text", text: JSON.stringify({
168
- error: `No API token found for provider: ${server.provider}`,
169
- hint: `Set environment variable: ${server.provider.toUpperCase()}_TOKEN`,
170
- suggested_actions: [
171
- { command: `server_maintain { action: 'update', server: '${server.name}' }`, reason: "Run update only (no token needed)" },
172
- ],
173
- }) }],
174
- isError: true,
175
- };
117
+ return mcpError(`No API token found for provider: ${server.provider}`, `Set environment variable: ${server.provider.toUpperCase()}_TOKEN`, [{ command: `server_maintain { action: 'update', server: '${server.name}' }`, reason: "Run update only (no token needed)" }]);
176
118
  }
177
119
  token = envToken;
178
120
  }
@@ -208,10 +150,7 @@ export async function handleServerMaintain(params) {
208
150
  }
209
151
  }
210
152
  catch (error) {
211
- return {
212
- content: [{ type: "text", text: JSON.stringify({ error: getErrorMessage(error) }) }],
213
- isError: true,
214
- };
153
+ return mcpError(getErrorMessage(error));
215
154
  }
216
155
  }
217
156
  //# sourceMappingURL=serverMaintain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverMaintain.js","sourceRoot":"","sources":["../../../src/mcp/tools/serverMaintain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serverMaintain.js","sourceRoot":"","sources":["../../../src/mcp/tools/serverMaintain.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,10 @@ export declare const serverManageSchema: {
15
15
  ip: z.ZodOptional<z.ZodString>;
16
16
  name: z.ZodOptional<z.ZodString>;
17
17
  skipVerify: z.ZodDefault<z.ZodBoolean>;
18
+ mode: z.ZodDefault<z.ZodEnum<{
19
+ coolify: "coolify";
20
+ bare: "bare";
21
+ }>>;
18
22
  };
19
23
  export declare function handleServerManage(params: {
20
24
  action: "add" | "remove" | "destroy";
@@ -23,6 +27,7 @@ export declare function handleServerManage(params: {
23
27
  ip?: string;
24
28
  name?: string;
25
29
  skipVerify?: boolean;
30
+ mode?: "coolify" | "bare";
26
31
  }): Promise<{
27
32
  content: Array<{
28
33
  type: "text";
@@ -1 +1 @@
1
- {"version":3,"file":"serverManage.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/serverManage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;CAmB9B,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA4MjF"}
1
+ {"version":3,"file":"serverManage.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/serverManage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;CAyB9B,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC3B,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAqNjF"}
@@ -1,93 +1,94 @@
1
1
  import { z } from "zod";
2
2
  import { getServers } from "../../utils/config.js";
3
3
  import { isSafeMode, addServerRecord, removeServerRecord, destroyCloudServer, } from "../../core/manage.js";
4
- import { getErrorMessage } from "../../utils/errorMapper.js";
4
+ import { mcpSuccess, mcpError } from "../utils.js";
5
+ import { SUPPORTED_PROVIDERS } from "../../constants.js";
5
6
  export const serverManageSchema = {
6
7
  action: z.enum(["add", "remove", "destroy"]).describe("Action: 'add' register an existing server, 'remove' unregister from local config (server stays running), 'destroy' permanently delete from cloud provider AND local config"),
7
8
  server: z.string().optional().describe("Server name or IP (required for 'remove' and 'destroy' actions)"),
8
- provider: z.enum(["hetzner", "digitalocean", "vultr", "linode"]).optional().describe("Cloud provider: 'hetzner', 'digitalocean', 'vultr', 'linode' (required for 'add' action)"),
9
+ provider: z.enum(SUPPORTED_PROVIDERS).optional().describe("Cloud provider: 'hetzner', 'digitalocean', 'vultr', 'linode' (required for 'add' action)"),
9
10
  ip: z.string().optional().describe("Server public IP address (required for 'add' action)"),
10
11
  name: z.string().optional().describe("Server name, 3-63 chars, lowercase alphanumeric and hyphens (required for 'add' action)"),
11
12
  skipVerify: z.boolean().default(false).describe("Skip Coolify SSH verification when adding a server (only for 'add' action)"),
13
+ mode: z
14
+ .enum(["coolify", "bare"])
15
+ .default("coolify")
16
+ .describe("Server mode for 'add' action: 'coolify' or 'bare'. Default: coolify"),
12
17
  };
13
18
  export async function handleServerManage(params) {
14
19
  try {
15
20
  switch (params.action) {
16
21
  case "add": {
17
22
  if (!params.provider) {
18
- return {
19
- content: [{ type: "text", text: JSON.stringify({
20
- error: "Missing required parameter: provider",
21
- hint: "Specify provider: 'hetzner', 'digitalocean', 'vultr', or 'linode'",
22
- }) }],
23
- isError: true,
24
- };
23
+ return mcpError("Missing required parameter: provider", "Specify provider: 'hetzner', 'digitalocean', 'vultr', or 'linode'");
25
24
  }
26
25
  if (!params.ip) {
27
- return {
28
- content: [{ type: "text", text: JSON.stringify({
29
- error: "Missing required parameter: ip",
30
- hint: "Specify the server's public IP address",
31
- }) }],
32
- isError: true,
33
- };
26
+ return mcpError("Missing required parameter: ip", "Specify the server's public IP address");
34
27
  }
35
28
  if (!params.name) {
36
- return {
37
- content: [{ type: "text", text: JSON.stringify({
38
- error: "Missing required parameter: name",
39
- hint: "Specify a server name (3-63 chars, lowercase, alphanumeric and hyphens)",
40
- }) }],
41
- isError: true,
42
- };
29
+ return mcpError("Missing required parameter: name", "Specify a server name (3-63 chars, lowercase, alphanumeric and hyphens)");
43
30
  }
31
+ const mode = params.mode ?? "coolify";
44
32
  const result = await addServerRecord({
45
33
  provider: params.provider,
46
34
  ip: params.ip,
47
35
  name: params.name,
48
36
  skipVerify: params.skipVerify ?? false,
37
+ mode,
49
38
  });
50
39
  if (!result.success) {
51
- return {
52
- content: [{ type: "text", text: JSON.stringify({
53
- error: result.error,
54
- suggested_actions: [
55
- { command: "server_info { action: 'list' }", reason: "Check existing servers" },
56
- ],
57
- }) }],
58
- isError: true,
59
- };
40
+ return mcpError(result.error ?? "Add server failed", undefined, [
41
+ { command: "server_info { action: 'list' }", reason: "Check existing servers" },
42
+ ]);
60
43
  }
61
- return {
62
- content: [{ type: "text", text: JSON.stringify({
63
- success: true,
64
- message: `Server "${result.server.name}" added successfully`,
65
- server: {
66
- name: result.server.name,
67
- ip: result.server.ip,
68
- provider: result.server.provider,
69
- id: result.server.id,
70
- },
71
- coolifyStatus: result.coolifyStatus,
72
- suggested_actions: [
73
- { command: `server_info { action: 'status', server: '${result.server.name}' }`, reason: "Check server status" },
74
- { command: `server_info { action: 'health', server: '${result.server.name}' }`, reason: "Check Coolify health" },
75
- { command: `server_logs { action: 'logs', server: '${result.server.name}' }`, reason: "View server logs" },
76
- ],
77
- }) }],
78
- };
44
+ const suggestedActions = mode === "bare"
45
+ ? [
46
+ {
47
+ command: `server_info { action: 'status', server: '${result.server.name}' }`,
48
+ reason: "Check server status",
49
+ },
50
+ {
51
+ command: `server_secure { action: 'secure-setup', server: '${result.server.name}' }`,
52
+ reason: "Harden SSH security + install fail2ban",
53
+ },
54
+ {
55
+ command: `server_logs { action: 'logs', server: '${result.server.name}' }`,
56
+ reason: "View server logs",
57
+ },
58
+ ]
59
+ : [
60
+ {
61
+ command: `server_info { action: 'status', server: '${result.server.name}' }`,
62
+ reason: "Check server status",
63
+ },
64
+ {
65
+ command: `server_info { action: 'health', server: '${result.server.name}' }`,
66
+ reason: "Check Coolify health",
67
+ },
68
+ {
69
+ command: `server_logs { action: 'logs', server: '${result.server.name}' }`,
70
+ reason: "View server logs",
71
+ },
72
+ ];
73
+ return mcpSuccess({
74
+ success: true,
75
+ message: `Server "${result.server.name}" added successfully`,
76
+ server: {
77
+ name: result.server.name,
78
+ ip: result.server.ip,
79
+ provider: result.server.provider,
80
+ id: result.server.id,
81
+ mode,
82
+ },
83
+ coolifyStatus: result.coolifyStatus,
84
+ suggested_actions: suggestedActions,
85
+ });
79
86
  }
80
87
  case "remove": {
81
88
  if (!params.server) {
82
89
  const servers = getServers();
83
90
  if (servers.length === 0) {
84
- return {
85
- content: [{ type: "text", text: JSON.stringify({
86
- error: "No servers found",
87
- suggested_actions: [{ command: "quicklify init", reason: "Deploy a server first" }],
88
- }) }],
89
- isError: true,
90
- };
91
+ return mcpError("No servers found", undefined, [{ command: "quicklify init", reason: "Deploy a server first" }]);
91
92
  }
92
93
  return {
93
94
  content: [{ type: "text", text: JSON.stringify({
@@ -109,46 +110,34 @@ export async function handleServerManage(params) {
109
110
  isError: true,
110
111
  };
111
112
  }
112
- return {
113
- content: [{ type: "text", text: JSON.stringify({
114
- success: true,
115
- message: `Server "${result.server.name}" removed from local config`,
116
- note: "The cloud server is still running. Use 'destroy' to delete it from the provider.",
117
- server: {
118
- name: result.server.name,
119
- ip: result.server.ip,
120
- provider: result.server.provider,
121
- },
122
- suggested_actions: [
123
- { command: "server_info { action: 'list' }", reason: "View remaining servers" },
124
- ],
125
- }) }],
126
- };
113
+ return mcpSuccess({
114
+ success: true,
115
+ message: `Server "${result.server.name}" removed from local config`,
116
+ note: "The cloud server is still running. Use 'destroy' to delete it from the provider.",
117
+ server: {
118
+ name: result.server.name,
119
+ ip: result.server.ip,
120
+ provider: result.server.provider,
121
+ },
122
+ suggested_actions: [
123
+ { command: "server_info { action: 'list' }", reason: "View remaining servers" },
124
+ ],
125
+ });
127
126
  }
128
127
  case "destroy": {
129
128
  // SAFE_MODE check
130
129
  if (isSafeMode()) {
131
- return {
132
- content: [{ type: "text", text: JSON.stringify({
133
- error: "Destroy is disabled in SAFE_MODE",
134
- hint: "Set QUICKLIFY_SAFE_MODE=false to enable destructive operations",
135
- suggested_actions: [
136
- { command: `server_manage { action: 'remove', server: '${params.server ?? ""}' }`, reason: "Remove from local config only (non-destructive)" },
137
- ],
138
- }) }],
139
- isError: true,
140
- };
130
+ return mcpError("Destroy is disabled in SAFE_MODE", "Set QUICKLIFY_SAFE_MODE=false to enable destructive operations", [
131
+ {
132
+ command: `server_manage { action: 'remove', server: '${params.server ?? ""}' }`,
133
+ reason: "Remove from local config only (non-destructive)",
134
+ },
135
+ ]);
141
136
  }
142
137
  if (!params.server) {
143
138
  const servers = getServers();
144
139
  if (servers.length === 0) {
145
- return {
146
- content: [{ type: "text", text: JSON.stringify({
147
- error: "No servers found",
148
- suggested_actions: [{ command: "quicklify init", reason: "Deploy a server first" }],
149
- }) }],
150
- isError: true,
151
- };
140
+ return mcpError("No servers found", undefined, [{ command: "quicklify init", reason: "Deploy a server first" }]);
152
141
  }
153
142
  return {
154
143
  content: [{ type: "text", text: JSON.stringify({
@@ -177,31 +166,26 @@ export async function handleServerManage(params) {
177
166
  isError: true,
178
167
  };
179
168
  }
180
- return {
181
- content: [{ type: "text", text: JSON.stringify({
182
- success: true,
183
- message: `Server "${result.server.name}" destroyed`,
184
- cloudDeleted: result.cloudDeleted,
185
- localRemoved: result.localRemoved,
186
- ...(result.hint ? { note: result.hint } : {}),
187
- server: {
188
- name: result.server.name,
189
- ip: result.server.ip,
190
- provider: result.server.provider,
191
- },
192
- suggested_actions: [
193
- { command: "server_info { action: 'list' }", reason: "Verify server was removed" },
194
- ],
195
- }) }],
196
- };
169
+ return mcpSuccess({
170
+ success: true,
171
+ message: `Server "${result.server.name}" destroyed`,
172
+ cloudDeleted: result.cloudDeleted,
173
+ localRemoved: result.localRemoved,
174
+ ...(result.hint ? { note: result.hint } : {}),
175
+ server: {
176
+ name: result.server.name,
177
+ ip: result.server.ip,
178
+ provider: result.server.provider,
179
+ },
180
+ suggested_actions: [
181
+ { command: "server_info { action: 'list' }", reason: "Verify server was removed" },
182
+ ],
183
+ });
197
184
  }
198
185
  }
199
186
  }
200
187
  catch (error) {
201
- return {
202
- content: [{ type: "text", text: JSON.stringify({ error: getErrorMessage(error) }) }],
203
- isError: true,
204
- };
188
+ return mcpError(error instanceof Error ? error.message : String(error));
205
189
  }
206
190
  }
207
191
  //# sourceMappingURL=serverManage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverManage.js","sourceRoot":"","sources":["../../../src/mcp/tools/serverManage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serverManage.js","sourceRoot":"","sources":["../../../src/mcp/tools/serverManage.ts"],"names":[],"mappings":"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"}