kastell 2.1.0 → 2.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 (501) hide show
  1. package/.claude-plugin/marketplace.json +18 -0
  2. package/.claude-plugin/plugin.json +39 -0
  3. package/CHANGELOG.md +1266 -1216
  4. package/LICENSE +201 -201
  5. package/NOTICE +5 -5
  6. package/README.md +1 -1
  7. package/README.tr.md +1 -1
  8. package/bin/kastell +2 -2
  9. package/bin/kastell-mcp +5 -5
  10. package/dist/adapters/coolify.js +92 -92
  11. package/dist/adapters/dokploy.js +99 -99
  12. package/dist/adapters/shared.d.ts.map +1 -1
  13. package/dist/adapters/shared.js +4 -2
  14. package/dist/adapters/shared.js.map +1 -1
  15. package/dist/commands/add.d.ts.map +1 -1
  16. package/dist/commands/add.js +6 -9
  17. package/dist/commands/add.js.map +1 -1
  18. package/dist/commands/auth.d.ts.map +1 -1
  19. package/dist/commands/auth.js +12 -12
  20. package/dist/commands/auth.js.map +1 -1
  21. package/dist/commands/doctor.d.ts +1 -0
  22. package/dist/commands/doctor.d.ts.map +1 -1
  23. package/dist/commands/doctor.js +23 -8
  24. package/dist/commands/doctor.js.map +1 -1
  25. package/dist/commands/evidence.d.ts.map +1 -1
  26. package/dist/commands/evidence.js +8 -9
  27. package/dist/commands/evidence.js.map +1 -1
  28. package/dist/commands/fix.d.ts +1 -0
  29. package/dist/commands/fix.d.ts.map +1 -1
  30. package/dist/commands/fix.js +24 -5
  31. package/dist/commands/fix.js.map +1 -1
  32. package/dist/commands/init.d.ts.map +1 -1
  33. package/dist/commands/init.js +4 -7
  34. package/dist/commands/init.js.map +1 -1
  35. package/dist/commands/interactive/backup-maintenance.d.ts +8 -0
  36. package/dist/commands/interactive/backup-maintenance.d.ts.map +1 -0
  37. package/dist/commands/interactive/backup-maintenance.js +120 -0
  38. package/dist/commands/interactive/backup-maintenance.js.map +1 -0
  39. package/dist/commands/interactive/index.d.ts +4 -0
  40. package/dist/commands/interactive/index.d.ts.map +1 -0
  41. package/dist/commands/interactive/index.js +94 -0
  42. package/dist/commands/interactive/index.js.map +1 -0
  43. package/dist/commands/interactive/menu.d.ts +23 -0
  44. package/dist/commands/interactive/menu.d.ts.map +1 -0
  45. package/dist/commands/interactive/menu.js +121 -0
  46. package/dist/commands/interactive/menu.js.map +1 -0
  47. package/dist/commands/interactive/monitoring.d.ts +5 -0
  48. package/dist/commands/interactive/monitoring.d.ts.map +1 -0
  49. package/dist/commands/interactive/monitoring.js +96 -0
  50. package/dist/commands/interactive/monitoring.js.map +1 -0
  51. package/dist/commands/interactive/plugins.d.ts +2 -0
  52. package/dist/commands/interactive/plugins.d.ts.map +1 -0
  53. package/dist/commands/interactive/plugins.js +30 -0
  54. package/dist/commands/interactive/plugins.js.map +1 -0
  55. package/dist/commands/interactive/security.d.ts +9 -0
  56. package/dist/commands/interactive/security.d.ts.map +1 -0
  57. package/dist/commands/interactive/security.js +535 -0
  58. package/dist/commands/interactive/security.js.map +1 -0
  59. package/dist/commands/interactive/server-management.d.ts +5 -0
  60. package/dist/commands/interactive/server-management.d.ts.map +1 -0
  61. package/dist/commands/interactive/server-management.js +79 -0
  62. package/dist/commands/interactive/server-management.js.map +1 -0
  63. package/dist/commands/interactive/shared.d.ts +12 -0
  64. package/dist/commands/interactive/shared.d.ts.map +1 -0
  65. package/dist/commands/interactive/shared.js +30 -0
  66. package/dist/commands/interactive/shared.js.map +1 -0
  67. package/dist/commands/interactive.d.ts.map +1 -1
  68. package/dist/commands/interactive.js +29 -0
  69. package/dist/commands/interactive.js.map +1 -1
  70. package/dist/commands/lock.js +1 -1
  71. package/dist/commands/lock.js.map +1 -1
  72. package/dist/commands/plugin.d.ts +8 -0
  73. package/dist/commands/plugin.d.ts.map +1 -0
  74. package/dist/commands/plugin.js +87 -0
  75. package/dist/commands/plugin.js.map +1 -0
  76. package/dist/commands/regression.d.ts.map +1 -1
  77. package/dist/commands/regression.js +1 -2
  78. package/dist/commands/regression.js.map +1 -1
  79. package/dist/commands/restart.d.ts.map +1 -1
  80. package/dist/commands/restart.js +3 -2
  81. package/dist/commands/restart.js.map +1 -1
  82. package/dist/commands/schedule.js +2 -2
  83. package/dist/commands/schedule.js.map +1 -1
  84. package/dist/core/audit/checkIds.d.ts +516 -0
  85. package/dist/core/audit/checkIds.d.ts.map +1 -0
  86. package/dist/core/audit/checkIds.js +515 -0
  87. package/dist/core/audit/checkIds.js.map +1 -0
  88. package/dist/core/audit/checks/accounts.d.ts.map +1 -1
  89. package/dist/core/audit/checks/accounts.js +23 -22
  90. package/dist/core/audit/checks/accounts.js.map +1 -1
  91. package/dist/core/audit/checks/auth.d.ts.map +1 -1
  92. package/dist/core/audit/checks/auth.js +23 -22
  93. package/dist/core/audit/checks/auth.js.map +1 -1
  94. package/dist/core/audit/checks/backup.d.ts.map +1 -1
  95. package/dist/core/audit/checks/backup.js +9 -8
  96. package/dist/core/audit/checks/backup.js.map +1 -1
  97. package/dist/core/audit/checks/banners.d.ts.map +1 -1
  98. package/dist/core/audit/checks/banners.js +7 -6
  99. package/dist/core/audit/checks/banners.js.map +1 -1
  100. package/dist/core/audit/checks/boot.d.ts.map +1 -1
  101. package/dist/core/audit/checks/boot.js +12 -11
  102. package/dist/core/audit/checks/boot.js.map +1 -1
  103. package/dist/core/audit/checks/cloudmeta.d.ts.map +1 -1
  104. package/dist/core/audit/checks/cloudmeta.js +7 -6
  105. package/dist/core/audit/checks/cloudmeta.js.map +1 -1
  106. package/dist/core/audit/checks/crypto.d.ts +0 -5
  107. package/dist/core/audit/checks/crypto.d.ts.map +1 -1
  108. package/dist/core/audit/checks/crypto.js +20 -19
  109. package/dist/core/audit/checks/crypto.js.map +1 -1
  110. package/dist/core/audit/checks/ddos.d.ts.map +1 -1
  111. package/dist/core/audit/checks/ddos.js +9 -8
  112. package/dist/core/audit/checks/ddos.js.map +1 -1
  113. package/dist/core/audit/checks/dns.d.ts.map +1 -1
  114. package/dist/core/audit/checks/dns.js +9 -8
  115. package/dist/core/audit/checks/dns.js.map +1 -1
  116. package/dist/core/audit/checks/docker.d.ts.map +1 -1
  117. package/dist/core/audit/checks/docker.js +65 -64
  118. package/dist/core/audit/checks/docker.js.map +1 -1
  119. package/dist/core/audit/checks/fileintegrity.d.ts.map +1 -1
  120. package/dist/core/audit/checks/fileintegrity.js +11 -10
  121. package/dist/core/audit/checks/fileintegrity.js.map +1 -1
  122. package/dist/core/audit/checks/filesystem.d.ts.map +1 -1
  123. package/dist/core/audit/checks/filesystem.js +21 -20
  124. package/dist/core/audit/checks/filesystem.js.map +1 -1
  125. package/dist/core/audit/checks/firewall.d.ts.map +1 -1
  126. package/dist/core/audit/checks/firewall.js +18 -17
  127. package/dist/core/audit/checks/firewall.js.map +1 -1
  128. package/dist/core/audit/checks/httpHeaders.d.ts.map +1 -1
  129. package/dist/core/audit/checks/httpHeaders.js +7 -6
  130. package/dist/core/audit/checks/httpHeaders.js.map +1 -1
  131. package/dist/core/audit/checks/incidentready.d.ts.map +1 -1
  132. package/dist/core/audit/checks/incidentready.js +13 -12
  133. package/dist/core/audit/checks/incidentready.js.map +1 -1
  134. package/dist/core/audit/checks/kernel.d.ts.map +1 -1
  135. package/dist/core/audit/checks/kernel.js +32 -31
  136. package/dist/core/audit/checks/kernel.js.map +1 -1
  137. package/dist/core/audit/checks/logging.d.ts.map +1 -1
  138. package/dist/core/audit/checks/logging.js +21 -20
  139. package/dist/core/audit/checks/logging.js.map +1 -1
  140. package/dist/core/audit/checks/mac.d.ts.map +1 -1
  141. package/dist/core/audit/checks/mac.js +11 -10
  142. package/dist/core/audit/checks/mac.js.map +1 -1
  143. package/dist/core/audit/checks/malware.d.ts.map +1 -1
  144. package/dist/core/audit/checks/malware.js +12 -11
  145. package/dist/core/audit/checks/malware.js.map +1 -1
  146. package/dist/core/audit/checks/memory.d.ts.map +1 -1
  147. package/dist/core/audit/checks/memory.js +12 -11
  148. package/dist/core/audit/checks/memory.js.map +1 -1
  149. package/dist/core/audit/checks/network.d.ts.map +1 -1
  150. package/dist/core/audit/checks/network.js +22 -21
  151. package/dist/core/audit/checks/network.js.map +1 -1
  152. package/dist/core/audit/checks/nginx.d.ts.map +1 -1
  153. package/dist/core/audit/checks/nginx.js +17 -16
  154. package/dist/core/audit/checks/nginx.js.map +1 -1
  155. package/dist/core/audit/checks/resourcelimits.d.ts.map +1 -1
  156. package/dist/core/audit/checks/resourcelimits.js +9 -8
  157. package/dist/core/audit/checks/resourcelimits.js.map +1 -1
  158. package/dist/core/audit/checks/scheduling.d.ts.map +1 -1
  159. package/dist/core/audit/checks/scheduling.js +13 -12
  160. package/dist/core/audit/checks/scheduling.js.map +1 -1
  161. package/dist/core/audit/checks/secrets.d.ts.map +1 -1
  162. package/dist/core/audit/checks/secrets.js +16 -15
  163. package/dist/core/audit/checks/secrets.js.map +1 -1
  164. package/dist/core/audit/checks/services.d.ts.map +1 -1
  165. package/dist/core/audit/checks/services.js +26 -25
  166. package/dist/core/audit/checks/services.js.map +1 -1
  167. package/dist/core/audit/checks/ssh.d.ts.map +1 -1
  168. package/dist/core/audit/checks/ssh.js +23 -22
  169. package/dist/core/audit/checks/ssh.js.map +1 -1
  170. package/dist/core/audit/checks/supplychain.d.ts.map +1 -1
  171. package/dist/core/audit/checks/supplychain.js +13 -12
  172. package/dist/core/audit/checks/supplychain.js.map +1 -1
  173. package/dist/core/audit/checks/time.d.ts.map +1 -1
  174. package/dist/core/audit/checks/time.js +10 -9
  175. package/dist/core/audit/checks/time.js.map +1 -1
  176. package/dist/core/audit/checks/tls.d.ts.map +1 -1
  177. package/dist/core/audit/checks/tls.js +9 -8
  178. package/dist/core/audit/checks/tls.js.map +1 -1
  179. package/dist/core/audit/checks/updates.d.ts.map +1 -1
  180. package/dist/core/audit/checks/updates.js +12 -11
  181. package/dist/core/audit/checks/updates.js.map +1 -1
  182. package/dist/core/audit/compliance/categories/index.d.ts +3 -0
  183. package/dist/core/audit/compliance/categories/index.d.ts.map +1 -0
  184. package/dist/core/audit/compliance/categories/index.js +737 -0
  185. package/dist/core/audit/compliance/categories/index.js.map +1 -0
  186. package/dist/core/audit/compliance/helpers.d.ts +17 -0
  187. package/dist/core/audit/compliance/helpers.d.ts.map +1 -0
  188. package/dist/core/audit/compliance/helpers.js +40 -0
  189. package/dist/core/audit/compliance/helpers.js.map +1 -0
  190. package/dist/core/audit/compliance/mapper.d.ts +4 -16
  191. package/dist/core/audit/compliance/mapper.d.ts.map +1 -1
  192. package/dist/core/audit/compliance/mapper.js +3 -776
  193. package/dist/core/audit/compliance/mapper.js.map +1 -1
  194. package/dist/core/audit/fix-history.d.ts +16 -7
  195. package/dist/core/audit/fix-history.d.ts.map +1 -1
  196. package/dist/core/audit/fix-history.js +25 -2
  197. package/dist/core/audit/fix-history.js.map +1 -1
  198. package/dist/core/audit/fix.d.ts +17 -2
  199. package/dist/core/audit/fix.d.ts.map +1 -1
  200. package/dist/core/audit/fix.js +115 -42
  201. package/dist/core/audit/fix.js.map +1 -1
  202. package/dist/core/audit/formatters/badge.js +20 -20
  203. package/dist/core/audit/index.d.ts.map +1 -1
  204. package/dist/core/audit/index.js +3 -2
  205. package/dist/core/audit/index.js.map +1 -1
  206. package/dist/core/audit/snapshot.d.ts.map +1 -1
  207. package/dist/core/audit/snapshot.js +6 -2
  208. package/dist/core/audit/snapshot.js.map +1 -1
  209. package/dist/core/audit/types.d.ts +11 -1
  210. package/dist/core/audit/types.d.ts.map +1 -1
  211. package/dist/core/audit/watch.d.ts.map +1 -1
  212. package/dist/core/audit/watch.js +3 -2
  213. package/dist/core/audit/watch.js.map +1 -1
  214. package/dist/core/backup.d.ts.map +1 -1
  215. package/dist/core/backup.js +10 -5
  216. package/dist/core/backup.js.map +1 -1
  217. package/dist/core/bot/handlers.d.ts.map +1 -1
  218. package/dist/core/bot/handlers.js +2 -17
  219. package/dist/core/bot/handlers.js.map +1 -1
  220. package/dist/core/completions.d.ts.map +1 -1
  221. package/dist/core/completions.js +632 -610
  222. package/dist/core/completions.js.map +1 -1
  223. package/dist/core/deploy.d.ts.map +1 -1
  224. package/dist/core/deploy.js +7 -4
  225. package/dist/core/deploy.js.map +1 -1
  226. package/dist/core/doctor-fix.d.ts +1 -1
  227. package/dist/core/doctor-fix.d.ts.map +1 -1
  228. package/dist/core/doctor-fix.js +17 -2
  229. package/dist/core/doctor-fix.js.map +1 -1
  230. package/dist/core/doctor.d.ts.map +1 -1
  231. package/dist/core/doctor.js +2 -1
  232. package/dist/core/doctor.js.map +1 -1
  233. package/dist/core/firewall.d.ts +0 -1
  234. package/dist/core/firewall.d.ts.map +1 -1
  235. package/dist/core/firewall.js +2 -13
  236. package/dist/core/firewall.js.map +1 -1
  237. package/dist/core/lock/auth.d.ts +7 -0
  238. package/dist/core/lock/auth.d.ts.map +1 -0
  239. package/dist/core/lock/auth.js +59 -0
  240. package/dist/core/lock/auth.js.map +1 -0
  241. package/dist/core/lock/docker.d.ts +4 -0
  242. package/dist/core/lock/docker.d.ts.map +1 -0
  243. package/dist/core/lock/docker.js +28 -0
  244. package/dist/core/lock/docker.js.map +1 -0
  245. package/dist/core/lock/index.d.ts +11 -0
  246. package/dist/core/lock/index.d.ts.map +1 -0
  247. package/dist/core/lock/index.js +247 -0
  248. package/dist/core/lock/index.js.map +1 -0
  249. package/dist/core/lock/monitoring.d.ts +4 -0
  250. package/dist/core/lock/monitoring.d.ts.map +1 -0
  251. package/dist/core/lock/monitoring.js +55 -0
  252. package/dist/core/lock/monitoring.js.map +1 -0
  253. package/dist/core/lock/network.d.ts +6 -0
  254. package/dist/core/lock/network.d.ts.map +1 -0
  255. package/dist/core/lock/network.js +59 -0
  256. package/dist/core/lock/network.js.map +1 -0
  257. package/dist/core/lock/ssh.d.ts +5 -0
  258. package/dist/core/lock/ssh.d.ts.map +1 -0
  259. package/dist/core/lock/ssh.js +49 -0
  260. package/dist/core/lock/ssh.js.map +1 -0
  261. package/dist/core/lock/system.d.ts +9 -0
  262. package/dist/core/lock/system.d.ts.map +1 -0
  263. package/dist/core/lock/system.js +80 -0
  264. package/dist/core/lock/system.js.map +1 -0
  265. package/dist/core/lock/types.d.ts +41 -0
  266. package/dist/core/lock/types.d.ts.map +1 -0
  267. package/dist/core/lock/types.js +2 -0
  268. package/dist/core/lock/types.js.map +1 -0
  269. package/dist/core/maintain.d.ts.map +1 -1
  270. package/dist/core/maintain.js +3 -1
  271. package/dist/core/maintain.js.map +1 -1
  272. package/dist/core/manage.d.ts.map +1 -1
  273. package/dist/core/manage.js +7 -4
  274. package/dist/core/manage.js.map +1 -1
  275. package/dist/core/notify.d.ts.map +1 -1
  276. package/dist/core/notify.js +2 -1
  277. package/dist/core/notify.js.map +1 -1
  278. package/dist/core/notifyStore.d.ts.map +1 -1
  279. package/dist/core/notifyStore.js +3 -1
  280. package/dist/core/notifyStore.js.map +1 -1
  281. package/dist/core/plugin.d.ts +23 -0
  282. package/dist/core/plugin.d.ts.map +1 -0
  283. package/dist/core/plugin.js +107 -0
  284. package/dist/core/plugin.js.map +1 -0
  285. package/dist/core/provision.d.ts.map +1 -1
  286. package/dist/core/provision.js +9 -4
  287. package/dist/core/provision.js.map +1 -1
  288. package/dist/core/scheduleManager.d.ts +2 -1
  289. package/dist/core/scheduleManager.d.ts.map +1 -1
  290. package/dist/core/scheduleManager.js +13 -7
  291. package/dist/core/scheduleManager.js.map +1 -1
  292. package/dist/index.js +34 -2
  293. package/dist/index.js.map +1 -1
  294. package/dist/mcp/index.js +5 -9
  295. package/dist/mcp/index.js.map +1 -1
  296. package/dist/mcp/schemas/audit.d.ts +34 -0
  297. package/dist/mcp/schemas/audit.d.ts.map +1 -0
  298. package/dist/mcp/schemas/audit.js +23 -0
  299. package/dist/mcp/schemas/audit.js.map +1 -0
  300. package/dist/mcp/schemas/common.d.ts +16 -0
  301. package/dist/mcp/schemas/common.d.ts.map +1 -0
  302. package/dist/mcp/schemas/common.js +14 -0
  303. package/dist/mcp/schemas/common.js.map +1 -0
  304. package/dist/mcp/schemas/health.d.ts +14 -0
  305. package/dist/mcp/schemas/health.d.ts.map +1 -0
  306. package/dist/mcp/schemas/health.js +13 -0
  307. package/dist/mcp/schemas/health.js.map +1 -0
  308. package/dist/mcp/schemas/index.d.ts +5 -0
  309. package/dist/mcp/schemas/index.d.ts.map +1 -0
  310. package/dist/mcp/schemas/index.js +5 -0
  311. package/dist/mcp/schemas/index.js.map +1 -0
  312. package/dist/mcp/schemas/server.d.ts +18 -0
  313. package/dist/mcp/schemas/server.d.ts.map +1 -0
  314. package/dist/mcp/schemas/server.js +16 -0
  315. package/dist/mcp/schemas/server.js.map +1 -0
  316. package/dist/mcp/server.d.ts.map +1 -1
  317. package/dist/mcp/server.js +71 -40
  318. package/dist/mcp/server.js.map +1 -1
  319. package/dist/mcp/tools/serverAudit.d.ts +63 -1
  320. package/dist/mcp/tools/serverAudit.d.ts.map +1 -1
  321. package/dist/mcp/tools/serverAudit.js +63 -6
  322. package/dist/mcp/tools/serverAudit.js.map +1 -1
  323. package/dist/mcp/tools/serverBackup.d.ts +100 -2
  324. package/dist/mcp/tools/serverBackup.d.ts.map +1 -1
  325. package/dist/mcp/tools/serverBackup.handlers.d.ts.map +1 -1
  326. package/dist/mcp/tools/serverBackup.handlers.js +9 -0
  327. package/dist/mcp/tools/serverBackup.handlers.js.map +1 -1
  328. package/dist/mcp/tools/serverBackup.js +74 -0
  329. package/dist/mcp/tools/serverBackup.js.map +1 -1
  330. package/dist/mcp/tools/serverCompare.d.ts +33 -0
  331. package/dist/mcp/tools/serverCompare.d.ts.map +1 -1
  332. package/dist/mcp/tools/serverCompare.js +45 -2
  333. package/dist/mcp/tools/serverCompare.js.map +1 -1
  334. package/dist/mcp/tools/serverDoctor.d.ts +14 -0
  335. package/dist/mcp/tools/serverDoctor.d.ts.map +1 -1
  336. package/dist/mcp/tools/serverDoctor.js +16 -1
  337. package/dist/mcp/tools/serverDoctor.js.map +1 -1
  338. package/dist/mcp/tools/serverEvidence.d.ts +13 -0
  339. package/dist/mcp/tools/serverEvidence.d.ts.map +1 -1
  340. package/dist/mcp/tools/serverEvidence.js +17 -2
  341. package/dist/mcp/tools/serverEvidence.js.map +1 -1
  342. package/dist/mcp/tools/serverExplain.d.ts +17 -0
  343. package/dist/mcp/tools/serverExplain.d.ts.map +1 -1
  344. package/dist/mcp/tools/serverExplain.js +33 -1
  345. package/dist/mcp/tools/serverExplain.js.map +1 -1
  346. package/dist/mcp/tools/serverFix.d.ts +78 -0
  347. package/dist/mcp/tools/serverFix.d.ts.map +1 -1
  348. package/dist/mcp/tools/serverFix.js +87 -0
  349. package/dist/mcp/tools/serverFix.js.map +1 -1
  350. package/dist/mcp/tools/serverFleet.d.ts +24 -1
  351. package/dist/mcp/tools/serverFleet.d.ts.map +1 -1
  352. package/dist/mcp/tools/serverFleet.js +24 -1
  353. package/dist/mcp/tools/serverFleet.js.map +1 -1
  354. package/dist/mcp/tools/serverGuard.d.ts +12 -0
  355. package/dist/mcp/tools/serverGuard.d.ts.map +1 -1
  356. package/dist/mcp/tools/serverGuard.js +16 -0
  357. package/dist/mcp/tools/serverGuard.js.map +1 -1
  358. package/dist/mcp/tools/serverInfo.d.ts +77 -1
  359. package/dist/mcp/tools/serverInfo.d.ts.map +1 -1
  360. package/dist/mcp/tools/serverInfo.js +77 -4
  361. package/dist/mcp/tools/serverInfo.js.map +1 -1
  362. package/dist/mcp/tools/serverLock.d.ts +10 -0
  363. package/dist/mcp/tools/serverLock.d.ts.map +1 -1
  364. package/dist/mcp/tools/serverLock.js +15 -3
  365. package/dist/mcp/tools/serverLock.js.map +1 -1
  366. package/dist/mcp/tools/serverLogs.d.ts +43 -0
  367. package/dist/mcp/tools/serverLogs.d.ts.map +1 -1
  368. package/dist/mcp/tools/serverLogs.js +28 -0
  369. package/dist/mcp/tools/serverLogs.js.map +1 -1
  370. package/dist/mcp/tools/serverMaintain.d.ts +47 -0
  371. package/dist/mcp/tools/serverMaintain.d.ts.map +1 -1
  372. package/dist/mcp/tools/serverMaintain.js +75 -41
  373. package/dist/mcp/tools/serverMaintain.js.map +1 -1
  374. package/dist/mcp/tools/serverManage.d.ts +50 -0
  375. package/dist/mcp/tools/serverManage.d.ts.map +1 -1
  376. package/dist/mcp/tools/serverManage.js +49 -0
  377. package/dist/mcp/tools/serverManage.js.map +1 -1
  378. package/dist/mcp/tools/serverPlugin.d.ts +30 -0
  379. package/dist/mcp/tools/serverPlugin.d.ts.map +1 -0
  380. package/dist/mcp/tools/serverPlugin.js +47 -0
  381. package/dist/mcp/tools/serverPlugin.js.map +1 -0
  382. package/dist/mcp/tools/serverProvision.d.ts +22 -0
  383. package/dist/mcp/tools/serverProvision.d.ts.map +1 -1
  384. package/dist/mcp/tools/serverProvision.js +22 -2
  385. package/dist/mcp/tools/serverProvision.js.map +1 -1
  386. package/dist/mcp/tools/serverSecure.d.ts +120 -0
  387. package/dist/mcp/tools/serverSecure.d.ts.map +1 -1
  388. package/dist/mcp/tools/serverSecure.handlers.d.ts.map +1 -1
  389. package/dist/mcp/tools/serverSecure.handlers.js +39 -98
  390. package/dist/mcp/tools/serverSecure.handlers.js.map +1 -1
  391. package/dist/mcp/tools/serverSecure.js +101 -0
  392. package/dist/mcp/tools/serverSecure.js.map +1 -1
  393. package/dist/mcp/utils.d.ts +1 -0
  394. package/dist/mcp/utils.d.ts.map +1 -1
  395. package/dist/mcp/utils.js +5 -1
  396. package/dist/mcp/utils.js.map +1 -1
  397. package/dist/plugin/loader.d.ts +10 -0
  398. package/dist/plugin/loader.d.ts.map +1 -0
  399. package/dist/plugin/loader.js +88 -0
  400. package/dist/plugin/loader.js.map +1 -0
  401. package/dist/plugin/registry.d.ts +16 -0
  402. package/dist/plugin/registry.d.ts.map +1 -0
  403. package/dist/plugin/registry.js +101 -0
  404. package/dist/plugin/registry.js.map +1 -0
  405. package/dist/plugin/sdk/constants.d.ts +3 -0
  406. package/dist/plugin/sdk/constants.d.ts.map +1 -0
  407. package/dist/plugin/sdk/constants.js +3 -0
  408. package/dist/plugin/sdk/constants.js.map +1 -0
  409. package/dist/plugin/sdk/types.d.ts +29 -0
  410. package/dist/plugin/sdk/types.d.ts.map +1 -0
  411. package/dist/plugin/sdk/types.js +2 -0
  412. package/dist/plugin/sdk/types.js.map +1 -0
  413. package/dist/plugin/validate.d.ts +3 -0
  414. package/dist/plugin/validate.d.ts.map +1 -0
  415. package/dist/plugin/validate.js +31 -0
  416. package/dist/plugin/validate.js.map +1 -0
  417. package/dist/providers/base.d.ts.map +1 -1
  418. package/dist/providers/base.js +2 -1
  419. package/dist/providers/base.js.map +1 -1
  420. package/dist/providers/linode.d.ts +1 -0
  421. package/dist/providers/linode.d.ts.map +1 -1
  422. package/dist/providers/linode.js +4 -0
  423. package/dist/providers/linode.js.map +1 -1
  424. package/dist/utils/cloudInit.js +58 -58
  425. package/dist/utils/config.d.ts +3 -0
  426. package/dist/utils/config.d.ts.map +1 -1
  427. package/dist/utils/config.js +11 -6
  428. package/dist/utils/config.js.map +1 -1
  429. package/dist/utils/encryption.d.ts.map +1 -1
  430. package/dist/utils/encryption.js +4 -1
  431. package/dist/utils/encryption.js.map +1 -1
  432. package/dist/utils/errorMapper.d.ts.map +1 -1
  433. package/dist/utils/errorMapper.js +2 -1
  434. package/dist/utils/errorMapper.js.map +1 -1
  435. package/dist/utils/errors.d.ts +1 -0
  436. package/dist/utils/errors.d.ts.map +1 -1
  437. package/dist/utils/errors.js +3 -0
  438. package/dist/utils/errors.js.map +1 -1
  439. package/dist/utils/migration.d.ts.map +1 -1
  440. package/dist/utils/migration.js +25 -14
  441. package/dist/utils/migration.js.map +1 -1
  442. package/dist/utils/paths.d.ts +4 -0
  443. package/dist/utils/paths.d.ts.map +1 -1
  444. package/dist/utils/paths.js +4 -0
  445. package/dist/utils/paths.js.map +1 -1
  446. package/dist/utils/safeMode.d.ts.map +1 -1
  447. package/dist/utils/safeMode.js +3 -2
  448. package/dist/utils/safeMode.js.map +1 -1
  449. package/dist/utils/secureWrite.d.ts.map +1 -1
  450. package/dist/utils/secureWrite.js +2 -1
  451. package/dist/utils/secureWrite.js.map +1 -1
  452. package/dist/utils/securityLogger.d.ts.map +1 -1
  453. package/dist/utils/securityLogger.js +7 -3
  454. package/dist/utils/securityLogger.js.map +1 -1
  455. package/dist/utils/version.d.ts +4 -0
  456. package/dist/utils/version.d.ts.map +1 -0
  457. package/dist/utils/version.js +22 -0
  458. package/dist/utils/version.js.map +1 -0
  459. package/dist/utils/yamlConfig.d.ts.map +1 -1
  460. package/dist/utils/yamlConfig.js +3 -2
  461. package/dist/utils/yamlConfig.js.map +1 -1
  462. package/kastell-plugin/.claude-plugin/plugin.json +20 -0
  463. package/kastell-plugin/.mcp.json +8 -0
  464. package/kastell-plugin/README.md +113 -0
  465. package/kastell-plugin/agents/.gitkeep +0 -0
  466. package/kastell-plugin/agents/kastell-auditor.md +77 -0
  467. package/kastell-plugin/agents/scripts/bucket_mapper.sh +101 -0
  468. package/kastell-plugin/agents/scripts/trend_report.sh +91 -0
  469. package/kastell-plugin/hooks/destroy-block.cjs +31 -0
  470. package/kastell-plugin/hooks/hooks.json +57 -0
  471. package/kastell-plugin/hooks/pre-commit-audit-guard.cjs +75 -0
  472. package/kastell-plugin/hooks/session-audit.cjs +86 -0
  473. package/kastell-plugin/hooks/session-log.cjs +56 -0
  474. package/kastell-plugin/hooks/stop-quality-check.cjs +72 -0
  475. package/kastell-plugin/skills/.gitkeep +0 -0
  476. package/kastell-plugin/skills/kastell-careful/SKILL.md +64 -0
  477. package/kastell-plugin/skills/kastell-ops/SKILL.md +139 -0
  478. package/kastell-plugin/skills/kastell-ops/references/commands.md +45 -0
  479. package/kastell-plugin/skills/kastell-ops/references/mcp-tools.md +50 -0
  480. package/kastell-plugin/skills/kastell-ops/references/patterns.md +145 -0
  481. package/kastell-plugin/skills/kastell-ops/references/pitfalls.md +136 -0
  482. package/kastell-plugin/skills/kastell-ops/scripts/check_coverage.sh +101 -0
  483. package/kastell-plugin/skills/kastell-ops/scripts/fleet_report.sh +73 -0
  484. package/kastell-plugin/skills/kastell-ops/scripts/parse_audit.sh +76 -0
  485. package/kastell-plugin/skills/kastell-research/SKILL.md +90 -0
  486. package/kastell-plugin/skills/kastell-scaffold/SKILL.md +104 -0
  487. package/kastell-plugin/skills/kastell-scaffold/references/template-audit-check.md +150 -0
  488. package/kastell-plugin/skills/kastell-scaffold/references/template-command.md +80 -0
  489. package/kastell-plugin/skills/kastell-scaffold/references/template-mcp-tool.md +72 -0
  490. package/kastell-plugin/skills/kastell-scaffold/references/template-provider.md +67 -0
  491. package/kastell-plugin/skills/kastell-scaffold/scripts/scaffold.sh +180 -0
  492. package/kastell-plugin/skills/kastell-scaffold/templates/check-test.ts.tpl +27 -0
  493. package/kastell-plugin/skills/kastell-scaffold/templates/check.ts.tpl +50 -0
  494. package/kastell-plugin/skills/kastell-scaffold/templates/command-core.ts.tpl +18 -0
  495. package/kastell-plugin/skills/kastell-scaffold/templates/command-test.ts.tpl +17 -0
  496. package/kastell-plugin/skills/kastell-scaffold/templates/command.ts.tpl +25 -0
  497. package/kastell-plugin/skills/kastell-scaffold/templates/mcp-tool-test.ts.tpl +30 -0
  498. package/kastell-plugin/skills/kastell-scaffold/templates/mcp-tool.ts.tpl +29 -0
  499. package/kastell-plugin/skills/kastell-scaffold/templates/provider-test.ts.tpl +34 -0
  500. package/kastell-plugin/skills/kastell-scaffold/templates/provider.ts.tpl +32 -0
  501. package/package.json +122 -113
@@ -2,22 +2,23 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { readFileSync } from "fs";
3
3
  import { fileURLToPath } from "url";
4
4
  import { dirname, join } from "path";
5
- import { serverInfoSchema, handleServerInfo } from "./tools/serverInfo.js";
6
- import { serverLogsSchema, handleServerLogs } from "./tools/serverLogs.js";
7
- import { serverManageSchema, handleServerManage } from "./tools/serverManage.js";
8
- import { serverMaintainSchema, handleServerMaintain } from "./tools/serverMaintain.js";
9
- import { serverSecureSchema, handleServerSecure } from "./tools/serverSecure.js";
10
- import { serverBackupSchema, handleServerBackup } from "./tools/serverBackup.js";
11
- import { serverProvisionSchema, handleServerProvision } from "./tools/serverProvision.js";
12
- import { serverAuditSchema, handleServerAudit } from "./tools/serverAudit.js";
13
- import { serverEvidenceSchema, handleServerEvidence } from "./tools/serverEvidence.js";
14
- import { serverGuardSchema, handleServerGuard } from "./tools/serverGuard.js";
15
- import { serverDoctorSchema, handleServerDoctor } from "./tools/serverDoctor.js";
16
- import { serverLockSchema, handleServerLock } from "./tools/serverLock.js";
17
- import { serverFleetSchema, handleServerFleet } from "./tools/serverFleet.js";
18
- import { serverFixSchema, handleServerFix } from "./tools/serverFix.js";
19
- import { serverExplainSchema, serverExplainHandler } from "./tools/serverExplain.js";
20
- import { serverCompareSchema, handleServerCompare } from "./tools/serverCompare.js";
5
+ import { serverInfoSchema, handleServerInfo, serverInfoOutputSchema } from "./tools/serverInfo.js";
6
+ import { serverLogsSchema, handleServerLogs, serverLogsOutputSchema } from "./tools/serverLogs.js";
7
+ import { serverManageSchema, handleServerManage, serverManageOutputSchema } from "./tools/serverManage.js";
8
+ import { serverMaintainSchema, handleServerMaintain, serverMaintainOutputSchema } from "./tools/serverMaintain.js";
9
+ import { serverSecureSchema, handleServerSecure, serverSecureOutputSchema } from "./tools/serverSecure.js";
10
+ import { serverBackupSchema, handleServerBackup, serverBackupOutputSchema } from "./tools/serverBackup.js";
11
+ import { serverProvisionSchema, handleServerProvision, serverProvisionOutputSchema } from "./tools/serverProvision.js";
12
+ import { serverAuditSchema, handleServerAudit, serverAuditOutputSchema } from "./tools/serverAudit.js";
13
+ import { serverEvidenceSchema, handleServerEvidence, serverEvidenceOutputSchema } from "./tools/serverEvidence.js";
14
+ import { serverGuardSchema, handleServerGuard, serverGuardOutputSchema } from "./tools/serverGuard.js";
15
+ import { serverDoctorSchema, handleServerDoctor, serverDoctorOutputSchema } from "./tools/serverDoctor.js";
16
+ import { serverLockSchema, handleServerLock, serverLockOutputSchema } from "./tools/serverLock.js";
17
+ import { serverFleetSchema, handleServerFleet, serverFleetOutputSchema } from "./tools/serverFleet.js";
18
+ import { serverFixSchema, handleServerFix, serverFixOutputSchema } from "./tools/serverFix.js";
19
+ import { serverExplainSchema, serverExplainHandler, serverExplainOutputSchema } from "./tools/serverExplain.js";
20
+ import { serverCompareSchema, handleServerCompare, serverCompareOutputSchema } from "./tools/serverCompare.js";
21
+ import { serverPluginSchema, handleServerPlugin, serverPluginOutputSchema } from "./tools/serverPlugin.js";
21
22
  import { setMcpVersion } from "./utils.js";
22
23
  const __filename = fileURLToPath(import.meta.url);
23
24
  const __dirname = dirname(__filename);
@@ -27,33 +28,34 @@ export function createMcpServer() {
27
28
  setMcpVersion(pkg.version);
28
29
  const server = new McpServer({ name: pkg.name, version: pkg.version }, {
29
30
  capabilities: { logging: {} },
30
- instructions: `Kastell manages self-hosted servers across 4 cloud providers (Hetzner, DigitalOcean, Vultr, Linode) and 3 platforms (Coolify, Dokploy, bare VPS).
31
-
32
- Workflow: provision a server -> add to config -> secure/harden -> audit -> maintain.
33
-
34
- Tool routing:
35
- - server_info: read-only queries (list, status, health, sizes)
36
- - server_provision: creates new billable cloud resources (requires SAFE_MODE=false)
37
- - server_manage: register existing servers (add), unregister (remove), permanently delete (destroy - requires SAFE_MODE=false)
38
- - server_lock: one-shot 24-step production hardening (SSH + fail2ban + UFW + sysctl + auditd + AIDE + Docker)
39
- - server_audit: 457-check security scan, 30 categories, CIS/PCI-DSS/HIPAA compliance filtering
40
- - server_secure: granular security (SSH hardening, firewall rules, domain/SSL)
41
- - server_backup: backup/restore + VPS snapshots
42
- - server_maintain: platform updates, restarts, full maintenance cycle
43
- - server_logs: live logs and system metrics via SSH
44
- - server_evidence: forensic collection with SHA256 checksums
45
- - server_guard: autonomous monitoring daemon (cron-based)
46
- - server_doctor: proactive health analysis (disk trend, swap, stale packages)
47
- - server_fleet: fleet-wide dashboard (all servers at once)
48
- - server_fix: apply safe auto-fixes (SAFE tier only, dryRun default, SAFE_MODE enforced)
49
-
50
- Safety: KASTELL_SAFE_MODE=true (default in MCP) blocks destructive operations. Set SAFE_MODE=false explicitly to provision, destroy, or restore.
51
-
31
+ instructions: `Kastell manages self-hosted servers across 4 cloud providers (Hetzner, DigitalOcean, Vultr, Linode) and 3 platforms (Coolify, Dokploy, bare VPS).
32
+
33
+ Workflow: provision a server -> add to config -> secure/harden -> audit -> maintain.
34
+
35
+ Tool routing:
36
+ - server_info: read-only queries (list, status, health, sizes)
37
+ - server_provision: creates new billable cloud resources (requires SAFE_MODE=false)
38
+ - server_manage: register existing servers (add), unregister (remove), permanently delete (destroy - requires SAFE_MODE=false)
39
+ - server_lock: one-shot 24-step production hardening (SSH + fail2ban + UFW + sysctl + auditd + AIDE + Docker)
40
+ - server_audit: 457-check security scan, 30 categories, CIS/PCI-DSS/HIPAA compliance filtering
41
+ - server_secure: granular security (SSH hardening, firewall rules, domain/SSL)
42
+ - server_backup: backup/restore + VPS snapshots
43
+ - server_maintain: platform updates, restarts, full maintenance cycle
44
+ - server_logs: live logs and system metrics via SSH
45
+ - server_evidence: forensic collection with SHA256 checksums
46
+ - server_guard: autonomous monitoring daemon (cron-based)
47
+ - server_doctor: proactive health analysis (disk trend, swap, stale packages)
48
+ - server_fleet: fleet-wide dashboard (all servers at once)
49
+ - server_fix: apply safe auto-fixes (SAFE tier only, dryRun default, SAFE_MODE enforced)
50
+
51
+ Safety: KASTELL_SAFE_MODE=true (default in MCP) blocks destructive operations. Set SAFE_MODE=false explicitly to provision, destroy, or restore.
52
+
52
53
  Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_maintain update/maintain blocked on bare servers.`,
53
54
  });
54
55
  server.registerTool("server_info", {
55
56
  description: "Get information about Kastell-managed servers. Actions: 'list' all servers, 'status' check cloud provider + Coolify/bare status, 'health' check Coolify reachability or SSH access for bare servers, 'sizes' list available server types with prices for a provider+region. Requires provider API tokens as environment variables (HETZNER_TOKEN, DIGITALOCEAN_TOKEN, VULTR_TOKEN, LINODE_TOKEN) for status/sizes checks. Avoid calling repeatedly in short intervals to prevent provider API rate limiting. For fleet-wide health and audit scores across all servers, use server_fleet instead.",
56
57
  inputSchema: serverInfoSchema,
58
+ outputSchema: serverInfoOutputSchema,
57
59
  annotations: {
58
60
  title: "Server Information",
59
61
  readOnlyHint: true,
@@ -67,6 +69,7 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
67
69
  server.registerTool("server_logs", {
68
70
  description: "Fetch logs and system metrics from Kastell-managed servers via SSH. Actions: 'logs' retrieves recent log lines from Coolify container (Coolify servers only), Docker service, or system journal. Bare servers: use service 'system' or 'docker' (coolify service not available). 'monitor' fetches CPU, RAM, and disk usage metrics (works for all server modes). Requires SSH access to target server (root@ip). Note: live streaming (--follow) is not available via MCP — use the CLI for live log tailing.",
69
71
  inputSchema: serverLogsSchema,
72
+ outputSchema: serverLogsOutputSchema,
70
73
  annotations: {
71
74
  title: "Server Logs & Metrics",
72
75
  readOnlyHint: true,
@@ -80,6 +83,7 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
80
83
  server.registerTool("server_manage", {
81
84
  description: "Manage Kastell servers. Actions: 'add' registers an existing Coolify or bare server to local config (validates API token, optionally verifies Coolify via SSH — pass mode:'bare' for servers without Coolify). 'remove' unregisters a server from local config only (cloud server keeps running). 'destroy' PERMANENTLY DELETES the server from the cloud provider and removes from local config. Requires provider API tokens as environment variables. Destroy is blocked when KASTELL_SAFE_MODE=true. Server mode for 'add' action: 'coolify', 'dokploy', or 'bare'. Default: coolify",
82
85
  inputSchema: serverManageSchema,
86
+ outputSchema: serverManageOutputSchema,
83
87
  annotations: {
84
88
  title: "Server Management",
85
89
  readOnlyHint: false,
@@ -93,6 +97,7 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
93
97
  server.registerTool("server_maintain", {
94
98
  description: "Maintain Kastell servers. Actions: 'update' runs Coolify update via SSH (Coolify servers only — bare servers are blocked), 'restart' reboots server via cloud provider API (works for both Coolify and bare servers), 'maintain' runs full 5-step maintenance (Coolify servers only — bare servers are blocked). Snapshot not included — use server_backup tool. Requires SSH access for update, provider API tokens for restart/status. Manual servers: restart not available.",
95
99
  inputSchema: serverMaintainSchema,
100
+ outputSchema: serverMaintainOutputSchema,
96
101
  annotations: {
97
102
  title: "Server Maintenance",
98
103
  readOnlyHint: false,
@@ -106,6 +111,7 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
106
111
  server.registerTool("server_secure", {
107
112
  description: "Secure Kastell servers. Secure: 'secure-setup' applies SSH hardening + fail2ban, 'secure-audit' runs security audit with score. Firewall: 'firewall-setup' installs UFW with Coolify ports, 'firewall-add'/'firewall-remove' manage port rules, 'firewall-status' shows current rules. Domain: 'domain-set'/'domain-remove' manage custom domain with optional SSL, 'domain-check' verifies DNS, 'domain-info' shows current FQDN. All require SSH access to server. For full one-shot hardening (SSH + fail2ban + UFW + sysctl + unattended-upgrades), use server_lock instead.",
108
113
  inputSchema: serverSecureSchema,
114
+ outputSchema: serverSecureOutputSchema,
109
115
  annotations: {
110
116
  title: "Server Security",
111
117
  readOnlyHint: false,
@@ -119,6 +125,7 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
119
125
  server.registerTool("server_backup", {
120
126
  description: "Backup and snapshot Kastell servers. Backup: 'backup-create' dumps Coolify DB + config via SSH (Coolify servers) or system config files (bare servers), 'backup-list' shows local backups, 'backup-restore' restores from backup — bare servers restore system config, Coolify servers restore DB+config (SAFE_MODE blocks restore). Snapshot: 'snapshot-create'/'snapshot-list'/'snapshot-delete' manage cloud provider snapshots (requires provider API token). Snapshots not available for manually added servers.",
121
127
  inputSchema: serverBackupSchema,
128
+ outputSchema: serverBackupOutputSchema,
122
129
  annotations: {
123
130
  title: "Server Backup & Snapshots",
124
131
  readOnlyHint: false,
@@ -132,6 +139,7 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
132
139
  server.registerTool("server_provision", {
133
140
  description: "Provision a new server on a cloud provider. Default: Coolify auto-install via cloud-init. Pass mode:'bare' for a generic VPS without Coolify (installs UFW and runs system updates only). Requires provider API token as environment variable (HETZNER_TOKEN, DIGITALOCEAN_TOKEN, VULTR_TOKEN, LINODE_TOKEN). WARNING: Creates a billable cloud resource. Blocked when KASTELL_SAFE_MODE=true. Server takes 3-5 minutes to fully initialize after provisioning.",
134
141
  inputSchema: serverProvisionSchema,
142
+ outputSchema: serverProvisionOutputSchema,
135
143
  annotations: {
136
144
  title: "Server Provisioning",
137
145
  readOnlyHint: false,
@@ -145,6 +153,7 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
145
153
  server.registerTool("server_audit", {
146
154
  description: "Run a security audit on a server. Scans 30 categories with 457 checks. Returns score (0-100), per-category scores, and quick wins. Formats: 'summary' (compact text), 'json' (full AuditResult), 'score' (number only). Supports compliance filtering (cis-level1, cis-level2, pci-dss, hipaa), category/severity filtering, snapshot save/compare, threshold gate, and profile filtering. Requires SSH access. For health trends use server_doctor instead.",
147
155
  inputSchema: serverAuditSchema,
156
+ outputSchema: serverAuditOutputSchema,
148
157
  annotations: {
149
158
  title: "Server Security Audit",
150
159
  readOnlyHint: true,
@@ -158,6 +167,7 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
158
167
  server.registerTool("server_evidence", {
159
168
  description: "Collect forensic evidence package from a server. Gathers firewall rules, auth.log, listening ports, system logs, and optionally Docker info. Writes to ~/.kastell/evidence/{server}/{date}/. Returns manifest with SHA256 checksums per file.",
160
169
  inputSchema: serverEvidenceSchema,
170
+ outputSchema: serverEvidenceOutputSchema,
161
171
  annotations: {
162
172
  title: "Evidence Collection",
163
173
  readOnlyHint: false,
@@ -171,6 +181,7 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
171
181
  server.registerTool("server_guard", {
172
182
  description: "Manage autonomous security monitoring daemon on a server. Actions: 'start' installs guard as remote cron (checks disk/RAM/CPU/audit every 5 min), 'stop' removes guard cron entry, 'status' shows whether guard is active with last check time and any threshold breaches. Requires SSH access to target server.",
173
183
  inputSchema: serverGuardSchema,
184
+ outputSchema: serverGuardOutputSchema,
174
185
  annotations: {
175
186
  title: "Guard Daemon",
176
187
  readOnlyHint: false,
@@ -184,6 +195,7 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
184
195
  server.registerTool("server_doctor", {
185
196
  description: "Run proactive health analysis on a server. Detects disk trending full, high swap, stale packages, elevated fail2ban bans, audit regression streaks, old backups, and reclaimable Docker space. Uses cached metrics by default — pass fresh=true to fetch live data via SSH. Returns findings grouped by severity (critical/warning/info) with remediation commands. For a full scored security audit across 27 categories, use server_audit instead.",
186
197
  inputSchema: serverDoctorSchema,
198
+ outputSchema: serverDoctorOutputSchema,
187
199
  annotations: {
188
200
  title: "Server Doctor",
189
201
  readOnlyHint: true,
@@ -197,11 +209,12 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
197
209
  server.registerTool("server_lock", {
198
210
  description: "Harden a server to production standard. Applies 24 hardening steps in a single SSH session covering SSH, fail2ban, UFW, sysctl, unattended-upgrades, Docker daemon, auditd, AIDE, and more. Requires production=true (safety gate). Pass dryRun=true to preview. Platform-aware: preserves Coolify/Dokploy ports. Shows audit score before and after. Requires SSH access. For fine-grained SSH/firewall/domain changes use server_secure instead.",
199
211
  inputSchema: serverLockSchema,
212
+ outputSchema: serverLockOutputSchema,
200
213
  annotations: {
201
214
  title: "Server Lock",
202
215
  readOnlyHint: false,
203
- destructiveHint: false,
204
- idempotentHint: true,
216
+ destructiveHint: true,
217
+ idempotentHint: false,
205
218
  openWorldHint: true,
206
219
  },
207
220
  }, async (params) => {
@@ -210,6 +223,7 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
210
223
  server.registerTool("server_fleet", {
211
224
  description: "Get fleet-wide health and security posture for all registered servers. Returns server name, IP, provider, health status (ONLINE/DEGRADED/OFFLINE), cached audit score, and SSH response time. Use sort parameter to order results. For per-server cloud status or available server sizes, use server_info instead.",
212
225
  inputSchema: serverFleetSchema,
226
+ outputSchema: serverFleetOutputSchema,
213
227
  annotations: {
214
228
  title: "Fleet Visibility",
215
229
  readOnlyHint: true,
@@ -223,6 +237,7 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
223
237
  server.registerTool("server_fix", {
224
238
  description: "Apply safe auto-fixes to a server. Runs audit, filters SAFE tier fixes, creates backup, applies fixes, and re-audits for score delta. dryRun defaults to true (preview only). SAFE_MODE forces preview. SSH/Firewall/Docker fixes are FORBIDDEN and always rejected. Use checks and category params to target specific fixes.",
225
239
  inputSchema: serverFixSchema,
240
+ outputSchema: serverFixOutputSchema,
226
241
  annotations: {
227
242
  title: "Server Safe Fix",
228
243
  readOnlyHint: false,
@@ -236,6 +251,7 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
236
251
  server.registerTool("server_explain", {
237
252
  description: "Deep-dive into a single audit check. Returns what it does, why it matters, how to fix it, fix tier (SAFE/GUARDED/FORBIDDEN), and compliance references (CIS/PCI-DSS/HIPAA). No SSH connection required. Supports case-insensitive and fuzzy matching for check IDs.",
238
253
  inputSchema: serverExplainSchema,
254
+ outputSchema: serverExplainOutputSchema,
239
255
  annotations: {
240
256
  title: "Explain Audit Check",
241
257
  readOnlyHint: true,
@@ -249,6 +265,7 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
249
265
  server.registerTool("server_compare", {
250
266
  description: "Compare two servers side-by-side. Returns category-level score comparison (default) or check-level diff (detail mode). Uses cached snapshots when available, falls back to live SSH audit. Requires two registered servers.",
251
267
  inputSchema: serverCompareSchema,
268
+ outputSchema: serverCompareOutputSchema,
252
269
  annotations: {
253
270
  title: "Compare Servers",
254
271
  readOnlyHint: true,
@@ -259,6 +276,20 @@ Bare servers: use service 'system' or 'docker' for logs (not 'coolify'). server_
259
276
  }, async (params) => {
260
277
  return handleServerCompare(params);
261
278
  });
279
+ server.registerTool("server_plugin", {
280
+ description: "Manage kastell plugins. Actions: 'list' shows installed plugins with check counts and status, 'validate' checks manifest integrity and entry point validity. Install/remove not available via MCP — use CLI for security (requires explicit user consent). No SSH connection required.",
281
+ inputSchema: serverPluginSchema,
282
+ outputSchema: serverPluginOutputSchema,
283
+ annotations: {
284
+ title: "Plugin Management",
285
+ readOnlyHint: true,
286
+ destructiveHint: false,
287
+ idempotentHint: true,
288
+ openWorldHint: false,
289
+ },
290
+ }, async (params) => {
291
+ return handleServerPlugin(params);
292
+ });
262
293
  return server;
263
294
  }
264
295
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,74 @@
1
1
  import { z } from "zod";
2
2
  import { type McpResponse } from "../utils.js";
3
3
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
+ export declare const serverAuditOutputSchema: z.ZodObject<{
5
+ result: z.ZodDiscriminatedUnion<[z.ZodObject<{
6
+ format: z.ZodLiteral<"summary">;
7
+ server: z.ZodString;
8
+ ip: z.ZodString;
9
+ overallScore: z.ZodNumber;
10
+ skippedCategories: z.ZodOptional<z.ZodArray<z.ZodString>>;
11
+ suggested_actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
12
+ command: z.ZodString;
13
+ reason: z.ZodString;
14
+ }, z.core.$strip>>>;
15
+ }, z.core.$strip>, z.ZodObject<{
16
+ format: z.ZodLiteral<"json">;
17
+ server: z.ZodString;
18
+ ip: z.ZodString;
19
+ overallScore: z.ZodNumber;
20
+ categories: z.ZodArray<z.ZodObject<{
21
+ name: z.ZodString;
22
+ score: z.ZodNumber;
23
+ maxScore: z.ZodNumber;
24
+ checks: z.ZodOptional<z.ZodArray<z.ZodObject<{
25
+ id: z.ZodString;
26
+ name: z.ZodString;
27
+ category: z.ZodString;
28
+ severity: z.ZodString;
29
+ passed: z.ZodOptional<z.ZodBoolean>;
30
+ currentValue: z.ZodOptional<z.ZodString>;
31
+ expectedValue: z.ZodOptional<z.ZodString>;
32
+ details: z.ZodOptional<z.ZodString>;
33
+ }, z.core.$strip>>>;
34
+ }, z.core.$strip>>;
35
+ checks: z.ZodOptional<z.ZodArray<z.ZodObject<{
36
+ id: z.ZodString;
37
+ name: z.ZodString;
38
+ category: z.ZodString;
39
+ severity: z.ZodString;
40
+ passed: z.ZodOptional<z.ZodBoolean>;
41
+ currentValue: z.ZodOptional<z.ZodString>;
42
+ expectedValue: z.ZodOptional<z.ZodString>;
43
+ details: z.ZodOptional<z.ZodString>;
44
+ }, z.core.$strip>>>;
45
+ complianceDetail: z.ZodOptional<z.ZodArray<z.ZodObject<{
46
+ framework: z.ZodString;
47
+ passedControls: z.ZodNumber;
48
+ totalControls: z.ZodNumber;
49
+ passRate: z.ZodNumber;
50
+ controls: z.ZodArray<z.ZodObject<{
51
+ id: z.ZodString;
52
+ description: z.ZodString;
53
+ status: z.ZodString;
54
+ }, z.core.$strip>>;
55
+ }, z.core.$strip>>>;
56
+ skippedCategories: z.ZodOptional<z.ZodArray<z.ZodString>>;
57
+ baselineRegression: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
58
+ }, z.core.$strip>, z.ZodObject<{
59
+ format: z.ZodLiteral<"score">;
60
+ server: z.ZodString;
61
+ ip: z.ZodString;
62
+ overallScore: z.ZodNumber;
63
+ }, z.core.$strip>], "format">;
64
+ }, z.core.$strip>;
65
+ export type ServerAuditOutput = z.infer<typeof serverAuditOutputSchema>;
4
66
  export declare const serverAuditSchema: {
5
67
  server: z.ZodOptional<z.ZodString>;
6
68
  format: z.ZodDefault<z.ZodEnum<{
7
69
  json: "json";
8
- summary: "summary";
9
70
  score: "score";
71
+ summary: "summary";
10
72
  }>>;
11
73
  framework: z.ZodOptional<z.ZodEnum<{
12
74
  "cis-level1": "cis-level1";
@@ -1 +1 @@
1
- {"version":3,"file":"serverAudit.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/serverAudit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;CAiB7B,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACtC,SAAS,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAwN9C"}
1
+ {"version":3,"file":"serverAudit.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/serverAudit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyCzE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAGxE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;CAiB7B,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACtC,SAAS,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAwO9C"}
@@ -10,6 +10,46 @@ import { calculateComplianceDetail } from "../../core/audit/compliance/scoring.j
10
10
  import { FRAMEWORK_KEY_MAP } from "../../core/audit/compliance/types.js";
11
11
  import { filterChecksByProfile, isValidProfile, listAllProfileNames } from "../../core/audit/profiles.js";
12
12
  import { saveBaselineSafe, loadBaseline, checkRegression, formatRegressionSummary, extractPassedCheckIds, shouldUpdateBaseline } from "../../core/audit/regression.js";
13
+ import { AuditCategorySchema, AuditCheckSchema, ComplianceControlSchema } from "../schemas/index.js";
14
+ const auditSummarySchema = z.object({
15
+ format: z.literal("summary"),
16
+ server: z.string(),
17
+ ip: z.string(),
18
+ overallScore: z.number(),
19
+ skippedCategories: z.array(z.string()).optional(),
20
+ suggested_actions: z.array(z.object({ command: z.string(), reason: z.string() })).optional(),
21
+ });
22
+ const auditJsonSchema = z.object({
23
+ format: z.literal("json"),
24
+ server: z.string(),
25
+ ip: z.string(),
26
+ overallScore: z.number(),
27
+ categories: z.array(AuditCategorySchema),
28
+ checks: z.array(AuditCheckSchema).optional(),
29
+ complianceDetail: z.array(z.object({
30
+ framework: z.string(),
31
+ passedControls: z.number(),
32
+ totalControls: z.number(),
33
+ passRate: z.number(),
34
+ controls: z.array(ComplianceControlSchema),
35
+ })).optional(),
36
+ skippedCategories: z.array(z.string()).optional(),
37
+ baselineRegression: z.record(z.string(), z.unknown()).optional(),
38
+ });
39
+ const auditScoreSchema = z.object({
40
+ format: z.literal("score"),
41
+ server: z.string(),
42
+ ip: z.string(),
43
+ overallScore: z.number(),
44
+ });
45
+ // Schema exported for MCP output typing
46
+ export const serverAuditOutputSchema = z.object({
47
+ result: z.discriminatedUnion("format", [
48
+ auditSummarySchema,
49
+ auditJsonSchema,
50
+ auditScoreSchema,
51
+ ]),
52
+ });
13
53
  export const serverAuditSchema = {
14
54
  server: z.string().optional().describe("Server name or IP. Auto-selected if only one server exists."),
15
55
  format: z.enum(["summary", "json", "score"]).default("summary")
@@ -117,10 +157,26 @@ export async function handleServerAudit(params, mcpServer) {
117
157
  if (regression) {
118
158
  jsonResult.baselineRegression = regression;
119
159
  }
120
- return mcpSuccess(jsonResult, { largeResult: true });
160
+ const data = {
161
+ format: "json",
162
+ server: auditResult.serverName,
163
+ ip: auditResult.serverIp,
164
+ overallScore: auditResult.overallScore,
165
+ categories: filteredResult.categories,
166
+ complianceDetail: jsonResult.complianceDetail,
167
+ skippedCategories: filteredResult.skippedCategories,
168
+ baselineRegression: jsonResult.baselineRegression,
169
+ };
170
+ return mcpSuccess(data, { largeResult: true });
121
171
  }
122
172
  if (format === "score") {
123
- return mcpSuccess({ score: auditResult.overallScore });
173
+ const data = {
174
+ format: "score",
175
+ server: auditResult.serverName,
176
+ ip: auditResult.serverIp,
177
+ overallScore: auditResult.overallScore,
178
+ };
179
+ return mcpSuccess(data);
124
180
  }
125
181
  // summary format: compact text for AI consumption
126
182
  const categoryLines = filteredResult.categories.map((c) => ` ${c.name}: ${c.score}/${c.maxScore}`);
@@ -169,15 +225,16 @@ export async function handleServerAudit(params, mcpServer) {
169
225
  }
170
226
  summaryParts.push("", `Timestamp: ${filteredResult.timestamp}`);
171
227
  const responseData = {
172
- summary: summaryParts.join("\n"),
228
+ format: "summary",
229
+ server: auditResult.serverName,
230
+ ip: auditResult.serverIp,
173
231
  overallScore: auditResult.overallScore,
232
+ summary: summaryParts.join("\n"),
174
233
  suggested_actions: [
175
234
  { command: `server_audit { server: '${server.name}', format: 'json' }`, reason: "Get full audit details" },
176
235
  ],
236
+ skippedCategories: filteredResult.skippedCategories,
177
237
  };
178
- if (filteredResult.skippedCategories && filteredResult.skippedCategories.length > 0) {
179
- responseData.skippedCategories = filteredResult.skippedCategories;
180
- }
181
238
  // Save snapshot if requested (uses unfiltered auditResult)
182
239
  if (params.snapshot !== undefined) {
183
240
  const snapshotName = typeof params.snapshot === "string" ? params.snapshot : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"serverAudit.js","sourceRoot":"","sources":["../../../src/mcp/tools/serverAudit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,MAAM,GAEP,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAGvK,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IACrG,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SAC5D,QAAQ,CAAC,2EAA2E,CAAC;IACxF,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;SAC3E,QAAQ,CAAC,6FAA6F,CAAC;IAC1G,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACtC,gHAAgH,CACjH;IACD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2EAA2E,CAAC;IACrH,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACzG,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;SACpD,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sEAAsE,CAAC;IAC/G,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;SACnD,QAAQ,CAAC,2EAA2E,CAAC;IACxF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;CACtG,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAWvC,EAAE,SAAqB;IACtB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC,kBAAkB,EAAE,SAAS,EAAE;gBAC7C,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB,EAAE;aACzD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,QAAQ,CACb,qBAAqB,MAAM,CAAC,MAAM,EAAE,EACpC,sBAAsB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9D,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CACb,wDAAwD,EACxD,cAAc,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtD,CAAC;QACJ,CAAC;QAED,wDAAwD;QACxD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,QAAQ,CACb,yCAAyC,EACzC,8EAA8E,CAC/E,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;YACpC,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,QAAQ,CAAC,wBAAwB,SAAS,GAAG,EAAE,mDAAmD,CAAC,CAAC;YAC7G,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,QAAQ,CAAC,wBAAwB,QAAQ,GAAG,EAAE,mDAAmD,CAAC,CAAC;YAC5G,CAAC;YACD,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACnG,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC;YAC1C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,OAAO,UAAU,CAAC,IAA0C,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,MAAM,CAAC,SAAS,EAAE,+BAA+B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAEtE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEhE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO,QAAQ,CACb,MAAM,CAAC,KAAK,IAAI,cAAc,EAC9B,MAAM,CAAC,IAAI,CACZ,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;QAChC,MAAM,MAAM,CAAC,SAAS,EAAE,0BAA0B,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;QAE9E,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEvF,IAAI,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,gBAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC;QAED,6CAA6C;QAC7C,IAAI,cAAc,GAAG,WAAW,CAAC;QACjC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,MAAM,GAAgB,EAAE,CAAC;YAC/B,IAAI,MAAM,CAAC,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACvD,IAAI,MAAM,CAAC,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACvD,cAAc,GAAG,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;QAED,sDAAsD;QACtD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,OAAO,QAAQ,CACf,oBAAoB,MAAM,CAAC,OAAO,EAAE,EACpC,uBAAuB,mBAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxD,CAAC;YACJ,CAAC;YACD,cAAc,GAAG;gBACf,GAAG,cAAc;gBACjB,UAAU,EAAE,cAAc,CAAC,UAAU;qBAClC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACb,GAAG,GAAG;oBACN,MAAM,EAAE,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAQ,CAAC;iBAC3D,CAAC,CAAC;qBACF,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;aAC1C,CAAC;QACJ,CAAC;QAED,6DAA6D;QAC7D,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,WAAW,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAClF,OAAO,QAAQ,CACb,SAAS,WAAW,CAAC,YAAY,uBAAuB,MAAM,CAAC,SAAS,EAAE,EAC1E,qCAAqC,EACrC,CAAC,EAAE,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAAC,IAAI,GAAG,mBAAmB,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAC/G,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC;QAE1C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,UAAU,GAA4B,EAAE,GAAG,cAAc,EAAE,CAAC;YAClE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,yBAAyB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBACpE,UAAU,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,kBAAkB,GAAG,UAAU,CAAC;YAC7C,CAAC;YACD,OAAO,UAAU,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,kDAAkD;QAClD,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,CAC/C,CAAC;QAEF,MAAM,aAAa,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAC5D,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,WAAW,KAAK,EAAE,CAAC,YAAY,OAAO,EAAE,CAAC,cAAc,GAAG,CAC7E,CAAC;QAEF,MAAM,YAAY,GAAG;YACnB,WAAW,cAAc,CAAC,UAAU,KAAK,cAAc,CAAC,QAAQ,GAAG;YACnE,aAAa,cAAc,CAAC,QAAQ,EAAE;YACtC,kBAAkB,WAAW,CAAC,YAAY,MAAM;YAChD,EAAE;YACF,aAAa;YACb,GAAG,aAAa;SACjB,CAAC;QAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,EAAE,GAAG,aAAa,CAAC,CAAC;QAC7D,CAAC;QAED,uDAAuD;QACvD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,yBAAyB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;YACvD,IAAI,OAAO,EAAE,CAAC;gBACZ,YAAY,CAAC,IAAI,CACf,EAAE,EACF,eAAe,OAAO,CAAC,OAAO,IAAI,EAClC,gBAAgB,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,aAAa,KAAK,OAAO,CAAC,QAAQ,IAAI,EACxF,cAAc,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,WAAW,CAC1E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,wFAAwF;QACxF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU;iBAC5C,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;iBACxB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,qCAAqC,CAAC,CAAC;gBAC7D,MAAM,UAAU,GAAG,EAAE,CAAC;gBACtB,KAAK,MAAM,EAAE,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;oBACpD,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7D,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9C,CAAC;gBACD,IAAI,aAAa,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;oBACtC,YAAY,CAAC,IAAI,CAAC,aAAa,aAAa,CAAC,MAAM,GAAG,UAAU,sBAAsB,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,eAAe,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAC5D,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,YAAY,CAAC,IAAI,CACf,EAAE,EACF,cAAc,cAAc,CAAC,SAAS,EAAE,CACzC,CAAC;QAEF,MAAM,YAAY,GAA4B;YAC5C,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,iBAAiB,EAAE;gBACjB,EAAE,OAAO,EAAE,2BAA2B,MAAM,CAAC,IAAI,qBAAqB,EAAE,MAAM,EAAE,wBAAwB,EAAE;aAC3G;SACF,CAAC;QAEF,IAAI,cAAc,CAAC,iBAAiB,IAAI,cAAc,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpF,YAAY,CAAC,iBAAiB,GAAG,cAAc,CAAC,iBAAiB,CAAC;QACpE,CAAC;QAED,2DAA2D;QAC3D,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACvF,MAAM,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,UAAU,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"serverAudit.js","sourceRoot":"","sources":["../../../src/mcp/tools/serverAudit.ts"],"names":[],"mappings":"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"}
@@ -5,15 +5,113 @@ export declare const serverBackupSchema: {
5
5
  "backup-list": "backup-list";
6
6
  "snapshot-create": "snapshot-create";
7
7
  "snapshot-restore": "snapshot-restore";
8
- "backup-restore": "backup-restore";
9
- "snapshot-delete": "snapshot-delete";
10
8
  "backup-create": "backup-create";
9
+ "backup-restore": "backup-restore";
11
10
  "snapshot-list": "snapshot-list";
11
+ "snapshot-delete": "snapshot-delete";
12
12
  }>;
13
13
  server: z.ZodOptional<z.ZodString>;
14
14
  backupId: z.ZodOptional<z.ZodString>;
15
15
  snapshotId: z.ZodOptional<z.ZodString>;
16
16
  };
17
+ export declare const serverBackupOutputSchema: z.ZodObject<{
18
+ result: z.ZodDiscriminatedUnion<[z.ZodObject<{
19
+ action: z.ZodLiteral<"backup-create">;
20
+ success: z.ZodBoolean;
21
+ server: z.ZodString;
22
+ ip: z.ZodString;
23
+ backupPath: z.ZodString;
24
+ manifest: z.ZodString;
25
+ suggested_actions: z.ZodArray<z.ZodObject<{
26
+ command: z.ZodString;
27
+ reason: z.ZodString;
28
+ }, z.core.$strip>>;
29
+ }, z.core.$strip>, z.ZodObject<{
30
+ action: z.ZodLiteral<"backup-list">;
31
+ server: z.ZodString;
32
+ backupCount: z.ZodNumber;
33
+ backups: z.ZodArray<z.ZodObject<{
34
+ backupId: z.ZodString;
35
+ timestamp: z.ZodOptional<z.ZodString>;
36
+ coolifyVersion: z.ZodOptional<z.ZodString>;
37
+ files: z.ZodOptional<z.ZodNumber>;
38
+ status: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strip>>;
40
+ message: z.ZodOptional<z.ZodString>;
41
+ suggested_actions: z.ZodArray<z.ZodObject<{
42
+ command: z.ZodString;
43
+ reason: z.ZodString;
44
+ }, z.core.$strip>>;
45
+ }, z.core.$strip>, z.ZodObject<{
46
+ action: z.ZodLiteral<"backup-restore">;
47
+ success: z.ZodBoolean;
48
+ server: z.ZodString;
49
+ ip: z.ZodString;
50
+ backupId: z.ZodString;
51
+ steps: z.ZodArray<z.ZodObject<{
52
+ status: z.ZodString;
53
+ message: z.ZodString;
54
+ }, z.core.$strip>>;
55
+ hint: z.ZodOptional<z.ZodString>;
56
+ suggested_actions: z.ZodArray<z.ZodObject<{
57
+ command: z.ZodString;
58
+ reason: z.ZodString;
59
+ }, z.core.$strip>>;
60
+ }, z.core.$strip>, z.ZodObject<{
61
+ action: z.ZodLiteral<"snapshot-create">;
62
+ success: z.ZodBoolean;
63
+ server: z.ZodString;
64
+ ip: z.ZodString;
65
+ snapshot: z.ZodObject<{
66
+ id: z.ZodString;
67
+ name: z.ZodString;
68
+ createdAt: z.ZodString;
69
+ }, z.core.$strip>;
70
+ costEstimate: z.ZodString;
71
+ suggested_actions: z.ZodArray<z.ZodObject<{
72
+ command: z.ZodString;
73
+ reason: z.ZodString;
74
+ }, z.core.$strip>>;
75
+ }, z.core.$strip>, z.ZodObject<{
76
+ action: z.ZodLiteral<"snapshot-list">;
77
+ server: z.ZodString;
78
+ ip: z.ZodString;
79
+ snapshotCount: z.ZodNumber;
80
+ snapshots: z.ZodArray<z.ZodObject<{
81
+ id: z.ZodString;
82
+ name: z.ZodString;
83
+ createdAt: z.ZodString;
84
+ }, z.core.$strip>>;
85
+ message: z.ZodOptional<z.ZodString>;
86
+ suggested_actions: z.ZodArray<z.ZodObject<{
87
+ command: z.ZodString;
88
+ reason: z.ZodString;
89
+ }, z.core.$strip>>;
90
+ }, z.core.$strip>, z.ZodObject<{
91
+ action: z.ZodLiteral<"snapshot-delete">;
92
+ success: z.ZodBoolean;
93
+ server: z.ZodString;
94
+ ip: z.ZodString;
95
+ snapshotId: z.ZodString;
96
+ message: z.ZodString;
97
+ suggested_actions: z.ZodArray<z.ZodObject<{
98
+ command: z.ZodString;
99
+ reason: z.ZodString;
100
+ }, z.core.$strip>>;
101
+ }, z.core.$strip>, z.ZodObject<{
102
+ action: z.ZodLiteral<"snapshot-restore">;
103
+ success: z.ZodBoolean;
104
+ server: z.ZodString;
105
+ ip: z.ZodString;
106
+ snapshotId: z.ZodString;
107
+ message: z.ZodString;
108
+ suggested_actions: z.ZodArray<z.ZodObject<{
109
+ command: z.ZodString;
110
+ reason: z.ZodString;
111
+ }, z.core.$strip>>;
112
+ }, z.core.$strip>], "action">;
113
+ }, z.core.$strip>;
114
+ export type ServerBackupOutput = z.infer<typeof serverBackupOutputSchema>;
17
115
  type Action = z.infer<typeof serverBackupSchema.action>;
18
116
  export declare function handleServerBackup(params: {
19
117
  action: Action;
@@ -1 +1 @@
1
- {"version":3,"file":"serverBackup.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/serverBackup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAYrB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;CAgB9B,CAAC;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAExD,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,WAAW,CAAC,CAsCvB"}
1
+ {"version":3,"file":"serverBackup.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/serverBackup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAYrB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;CAgB9B,CAAC;AAyEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAExD,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,WAAW,CAAC,CAsCvB"}