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,8 +1,10 @@
1
1
  import { z } from "zod";
2
- import { getServers, findServer } from "../../utils/config.js";
2
+ import { getServers } from "../../utils/config.js";
3
3
  import { applySecureSetup, runSecureAudit, } from "../../core/secure.js";
4
4
  import { setupFirewall, addFirewallRule, removeFirewallRule, getFirewallStatus, COOLIFY_PORTS, } from "../../core/firewall.js";
5
5
  import { setDomain, removeDomain, getDomain, checkDns, } from "../../core/domain.js";
6
+ import { resolveServerForMcp, mcpSuccess, mcpError, } from "../utils.js";
7
+ import { requireCoolifyMode } from "../../utils/modeGuard.js";
6
8
  import { getErrorMessage } from "../../utils/errorMapper.js";
7
9
  export const serverSecureSchema = {
8
10
  action: z.enum([
@@ -16,45 +18,27 @@ export const serverSecureSchema = {
16
18
  domain: z.string().optional().describe("Domain name. Required for domain-set and domain-check."),
17
19
  ssl: z.boolean().default(true).describe("Enable SSL (https) for domain. Default: true."),
18
20
  };
19
- function resolveServer(params, servers) {
20
- if (params.server) {
21
- return findServer(params.server);
22
- }
23
- if (servers.length === 1) {
24
- return servers[0];
25
- }
26
- return undefined;
27
- }
28
21
  export async function handleServerSecure(params) {
29
22
  try {
30
23
  const servers = getServers();
31
24
  if (servers.length === 0) {
32
- return {
33
- content: [{ type: "text", text: JSON.stringify({
34
- error: "No servers found",
35
- suggested_actions: [{ command: "quicklify init", reason: "Deploy a server first" }],
36
- }) }],
37
- isError: true,
38
- };
25
+ return mcpError("No servers found", undefined, [
26
+ { command: "quicklify init", reason: "Deploy a server first" },
27
+ ]);
39
28
  }
40
- const server = resolveServer(params, servers);
29
+ const server = resolveServerForMcp(params, servers);
41
30
  if (!server) {
42
31
  if (params.server) {
43
- return {
44
- content: [{ type: "text", text: JSON.stringify({
45
- error: `Server not found: ${params.server}`,
46
- available_servers: servers.map((s) => s.name),
47
- }) }],
48
- isError: true,
49
- };
32
+ return mcpError(`Server not found: ${params.server}`, `Available servers: ${servers.map((s) => s.name).join(", ")}`);
33
+ }
34
+ return mcpError("Multiple servers found. Specify which server to use.", `Available: ${servers.map((s) => s.name).join(", ")}`);
35
+ }
36
+ const domainActions = ["domain-set", "domain-remove", "domain-check", "domain-info"];
37
+ if (domainActions.includes(params.action)) {
38
+ const modeError = requireCoolifyMode(server, params.action);
39
+ if (modeError) {
40
+ return mcpError(modeError, "Domain management requires Coolify. Use SSH for bare server DNS configuration.");
50
41
  }
51
- return {
52
- content: [{ type: "text", text: JSON.stringify({
53
- error: "Multiple servers found. Specify which server to use.",
54
- available_servers: servers.map((s) => ({ name: s.name, ip: s.ip })),
55
- }) }],
56
- isError: true,
57
- };
58
42
  }
59
43
  switch (params.action) {
60
44
  case "secure-setup": {
@@ -109,21 +93,19 @@ export async function handleServerSecure(params) {
109
93
  const suggestedActions = result.score < 100
110
94
  ? [{ command: `server_secure { action: 'secure-setup', server: '${server.name}' }`, reason: "Improve security score" }]
111
95
  : [{ command: `server_secure { action: 'firewall-status', server: '${server.name}' }`, reason: "Check firewall configuration" }];
112
- return {
113
- content: [{ type: "text", text: JSON.stringify({
114
- server: server.name,
115
- ip: server.ip,
116
- score: result.score,
117
- maxScore: 100,
118
- checks: {
119
- passwordAuth: result.audit.passwordAuth,
120
- rootLogin: result.audit.rootLogin,
121
- fail2ban: result.audit.fail2ban,
122
- sshPort: result.audit.sshPort,
123
- },
124
- suggested_actions: suggestedActions,
125
- }) }],
126
- };
96
+ return mcpSuccess({
97
+ server: server.name,
98
+ ip: server.ip,
99
+ score: result.score,
100
+ maxScore: 100,
101
+ checks: {
102
+ passwordAuth: result.audit.passwordAuth,
103
+ rootLogin: result.audit.rootLogin,
104
+ fail2ban: result.audit.fail2ban,
105
+ sshPort: result.audit.sshPort,
106
+ },
107
+ suggested_actions: suggestedActions,
108
+ });
127
109
  }
128
110
  case "firewall-setup": {
129
111
  const result = await setupFirewall(server.ip);
@@ -138,27 +120,19 @@ export async function handleServerSecure(params) {
138
120
  isError: true,
139
121
  };
140
122
  }
141
- return {
142
- content: [{ type: "text", text: JSON.stringify({
143
- success: true,
144
- server: server.name,
145
- ip: server.ip,
146
- message: `UFW enabled with Coolify ports (${COOLIFY_PORTS.join(", ")}) + SSH (22)`,
147
- suggested_actions: [
148
- { command: `server_secure { action: 'firewall-status', server: '${server.name}' }`, reason: "Verify firewall rules" },
149
- ],
150
- }) }],
151
- };
123
+ return mcpSuccess({
124
+ success: true,
125
+ server: server.name,
126
+ ip: server.ip,
127
+ message: `UFW enabled with Coolify ports (${COOLIFY_PORTS.join(", ")}) + SSH (22)`,
128
+ suggested_actions: [
129
+ { command: `server_secure { action: 'firewall-status', server: '${server.name}' }`, reason: "Verify firewall rules" },
130
+ ],
131
+ });
152
132
  }
153
133
  case "firewall-add": {
154
134
  if (params.port === undefined) {
155
- return {
156
- content: [{ type: "text", text: JSON.stringify({
157
- error: "Port is required for firewall-add action",
158
- hint: "Specify a port number (1-65535)",
159
- }) }],
160
- isError: true,
161
- };
135
+ return mcpError("Port is required for firewall-add action", "Specify a port number (1-65535)");
162
136
  }
163
137
  const result = await addFirewallRule(server.ip, params.port, params.protocol || "tcp");
164
138
  if (!result.success) {
@@ -172,27 +146,19 @@ export async function handleServerSecure(params) {
172
146
  isError: true,
173
147
  };
174
148
  }
175
- return {
176
- content: [{ type: "text", text: JSON.stringify({
177
- success: true,
178
- server: server.name,
179
- ip: server.ip,
180
- message: `Port ${params.port}/${params.protocol || "tcp"} opened`,
181
- suggested_actions: [
182
- { command: `server_secure { action: 'firewall-status', server: '${server.name}' }`, reason: "Verify firewall rules" },
183
- ],
184
- }) }],
185
- };
149
+ return mcpSuccess({
150
+ success: true,
151
+ server: server.name,
152
+ ip: server.ip,
153
+ message: `Port ${params.port}/${params.protocol || "tcp"} opened`,
154
+ suggested_actions: [
155
+ { command: `server_secure { action: 'firewall-status', server: '${server.name}' }`, reason: "Verify firewall rules" },
156
+ ],
157
+ });
186
158
  }
187
159
  case "firewall-remove": {
188
160
  if (params.port === undefined) {
189
- return {
190
- content: [{ type: "text", text: JSON.stringify({
191
- error: "Port is required for firewall-remove action",
192
- hint: "Specify a port number (1-65535)",
193
- }) }],
194
- isError: true,
195
- };
161
+ return mcpError("Port is required for firewall-remove action", "Specify a port number (1-65535)");
196
162
  }
197
163
  const result = await removeFirewallRule(server.ip, params.port, params.protocol || "tcp");
198
164
  if (!result.success) {
@@ -207,18 +173,16 @@ export async function handleServerSecure(params) {
207
173
  isError: true,
208
174
  };
209
175
  }
210
- return {
211
- content: [{ type: "text", text: JSON.stringify({
212
- success: true,
213
- server: server.name,
214
- ip: server.ip,
215
- message: `Port ${params.port}/${params.protocol || "tcp"} closed`,
216
- ...(result.warning ? { warning: result.warning } : {}),
217
- suggested_actions: [
218
- { command: `server_secure { action: 'firewall-status', server: '${server.name}' }`, reason: "Verify firewall rules" },
219
- ],
220
- }) }],
221
- };
176
+ return mcpSuccess({
177
+ success: true,
178
+ server: server.name,
179
+ ip: server.ip,
180
+ message: `Port ${params.port}/${params.protocol || "tcp"} closed`,
181
+ ...(result.warning ? { warning: result.warning } : {}),
182
+ suggested_actions: [
183
+ { command: `server_secure { action: 'firewall-status', server: '${server.name}' }`, reason: "Verify firewall rules" },
184
+ ],
185
+ });
222
186
  }
223
187
  case "firewall-status": {
224
188
  const result = await getFirewallStatus(server.ip);
@@ -236,26 +200,18 @@ export async function handleServerSecure(params) {
236
200
  const suggestedActions = !result.status.active
237
201
  ? [{ command: `server_secure { action: 'firewall-setup', server: '${server.name}' }`, reason: "Enable firewall" }]
238
202
  : [{ command: `server_secure { action: 'firewall-add', server: '${server.name}', port: 3000 }`, reason: "Open additional ports if needed" }];
239
- return {
240
- content: [{ type: "text", text: JSON.stringify({
241
- server: server.name,
242
- ip: server.ip,
243
- active: result.status.active,
244
- rules: result.status.rules,
245
- ruleCount: result.status.rules.length,
246
- suggested_actions: suggestedActions,
247
- }) }],
248
- };
203
+ return mcpSuccess({
204
+ server: server.name,
205
+ ip: server.ip,
206
+ active: result.status.active,
207
+ rules: result.status.rules,
208
+ ruleCount: result.status.rules.length,
209
+ suggested_actions: suggestedActions,
210
+ });
249
211
  }
250
212
  case "domain-set": {
251
213
  if (!params.domain) {
252
- return {
253
- content: [{ type: "text", text: JSON.stringify({
254
- error: "Domain is required for domain-set action",
255
- hint: "Specify a domain name (e.g., coolify.example.com)",
256
- }) }],
257
- isError: true,
258
- };
214
+ return mcpError("Domain is required for domain-set action", "Specify a domain name (e.g., coolify.example.com)");
259
215
  }
260
216
  const result = await setDomain(server.ip, params.domain, params.ssl ?? true);
261
217
  if (!result.success) {
@@ -270,19 +226,17 @@ export async function handleServerSecure(params) {
270
226
  };
271
227
  }
272
228
  const protocol = (params.ssl ?? true) ? "https" : "http";
273
- return {
274
- content: [{ type: "text", text: JSON.stringify({
275
- success: true,
276
- server: server.name,
277
- ip: server.ip,
278
- message: `Domain set to ${params.domain}`,
279
- url: `${protocol}://${params.domain}`,
280
- suggested_actions: [
281
- { command: `server_secure { action: 'domain-check', server: '${server.name}', domain: '${params.domain}' }`, reason: "Verify DNS points to this server" },
282
- { command: `server_info { action: 'health', server: '${server.name}' }`, reason: "Verify Coolify is accessible" },
283
- ],
284
- }) }],
285
- };
229
+ return mcpSuccess({
230
+ success: true,
231
+ server: server.name,
232
+ ip: server.ip,
233
+ message: `Domain set to ${params.domain}`,
234
+ url: `${protocol}://${params.domain}`,
235
+ suggested_actions: [
236
+ { command: `server_secure { action: 'domain-check', server: '${server.name}', domain: '${params.domain}' }`, reason: "Verify DNS points to this server" },
237
+ { command: `server_info { action: 'health', server: '${server.name}' }`, reason: "Verify Coolify is accessible" },
238
+ ],
239
+ });
286
240
  }
287
241
  case "domain-remove": {
288
242
  const result = await removeDomain(server.ip);
@@ -297,28 +251,20 @@ export async function handleServerSecure(params) {
297
251
  isError: true,
298
252
  };
299
253
  }
300
- return {
301
- content: [{ type: "text", text: JSON.stringify({
302
- success: true,
303
- server: server.name,
304
- ip: server.ip,
305
- message: "Domain removed. Coolify reset to default.",
306
- url: `http://${server.ip}:8000`,
307
- suggested_actions: [
308
- { command: `server_info { action: 'health', server: '${server.name}' }`, reason: "Verify Coolify is accessible" },
309
- ],
310
- }) }],
311
- };
254
+ return mcpSuccess({
255
+ success: true,
256
+ server: server.name,
257
+ ip: server.ip,
258
+ message: "Domain removed. Coolify reset to default.",
259
+ url: `http://${server.ip}:8000`,
260
+ suggested_actions: [
261
+ { command: `server_info { action: 'health', server: '${server.name}' }`, reason: "Verify Coolify is accessible" },
262
+ ],
263
+ });
312
264
  }
313
265
  case "domain-check": {
314
266
  if (!params.domain) {
315
- return {
316
- content: [{ type: "text", text: JSON.stringify({
317
- error: "Domain is required for domain-check action",
318
- hint: "Specify a domain name to check DNS for",
319
- }) }],
320
- isError: true,
321
- };
267
+ return mcpError("Domain is required for domain-check action", "Specify a domain name to check DNS for");
322
268
  }
323
269
  const result = await checkDns(server.ip, params.domain);
324
270
  if (result.error) {
@@ -333,19 +279,17 @@ export async function handleServerSecure(params) {
333
279
  isError: true,
334
280
  };
335
281
  }
336
- return {
337
- content: [{ type: "text", text: JSON.stringify({
338
- server: server.name,
339
- ip: server.ip,
340
- domain: params.domain,
341
- resolvedIp: result.resolvedIp,
342
- match: result.match,
343
- ...(result.hint ? { hint: result.hint } : {}),
344
- suggested_actions: result.match
345
- ? [{ command: `server_secure { action: 'domain-set', server: '${server.name}', domain: '${params.domain}' }`, reason: "Set this domain as Coolify FQDN" }]
346
- : [{ command: `server_secure { action: 'domain-info', server: '${server.name}' }`, reason: "Check current domain setting" }],
347
- }) }],
348
- };
282
+ return mcpSuccess({
283
+ server: server.name,
284
+ ip: server.ip,
285
+ domain: params.domain,
286
+ resolvedIp: result.resolvedIp,
287
+ match: result.match,
288
+ ...(result.hint ? { hint: result.hint } : {}),
289
+ suggested_actions: result.match
290
+ ? [{ command: `server_secure { action: 'domain-set', server: '${server.name}', domain: '${params.domain}' }`, reason: "Set this domain as Coolify FQDN" }]
291
+ : [{ command: `server_secure { action: 'domain-info', server: '${server.name}' }`, reason: "Check current domain setting" }],
292
+ });
349
293
  }
350
294
  case "domain-info": {
351
295
  const result = await getDomain(server.ip);
@@ -374,23 +318,18 @@ export async function handleServerSecure(params) {
374
318
  reason: "Set a custom domain",
375
319
  });
376
320
  }
377
- return {
378
- content: [{ type: "text", text: JSON.stringify({
379
- server: server.name,
380
- ip: server.ip,
381
- fqdn: result.fqdn,
382
- message: result.fqdn ? `Current domain: ${result.fqdn}` : `No custom domain set. Default: http://${server.ip}:8000`,
383
- suggested_actions: domainSuggestedActions,
384
- }) }],
385
- };
321
+ return mcpSuccess({
322
+ server: server.name,
323
+ ip: server.ip,
324
+ fqdn: result.fqdn,
325
+ message: result.fqdn ? `Current domain: ${result.fqdn}` : `No custom domain set. Default: http://${server.ip}:8000`,
326
+ suggested_actions: domainSuggestedActions,
327
+ });
386
328
  }
387
329
  }
388
330
  }
389
331
  catch (error) {
390
- return {
391
- content: [{ type: "text", text: JSON.stringify({ error: getErrorMessage(error) }) }],
392
- isError: true,
393
- };
332
+ return mcpError(getErrorMessage(error));
394
333
  }
395
334
  }
396
335
  //# sourceMappingURL=serverSecure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverSecure.js","sourceRoot":"","sources":["../../../src/mcp/tools/serverSecure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serverSecure.js","sourceRoot":"","sources":["../../../src/mcp/tools/serverSecure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { ServerRecord } from "../types/index.js";
2
+ export type McpResponse = {
3
+ content: Array<{
4
+ type: "text";
5
+ text: string;
6
+ }>;
7
+ isError?: boolean;
8
+ };
9
+ /**
10
+ * Resolve the target server for an MCP tool call.
11
+ *
12
+ * - If `params.server` is provided, delegates to `findServer` (by name or IP).
13
+ * - If there is exactly one server in the list, returns it automatically.
14
+ * - Otherwise returns undefined (caller should return an error response).
15
+ */
16
+ export declare function resolveServerForMcp(params: {
17
+ server?: string;
18
+ }, servers: ServerRecord[]): ServerRecord | undefined;
19
+ /**
20
+ * Wrap a success payload in the standard MCP response shape.
21
+ */
22
+ export declare function mcpSuccess(data: Record<string, unknown>): McpResponse;
23
+ /**
24
+ * Wrap an error message (and optional metadata) in the standard MCP error response shape.
25
+ */
26
+ export declare function mcpError(error: string, hint?: string, suggestedActions?: Array<{
27
+ command: string;
28
+ reason: string;
29
+ }>): McpResponse;
30
+ /**
31
+ * Look up the API token for the given provider.
32
+ *
33
+ * Returns `{ token }` on success, or `{ error: McpResponse }` when no token
34
+ * is configured so callers can do a simple discriminated-union check and
35
+ * return the error response immediately.
36
+ */
37
+ export declare function requireProviderToken(provider: string): {
38
+ token: string;
39
+ } | {
40
+ error: McpResponse;
41
+ };
42
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/mcp/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAIF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAC3B,OAAO,EAAE,YAAY,EAAE,GACtB,YAAY,GAAG,SAAS,CAQ1B;AAID;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAIrE;AAID;;GAEG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,EACb,gBAAgB,CAAC,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5D,WAAW,CAUb;AAID;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GACf;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,CAW5C"}
@@ -0,0 +1,61 @@
1
+ import { findServer } from "../utils/config.js";
2
+ import { getProviderToken } from "../core/tokens.js";
3
+ // ─── resolveServerForMcp ─────────────────────────────────────────────────────
4
+ /**
5
+ * Resolve the target server for an MCP tool call.
6
+ *
7
+ * - If `params.server` is provided, delegates to `findServer` (by name or IP).
8
+ * - If there is exactly one server in the list, returns it automatically.
9
+ * - Otherwise returns undefined (caller should return an error response).
10
+ */
11
+ export function resolveServerForMcp(params, servers) {
12
+ if (params.server !== undefined) {
13
+ return findServer(params.server);
14
+ }
15
+ if (servers.length === 1) {
16
+ return servers[0];
17
+ }
18
+ return undefined;
19
+ }
20
+ // ─── mcpSuccess ──────────────────────────────────────────────────────────────
21
+ /**
22
+ * Wrap a success payload in the standard MCP response shape.
23
+ */
24
+ export function mcpSuccess(data) {
25
+ return {
26
+ content: [{ type: "text", text: JSON.stringify(data) }],
27
+ };
28
+ }
29
+ // ─── mcpError ────────────────────────────────────────────────────────────────
30
+ /**
31
+ * Wrap an error message (and optional metadata) in the standard MCP error response shape.
32
+ */
33
+ export function mcpError(error, hint, suggestedActions) {
34
+ const payload = {
35
+ error,
36
+ ...(hint !== undefined ? { hint } : {}),
37
+ ...(suggestedActions !== undefined ? { suggested_actions: suggestedActions } : {}),
38
+ };
39
+ return {
40
+ content: [{ type: "text", text: JSON.stringify(payload) }],
41
+ isError: true,
42
+ };
43
+ }
44
+ // ─── requireProviderToken ─────────────────────────────────────────────────────
45
+ /**
46
+ * Look up the API token for the given provider.
47
+ *
48
+ * Returns `{ token }` on success, or `{ error: McpResponse }` when no token
49
+ * is configured so callers can do a simple discriminated-union check and
50
+ * return the error response immediately.
51
+ */
52
+ export function requireProviderToken(provider) {
53
+ const token = getProviderToken(provider);
54
+ if (token) {
55
+ return { token };
56
+ }
57
+ return {
58
+ error: mcpError(`No API token found for ${provider}`, `Set ${provider.toUpperCase()}_TOKEN environment variable`),
59
+ };
60
+ }
61
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/mcp/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAUrD,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAA2B,EAC3B,OAAuB;IAEvB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAA6B;IACtD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAa,EACb,IAAa,EACb,gBAA6D;IAE7D,MAAM,OAAO,GAA4B;QACvC,KAAK;QACL,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnF,CAAC;IACF,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAgB;IAEhB,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IACD,OAAO;QACL,KAAK,EAAE,QAAQ,CACb,0BAA0B,QAAQ,EAAE,EACpC,OAAO,QAAQ,CAAC,WAAW,EAAE,6BAA6B,CAC3D;KACF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Region, ServerSize, ServerConfig, ServerResult, SnapshotInfo } from "../types/index.js";
1
+ import type { Region, ServerSize, ServerConfig, ServerResult, SnapshotInfo, ServerMode } from "../types/index.js";
2
2
  export interface CloudProvider {
3
3
  name: string;
4
4
  displayName: string;
@@ -6,7 +6,7 @@ export interface CloudProvider {
6
6
  getRegions(): Region[];
7
7
  getServerSizes(): ServerSize[];
8
8
  getAvailableLocations(): Promise<Region[]>;
9
- getAvailableServerTypes(location: string): Promise<ServerSize[]>;
9
+ getAvailableServerTypes(location: string, mode?: ServerMode): Promise<ServerSize[]>;
10
10
  uploadSshKey(name: string, publicKey: string): Promise<string>;
11
11
  createServer(config: ServerConfig): Promise<ServerResult>;
12
12
  getServerStatus(serverId: string): Promise<string>;
@@ -18,4 +18,11 @@ export interface CloudProvider {
18
18
  deleteSnapshot(snapshotId: string): Promise<void>;
19
19
  getSnapshotCostEstimate(serverId: string): Promise<string>;
20
20
  }
21
+ /**
22
+ * Sanitize axios response data — whitelist-only approach.
23
+ * Preserves known error message fields, strips everything else
24
+ * to prevent API tokens or sensitive data from leaking via error cause chains.
25
+ */
26
+ export declare function sanitizeResponseData(data: unknown): unknown;
27
+ export declare function stripSensitiveData(error: unknown): void;
21
28
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtG,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,UAAU,IAAI,MAAM,EAAE,CAAC;IACvB,cAAc,IAAI,UAAU,EAAE,CAAC;IAC/B,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACjE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1D,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1D,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACtE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACzD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5D"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EACN,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,UAAU,IAAI,MAAM,EAAE,CAAC;IACvB,cAAc,IAAI,UAAU,EAAE,CAAC;IAC/B,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACpF,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1D,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1D,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACtE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACzD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAqC3D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAavD"}