kubeview-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/.prettierrc.json +11 -0
  2. package/CHANGELOG.md +55 -0
  3. package/LICENSE +21 -0
  4. package/README.md +251 -0
  5. package/RELEASE.md +154 -0
  6. package/TODO.md +0 -0
  7. package/bin/kubeview-mcp.js +274 -0
  8. package/bin/setup.js +368 -0
  9. package/dist/src/cli/cli.d.ts +3 -0
  10. package/dist/src/cli/cli.d.ts.map +1 -0
  11. package/dist/src/cli/cli.js +23 -0
  12. package/dist/src/cli/cli.js.map +1 -0
  13. package/dist/src/index.d.ts +8 -0
  14. package/dist/src/index.d.ts.map +1 -0
  15. package/dist/src/index.js +45 -0
  16. package/dist/src/index.js.map +1 -0
  17. package/dist/src/kubernetes/BaseResourceOperations.d.ts +155 -0
  18. package/dist/src/kubernetes/BaseResourceOperations.d.ts.map +1 -0
  19. package/dist/src/kubernetes/BaseResourceOperations.js +136 -0
  20. package/dist/src/kubernetes/BaseResourceOperations.js.map +1 -0
  21. package/dist/src/kubernetes/CircuitBreaker.d.ts +182 -0
  22. package/dist/src/kubernetes/CircuitBreaker.d.ts.map +1 -0
  23. package/dist/src/kubernetes/CircuitBreaker.js +369 -0
  24. package/dist/src/kubernetes/CircuitBreaker.js.map +1 -0
  25. package/dist/src/kubernetes/ConnectionManager.d.ts +60 -0
  26. package/dist/src/kubernetes/ConnectionManager.d.ts.map +1 -0
  27. package/dist/src/kubernetes/ConnectionManager.js +77 -0
  28. package/dist/src/kubernetes/ConnectionManager.js.map +1 -0
  29. package/dist/src/kubernetes/ConnectionPool.d.ts +183 -0
  30. package/dist/src/kubernetes/ConnectionPool.d.ts.map +1 -0
  31. package/dist/src/kubernetes/ConnectionPool.js +437 -0
  32. package/dist/src/kubernetes/ConnectionPool.js.map +1 -0
  33. package/dist/src/kubernetes/ErrorHandler.d.ts +172 -0
  34. package/dist/src/kubernetes/ErrorHandler.d.ts.map +1 -0
  35. package/dist/src/kubernetes/ErrorHandler.js +328 -0
  36. package/dist/src/kubernetes/ErrorHandler.js.map +1 -0
  37. package/dist/src/kubernetes/ErrorHandling.d.ts +148 -0
  38. package/dist/src/kubernetes/ErrorHandling.d.ts.map +1 -0
  39. package/dist/src/kubernetes/ErrorHandling.js +304 -0
  40. package/dist/src/kubernetes/ErrorHandling.js.map +1 -0
  41. package/dist/src/kubernetes/KubernetesClient.d.ts +162 -0
  42. package/dist/src/kubernetes/KubernetesClient.d.ts.map +1 -0
  43. package/dist/src/kubernetes/KubernetesClient.js +382 -0
  44. package/dist/src/kubernetes/KubernetesClient.js.map +1 -0
  45. package/dist/src/kubernetes/ResourceOperations.d.ts +69 -0
  46. package/dist/src/kubernetes/ResourceOperations.d.ts.map +1 -0
  47. package/dist/src/kubernetes/ResourceOperations.js +99 -0
  48. package/dist/src/kubernetes/ResourceOperations.js.map +1 -0
  49. package/dist/src/kubernetes/RetryStrategy.d.ts +137 -0
  50. package/dist/src/kubernetes/RetryStrategy.d.ts.map +1 -0
  51. package/dist/src/kubernetes/RetryStrategy.js +277 -0
  52. package/dist/src/kubernetes/RetryStrategy.js.map +1 -0
  53. package/dist/src/kubernetes/RetryableOperation.d.ts +118 -0
  54. package/dist/src/kubernetes/RetryableOperation.d.ts.map +1 -0
  55. package/dist/src/kubernetes/RetryableOperation.js +233 -0
  56. package/dist/src/kubernetes/RetryableOperation.js.map +1 -0
  57. package/dist/src/kubernetes/index.d.ts +18 -0
  58. package/dist/src/kubernetes/index.d.ts.map +1 -0
  59. package/dist/src/kubernetes/index.js +28 -0
  60. package/dist/src/kubernetes/index.js.map +1 -0
  61. package/dist/src/kubernetes/resources/ConfigMapOperations.d.ts +60 -0
  62. package/dist/src/kubernetes/resources/ConfigMapOperations.d.ts.map +1 -0
  63. package/dist/src/kubernetes/resources/ConfigMapOperations.js +306 -0
  64. package/dist/src/kubernetes/resources/ConfigMapOperations.js.map +1 -0
  65. package/dist/src/kubernetes/resources/CustomResourceOperations.d.ts +55 -0
  66. package/dist/src/kubernetes/resources/CustomResourceOperations.d.ts.map +1 -0
  67. package/dist/src/kubernetes/resources/CustomResourceOperations.js +363 -0
  68. package/dist/src/kubernetes/resources/CustomResourceOperations.js.map +1 -0
  69. package/dist/src/kubernetes/resources/DeploymentOperations.d.ts +66 -0
  70. package/dist/src/kubernetes/resources/DeploymentOperations.d.ts.map +1 -0
  71. package/dist/src/kubernetes/resources/DeploymentOperations.js +234 -0
  72. package/dist/src/kubernetes/resources/DeploymentOperations.js.map +1 -0
  73. package/dist/src/kubernetes/resources/IngressOperations.d.ts +60 -0
  74. package/dist/src/kubernetes/resources/IngressOperations.d.ts.map +1 -0
  75. package/dist/src/kubernetes/resources/IngressOperations.js +224 -0
  76. package/dist/src/kubernetes/resources/IngressOperations.js.map +1 -0
  77. package/dist/src/kubernetes/resources/MetricOperations.d.ts +218 -0
  78. package/dist/src/kubernetes/resources/MetricOperations.d.ts.map +1 -0
  79. package/dist/src/kubernetes/resources/MetricOperations.js +893 -0
  80. package/dist/src/kubernetes/resources/MetricOperations.js.map +1 -0
  81. package/dist/src/kubernetes/resources/NamespaceOperations.d.ts +38 -0
  82. package/dist/src/kubernetes/resources/NamespaceOperations.d.ts.map +1 -0
  83. package/dist/src/kubernetes/resources/NamespaceOperations.js +101 -0
  84. package/dist/src/kubernetes/resources/NamespaceOperations.js.map +1 -0
  85. package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.d.ts +109 -0
  86. package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.d.ts.map +1 -0
  87. package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.js +383 -0
  88. package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.js.map +1 -0
  89. package/dist/src/kubernetes/resources/PersistentVolumeOperations.d.ts +97 -0
  90. package/dist/src/kubernetes/resources/PersistentVolumeOperations.d.ts.map +1 -0
  91. package/dist/src/kubernetes/resources/PersistentVolumeOperations.js +321 -0
  92. package/dist/src/kubernetes/resources/PersistentVolumeOperations.js.map +1 -0
  93. package/dist/src/kubernetes/resources/PodOperations.d.ts +99 -0
  94. package/dist/src/kubernetes/resources/PodOperations.d.ts.map +1 -0
  95. package/dist/src/kubernetes/resources/PodOperations.js +333 -0
  96. package/dist/src/kubernetes/resources/PodOperations.js.map +1 -0
  97. package/dist/src/kubernetes/resources/SecretOperations.d.ts +71 -0
  98. package/dist/src/kubernetes/resources/SecretOperations.d.ts.map +1 -0
  99. package/dist/src/kubernetes/resources/SecretOperations.js +254 -0
  100. package/dist/src/kubernetes/resources/SecretOperations.js.map +1 -0
  101. package/dist/src/kubernetes/resources/ServiceOperations.d.ts +64 -0
  102. package/dist/src/kubernetes/resources/ServiceOperations.d.ts.map +1 -0
  103. package/dist/src/kubernetes/resources/ServiceOperations.js +232 -0
  104. package/dist/src/kubernetes/resources/ServiceOperations.js.map +1 -0
  105. package/dist/src/kubernetes/utils/ResourceUtils.d.ts +238 -0
  106. package/dist/src/kubernetes/utils/ResourceUtils.d.ts.map +1 -0
  107. package/dist/src/kubernetes/utils/ResourceUtils.js +439 -0
  108. package/dist/src/kubernetes/utils/ResourceUtils.js.map +1 -0
  109. package/dist/src/plugins/ArgoCDToolsPlugin.d.ts +45 -0
  110. package/dist/src/plugins/ArgoCDToolsPlugin.d.ts.map +1 -0
  111. package/dist/src/plugins/ArgoCDToolsPlugin.js +155 -0
  112. package/dist/src/plugins/ArgoCDToolsPlugin.js.map +1 -0
  113. package/dist/src/plugins/ArgoToolsPlugin.d.ts +45 -0
  114. package/dist/src/plugins/ArgoToolsPlugin.d.ts.map +1 -0
  115. package/dist/src/plugins/ArgoToolsPlugin.js +149 -0
  116. package/dist/src/plugins/ArgoToolsPlugin.js.map +1 -0
  117. package/dist/src/plugins/HelmToolsPlugin.d.ts +41 -0
  118. package/dist/src/plugins/HelmToolsPlugin.d.ts.map +1 -0
  119. package/dist/src/plugins/HelmToolsPlugin.js +146 -0
  120. package/dist/src/plugins/HelmToolsPlugin.js.map +1 -0
  121. package/dist/src/plugins/KubernetesToolsPlugin.d.ts +44 -0
  122. package/dist/src/plugins/KubernetesToolsPlugin.d.ts.map +1 -0
  123. package/dist/src/plugins/KubernetesToolsPlugin.js +159 -0
  124. package/dist/src/plugins/KubernetesToolsPlugin.js.map +1 -0
  125. package/dist/src/plugins/SamplePlugin.d.ts +12 -0
  126. package/dist/src/plugins/SamplePlugin.d.ts.map +1 -0
  127. package/dist/src/plugins/SamplePlugin.js +51 -0
  128. package/dist/src/plugins/SamplePlugin.js.map +1 -0
  129. package/dist/src/plugins/index.d.ts +5 -0
  130. package/dist/src/plugins/index.d.ts.map +1 -0
  131. package/dist/src/plugins/index.js +5 -0
  132. package/dist/src/plugins/index.js.map +1 -0
  133. package/dist/src/server/MCPServer.d.ts +93 -0
  134. package/dist/src/server/MCPServer.d.ts.map +1 -0
  135. package/dist/src/server/MCPServer.js +398 -0
  136. package/dist/src/server/MCPServer.js.map +1 -0
  137. package/dist/src/tools/argo/ArgoCronListTool.d.ts +10 -0
  138. package/dist/src/tools/argo/ArgoCronListTool.d.ts.map +1 -0
  139. package/dist/src/tools/argo/ArgoCronListTool.js +70 -0
  140. package/dist/src/tools/argo/ArgoCronListTool.js.map +1 -0
  141. package/dist/src/tools/argo/ArgoGetTool.d.ts +10 -0
  142. package/dist/src/tools/argo/ArgoGetTool.d.ts.map +1 -0
  143. package/dist/src/tools/argo/ArgoGetTool.js +80 -0
  144. package/dist/src/tools/argo/ArgoGetTool.js.map +1 -0
  145. package/dist/src/tools/argo/ArgoListTool.d.ts +10 -0
  146. package/dist/src/tools/argo/ArgoListTool.d.ts.map +1 -0
  147. package/dist/src/tools/argo/ArgoListTool.js +133 -0
  148. package/dist/src/tools/argo/ArgoListTool.js.map +1 -0
  149. package/dist/src/tools/argo/ArgoLogsTool.d.ts +10 -0
  150. package/dist/src/tools/argo/ArgoLogsTool.d.ts.map +1 -0
  151. package/dist/src/tools/argo/ArgoLogsTool.js +117 -0
  152. package/dist/src/tools/argo/ArgoLogsTool.js.map +1 -0
  153. package/dist/src/tools/argo/BaseTool.d.ts +60 -0
  154. package/dist/src/tools/argo/BaseTool.d.ts.map +1 -0
  155. package/dist/src/tools/argo/BaseTool.js +51 -0
  156. package/dist/src/tools/argo/BaseTool.js.map +1 -0
  157. package/dist/src/tools/argo/index.d.ts +7 -0
  158. package/dist/src/tools/argo/index.d.ts.map +1 -0
  159. package/dist/src/tools/argo/index.js +6 -0
  160. package/dist/src/tools/argo/index.js.map +1 -0
  161. package/dist/src/tools/argocd/ArgoCDAppGetTool.d.ts +10 -0
  162. package/dist/src/tools/argocd/ArgoCDAppGetTool.d.ts.map +1 -0
  163. package/dist/src/tools/argocd/ArgoCDAppGetTool.js +97 -0
  164. package/dist/src/tools/argocd/ArgoCDAppGetTool.js.map +1 -0
  165. package/dist/src/tools/argocd/ArgoCDAppHistoryTool.d.ts +10 -0
  166. package/dist/src/tools/argocd/ArgoCDAppHistoryTool.d.ts.map +1 -0
  167. package/dist/src/tools/argocd/ArgoCDAppHistoryTool.js +80 -0
  168. package/dist/src/tools/argocd/ArgoCDAppHistoryTool.js.map +1 -0
  169. package/dist/src/tools/argocd/ArgoCDAppListTool.d.ts +10 -0
  170. package/dist/src/tools/argocd/ArgoCDAppListTool.d.ts.map +1 -0
  171. package/dist/src/tools/argocd/ArgoCDAppListTool.js +128 -0
  172. package/dist/src/tools/argocd/ArgoCDAppListTool.js.map +1 -0
  173. package/dist/src/tools/argocd/ArgoCDAppLogsTool.d.ts +10 -0
  174. package/dist/src/tools/argocd/ArgoCDAppLogsTool.d.ts.map +1 -0
  175. package/dist/src/tools/argocd/ArgoCDAppLogsTool.js +143 -0
  176. package/dist/src/tools/argocd/ArgoCDAppLogsTool.js.map +1 -0
  177. package/dist/src/tools/argocd/ArgoCDAppResourcesTool.d.ts +10 -0
  178. package/dist/src/tools/argocd/ArgoCDAppResourcesTool.d.ts.map +1 -0
  179. package/dist/src/tools/argocd/ArgoCDAppResourcesTool.js +123 -0
  180. package/dist/src/tools/argocd/ArgoCDAppResourcesTool.js.map +1 -0
  181. package/dist/src/tools/argocd/BaseTool.d.ts +71 -0
  182. package/dist/src/tools/argocd/BaseTool.d.ts.map +1 -0
  183. package/dist/src/tools/argocd/BaseTool.js +62 -0
  184. package/dist/src/tools/argocd/BaseTool.js.map +1 -0
  185. package/dist/src/tools/argocd/index.d.ts +8 -0
  186. package/dist/src/tools/argocd/index.d.ts.map +1 -0
  187. package/dist/src/tools/argocd/index.js +7 -0
  188. package/dist/src/tools/argocd/index.js.map +1 -0
  189. package/dist/src/tools/helm/BaseTool.d.ts +51 -0
  190. package/dist/src/tools/helm/BaseTool.d.ts.map +1 -0
  191. package/dist/src/tools/helm/BaseTool.js +42 -0
  192. package/dist/src/tools/helm/BaseTool.js.map +1 -0
  193. package/dist/src/tools/helm/HelmGetHooksTool.d.ts +10 -0
  194. package/dist/src/tools/helm/HelmGetHooksTool.d.ts.map +1 -0
  195. package/dist/src/tools/helm/HelmGetHooksTool.js +38 -0
  196. package/dist/src/tools/helm/HelmGetHooksTool.js.map +1 -0
  197. package/dist/src/tools/helm/HelmGetManifestTool.d.ts +10 -0
  198. package/dist/src/tools/helm/HelmGetManifestTool.d.ts.map +1 -0
  199. package/dist/src/tools/helm/HelmGetManifestTool.js +38 -0
  200. package/dist/src/tools/helm/HelmGetManifestTool.js.map +1 -0
  201. package/dist/src/tools/helm/HelmGetNotesTool.d.ts +10 -0
  202. package/dist/src/tools/helm/HelmGetNotesTool.d.ts.map +1 -0
  203. package/dist/src/tools/helm/HelmGetNotesTool.js +38 -0
  204. package/dist/src/tools/helm/HelmGetNotesTool.js.map +1 -0
  205. package/dist/src/tools/helm/HelmGetResourcesTool.d.ts +13 -0
  206. package/dist/src/tools/helm/HelmGetResourcesTool.d.ts.map +1 -0
  207. package/dist/src/tools/helm/HelmGetResourcesTool.js +124 -0
  208. package/dist/src/tools/helm/HelmGetResourcesTool.js.map +1 -0
  209. package/dist/src/tools/helm/HelmGetValuesTool.d.ts +10 -0
  210. package/dist/src/tools/helm/HelmGetValuesTool.d.ts.map +1 -0
  211. package/dist/src/tools/helm/HelmGetValuesTool.js +54 -0
  212. package/dist/src/tools/helm/HelmGetValuesTool.js.map +1 -0
  213. package/dist/src/tools/helm/HelmHistoryTool.d.ts +10 -0
  214. package/dist/src/tools/helm/HelmHistoryTool.d.ts.map +1 -0
  215. package/dist/src/tools/helm/HelmHistoryTool.js +49 -0
  216. package/dist/src/tools/helm/HelmHistoryTool.js.map +1 -0
  217. package/dist/src/tools/helm/HelmListTool.d.ts +10 -0
  218. package/dist/src/tools/helm/HelmListTool.d.ts.map +1 -0
  219. package/dist/src/tools/helm/HelmListTool.js +107 -0
  220. package/dist/src/tools/helm/HelmListTool.js.map +1 -0
  221. package/dist/src/tools/helm/HelmListWithResourcesTool.d.ts +14 -0
  222. package/dist/src/tools/helm/HelmListWithResourcesTool.d.ts.map +1 -0
  223. package/dist/src/tools/helm/HelmListWithResourcesTool.js +175 -0
  224. package/dist/src/tools/helm/HelmListWithResourcesTool.js.map +1 -0
  225. package/dist/src/tools/helm/HelmStatusTool.d.ts +10 -0
  226. package/dist/src/tools/helm/HelmStatusTool.d.ts.map +1 -0
  227. package/dist/src/tools/helm/HelmStatusTool.js +54 -0
  228. package/dist/src/tools/helm/HelmStatusTool.js.map +1 -0
  229. package/dist/src/tools/helm/index.d.ts +12 -0
  230. package/dist/src/tools/helm/index.d.ts.map +1 -0
  231. package/dist/src/tools/helm/index.js +11 -0
  232. package/dist/src/tools/helm/index.js.map +1 -0
  233. package/dist/src/tools/kubernetes/BaseTool.d.ts +48 -0
  234. package/dist/src/tools/kubernetes/BaseTool.d.ts.map +1 -0
  235. package/dist/src/tools/kubernetes/BaseTool.js +55 -0
  236. package/dist/src/tools/kubernetes/BaseTool.js.map +1 -0
  237. package/dist/src/tools/kubernetes/GetConfigMapTool.d.ts +11 -0
  238. package/dist/src/tools/kubernetes/GetConfigMapTool.d.ts.map +1 -0
  239. package/dist/src/tools/kubernetes/GetConfigMapTool.js +28 -0
  240. package/dist/src/tools/kubernetes/GetConfigMapTool.js.map +1 -0
  241. package/dist/src/tools/kubernetes/GetContainerLogsTool.d.ts +15 -0
  242. package/dist/src/tools/kubernetes/GetContainerLogsTool.d.ts.map +1 -0
  243. package/dist/src/tools/kubernetes/GetContainerLogsTool.js +119 -0
  244. package/dist/src/tools/kubernetes/GetContainerLogsTool.js.map +1 -0
  245. package/dist/src/tools/kubernetes/GetDeploymentsTool.d.ts +11 -0
  246. package/dist/src/tools/kubernetes/GetDeploymentsTool.d.ts.map +1 -0
  247. package/dist/src/tools/kubernetes/GetDeploymentsTool.js +30 -0
  248. package/dist/src/tools/kubernetes/GetDeploymentsTool.js.map +1 -0
  249. package/dist/src/tools/kubernetes/GetEventsTool.d.ts +11 -0
  250. package/dist/src/tools/kubernetes/GetEventsTool.d.ts.map +1 -0
  251. package/dist/src/tools/kubernetes/GetEventsTool.js +123 -0
  252. package/dist/src/tools/kubernetes/GetEventsTool.js.map +1 -0
  253. package/dist/src/tools/kubernetes/GetIngressTool.d.ts +11 -0
  254. package/dist/src/tools/kubernetes/GetIngressTool.d.ts.map +1 -0
  255. package/dist/src/tools/kubernetes/GetIngressTool.js +35 -0
  256. package/dist/src/tools/kubernetes/GetIngressTool.js.map +1 -0
  257. package/dist/src/tools/kubernetes/GetMetricsTool.d.ts +11 -0
  258. package/dist/src/tools/kubernetes/GetMetricsTool.d.ts.map +1 -0
  259. package/dist/src/tools/kubernetes/GetMetricsTool.js +40 -0
  260. package/dist/src/tools/kubernetes/GetMetricsTool.js.map +1 -0
  261. package/dist/src/tools/kubernetes/GetNamespacesTool.d.ts +11 -0
  262. package/dist/src/tools/kubernetes/GetNamespacesTool.d.ts.map +1 -0
  263. package/dist/src/tools/kubernetes/GetNamespacesTool.js +33 -0
  264. package/dist/src/tools/kubernetes/GetNamespacesTool.js.map +1 -0
  265. package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.d.ts +11 -0
  266. package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.d.ts.map +1 -0
  267. package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.js +92 -0
  268. package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.js.map +1 -0
  269. package/dist/src/tools/kubernetes/GetPersistentVolumesTool.d.ts +11 -0
  270. package/dist/src/tools/kubernetes/GetPersistentVolumesTool.d.ts.map +1 -0
  271. package/dist/src/tools/kubernetes/GetPersistentVolumesTool.js +88 -0
  272. package/dist/src/tools/kubernetes/GetPersistentVolumesTool.js.map +1 -0
  273. package/dist/src/tools/kubernetes/GetPodMetricsTool.d.ts +11 -0
  274. package/dist/src/tools/kubernetes/GetPodMetricsTool.d.ts.map +1 -0
  275. package/dist/src/tools/kubernetes/GetPodMetricsTool.js +100 -0
  276. package/dist/src/tools/kubernetes/GetPodMetricsTool.js.map +1 -0
  277. package/dist/src/tools/kubernetes/GetPodsTool.d.ts +11 -0
  278. package/dist/src/tools/kubernetes/GetPodsTool.d.ts.map +1 -0
  279. package/dist/src/tools/kubernetes/GetPodsTool.js +35 -0
  280. package/dist/src/tools/kubernetes/GetPodsTool.js.map +1 -0
  281. package/dist/src/tools/kubernetes/GetResourceTool.d.ts +12 -0
  282. package/dist/src/tools/kubernetes/GetResourceTool.d.ts.map +1 -0
  283. package/dist/src/tools/kubernetes/GetResourceTool.js +79 -0
  284. package/dist/src/tools/kubernetes/GetResourceTool.js.map +1 -0
  285. package/dist/src/tools/kubernetes/GetSecretsTool.d.ts +11 -0
  286. package/dist/src/tools/kubernetes/GetSecretsTool.d.ts.map +1 -0
  287. package/dist/src/tools/kubernetes/GetSecretsTool.js +49 -0
  288. package/dist/src/tools/kubernetes/GetSecretsTool.js.map +1 -0
  289. package/dist/src/tools/kubernetes/GetServicesTool.d.ts +11 -0
  290. package/dist/src/tools/kubernetes/GetServicesTool.d.ts.map +1 -0
  291. package/dist/src/tools/kubernetes/GetServicesTool.js +35 -0
  292. package/dist/src/tools/kubernetes/GetServicesTool.js.map +1 -0
  293. package/dist/src/tools/kubernetes/index.d.ts +17 -0
  294. package/dist/src/tools/kubernetes/index.d.ts.map +1 -0
  295. package/dist/src/tools/kubernetes/index.js +16 -0
  296. package/dist/src/tools/kubernetes/index.js.map +1 -0
  297. package/dist/src/utils/CliUtils.d.ts +24 -0
  298. package/dist/src/utils/CliUtils.d.ts.map +1 -0
  299. package/dist/src/utils/CliUtils.js +159 -0
  300. package/dist/src/utils/CliUtils.js.map +1 -0
  301. package/dist/tests/__mocks__/@kubernetes/client-node.d.ts +34 -0
  302. package/dist/tests/__mocks__/@kubernetes/client-node.d.ts.map +1 -0
  303. package/dist/tests/__mocks__/@kubernetes/client-node.js +20 -0
  304. package/dist/tests/__mocks__/@kubernetes/client-node.js.map +1 -0
  305. package/dist/tests/argo/ArgoGetTool.test.d.ts +2 -0
  306. package/dist/tests/argo/ArgoGetTool.test.d.ts.map +1 -0
  307. package/dist/tests/argo/ArgoGetTool.test.js +141 -0
  308. package/dist/tests/argo/ArgoGetTool.test.js.map +1 -0
  309. package/dist/tests/helm/BaseTool.test.d.ts +2 -0
  310. package/dist/tests/helm/BaseTool.test.d.ts.map +1 -0
  311. package/dist/tests/helm/BaseTool.test.js +241 -0
  312. package/dist/tests/helm/BaseTool.test.js.map +1 -0
  313. package/dist/tests/index.test.d.ts +2 -0
  314. package/dist/tests/index.test.d.ts.map +1 -0
  315. package/dist/tests/index.test.js +7 -0
  316. package/dist/tests/index.test.js.map +1 -0
  317. package/dist/tests/kubernetes/ConfigMapOperations.test.d.ts +2 -0
  318. package/dist/tests/kubernetes/ConfigMapOperations.test.d.ts.map +1 -0
  319. package/dist/tests/kubernetes/ConfigMapOperations.test.js +460 -0
  320. package/dist/tests/kubernetes/ConfigMapOperations.test.js.map +1 -0
  321. package/dist/tests/kubernetes/ConnectionManager.test.d.ts +2 -0
  322. package/dist/tests/kubernetes/ConnectionManager.test.d.ts.map +1 -0
  323. package/dist/tests/kubernetes/ConnectionManager.test.js +97 -0
  324. package/dist/tests/kubernetes/ConnectionManager.test.js.map +1 -0
  325. package/dist/tests/kubernetes/ConnectionPool.test.d.ts +2 -0
  326. package/dist/tests/kubernetes/ConnectionPool.test.d.ts.map +1 -0
  327. package/dist/tests/kubernetes/ConnectionPool.test.js +328 -0
  328. package/dist/tests/kubernetes/ConnectionPool.test.js.map +1 -0
  329. package/dist/tests/kubernetes/DeploymentOperations.test.d.ts +2 -0
  330. package/dist/tests/kubernetes/DeploymentOperations.test.d.ts.map +1 -0
  331. package/dist/tests/kubernetes/DeploymentOperations.test.js +196 -0
  332. package/dist/tests/kubernetes/DeploymentOperations.test.js.map +1 -0
  333. package/dist/tests/kubernetes/ErrorHandling.test.d.ts +2 -0
  334. package/dist/tests/kubernetes/ErrorHandling.test.d.ts.map +1 -0
  335. package/dist/tests/kubernetes/ErrorHandling.test.js +329 -0
  336. package/dist/tests/kubernetes/ErrorHandling.test.js.map +1 -0
  337. package/dist/tests/kubernetes/GetPodMetricsTool.test.d.ts +2 -0
  338. package/dist/tests/kubernetes/GetPodMetricsTool.test.d.ts.map +1 -0
  339. package/dist/tests/kubernetes/GetPodMetricsTool.test.js +150 -0
  340. package/dist/tests/kubernetes/GetPodMetricsTool.test.js.map +1 -0
  341. package/dist/tests/kubernetes/KubernetesClient.test.d.ts +2 -0
  342. package/dist/tests/kubernetes/KubernetesClient.test.d.ts.map +1 -0
  343. package/dist/tests/kubernetes/KubernetesClient.test.js +371 -0
  344. package/dist/tests/kubernetes/KubernetesClient.test.js.map +1 -0
  345. package/dist/tests/kubernetes/MetricOperations.parsing.test.d.ts +2 -0
  346. package/dist/tests/kubernetes/MetricOperations.parsing.test.d.ts.map +1 -0
  347. package/dist/tests/kubernetes/MetricOperations.parsing.test.js +49 -0
  348. package/dist/tests/kubernetes/MetricOperations.parsing.test.js.map +1 -0
  349. package/dist/tests/kubernetes/NamespaceOperations.test.d.ts +2 -0
  350. package/dist/tests/kubernetes/NamespaceOperations.test.d.ts.map +1 -0
  351. package/dist/tests/kubernetes/NamespaceOperations.test.js +115 -0
  352. package/dist/tests/kubernetes/NamespaceOperations.test.js.map +1 -0
  353. package/dist/tests/kubernetes/PodOperations.test.d.ts +2 -0
  354. package/dist/tests/kubernetes/PodOperations.test.d.ts.map +1 -0
  355. package/dist/tests/kubernetes/PodOperations.test.js +209 -0
  356. package/dist/tests/kubernetes/PodOperations.test.js.map +1 -0
  357. package/dist/tests/kubernetes/RetryStrategy.test.d.ts +2 -0
  358. package/dist/tests/kubernetes/RetryStrategy.test.d.ts.map +1 -0
  359. package/dist/tests/kubernetes/RetryStrategy.test.js +419 -0
  360. package/dist/tests/kubernetes/RetryStrategy.test.js.map +1 -0
  361. package/dist/tests/kubernetes/ServiceOperations.test.d.ts +2 -0
  362. package/dist/tests/kubernetes/ServiceOperations.test.d.ts.map +1 -0
  363. package/dist/tests/kubernetes/ServiceOperations.test.js +159 -0
  364. package/dist/tests/kubernetes/ServiceOperations.test.js.map +1 -0
  365. package/dist/tests/plugins/KubernetesToolsPlugin.test.d.ts +2 -0
  366. package/dist/tests/plugins/KubernetesToolsPlugin.test.d.ts.map +1 -0
  367. package/dist/tests/plugins/KubernetesToolsPlugin.test.js +153 -0
  368. package/dist/tests/plugins/KubernetesToolsPlugin.test.js.map +1 -0
  369. package/dist/tests/server/MCPServer.integration.test.d.ts +2 -0
  370. package/dist/tests/server/MCPServer.integration.test.d.ts.map +1 -0
  371. package/dist/tests/server/MCPServer.integration.test.js +244 -0
  372. package/dist/tests/server/MCPServer.integration.test.js.map +1 -0
  373. package/dist/tests/server/MCPServer.test.d.ts +2 -0
  374. package/dist/tests/server/MCPServer.test.d.ts.map +1 -0
  375. package/dist/tests/server/MCPServer.test.js +257 -0
  376. package/dist/tests/server/MCPServer.test.js.map +1 -0
  377. package/package.json +85 -0
  378. package/src/cli/cli.ts +25 -0
  379. package/src/cli/run-command.js +391 -0
  380. package/src/index.ts +46 -0
  381. package/src/kubernetes/BaseResourceOperations.ts +286 -0
  382. package/src/kubernetes/CircuitBreaker.ts +485 -0
  383. package/src/kubernetes/ConnectionManager.ts +114 -0
  384. package/src/kubernetes/ConnectionPool.ts +551 -0
  385. package/src/kubernetes/ErrorHandler.ts +436 -0
  386. package/src/kubernetes/ErrorHandling.ts +401 -0
  387. package/src/kubernetes/KubernetesClient.ts +500 -0
  388. package/src/kubernetes/README.md +349 -0
  389. package/src/kubernetes/ResourceOperations.ts +116 -0
  390. package/src/kubernetes/RetryStrategy.ts +365 -0
  391. package/src/kubernetes/RetryableOperation.ts +313 -0
  392. package/src/kubernetes/docs/ResourceOperations.md +606 -0
  393. package/src/kubernetes/index.ts +116 -0
  394. package/src/kubernetes/resources/ConfigMapOperations.ts +367 -0
  395. package/src/kubernetes/resources/CustomResourceOperations.ts +392 -0
  396. package/src/kubernetes/resources/DeploymentOperations.ts +294 -0
  397. package/src/kubernetes/resources/IngressOperations.ts +277 -0
  398. package/src/kubernetes/resources/MetricOperations.ts +1159 -0
  399. package/src/kubernetes/resources/NamespaceOperations.ts +129 -0
  400. package/src/kubernetes/resources/PersistentVolumeClaimOperations.ts +516 -0
  401. package/src/kubernetes/resources/PersistentVolumeOperations.ts +438 -0
  402. package/src/kubernetes/resources/PodOperations.ts +417 -0
  403. package/src/kubernetes/resources/SecretOperations.ts +304 -0
  404. package/src/kubernetes/resources/ServiceOperations.ts +283 -0
  405. package/src/kubernetes/utils/ResourceUtils.ts +553 -0
  406. package/src/plugins/ArgoCDToolsPlugin.ts +189 -0
  407. package/src/plugins/ArgoToolsPlugin.ts +180 -0
  408. package/src/plugins/HelmToolsPlugin.ts +180 -0
  409. package/src/plugins/KubernetesToolsPlugin.ts +198 -0
  410. package/src/plugins/SamplePlugin.ts +60 -0
  411. package/src/plugins/index.ts +4 -0
  412. package/src/server/MCPServer.ts +500 -0
  413. package/src/tools/argo/ArgoCronListTool.ts +78 -0
  414. package/src/tools/argo/ArgoGetTool.ts +91 -0
  415. package/src/tools/argo/ArgoListTool.ts +143 -0
  416. package/src/tools/argo/ArgoLogsTool.ts +131 -0
  417. package/src/tools/argo/BaseTool.ts +69 -0
  418. package/src/tools/argo/index.ts +6 -0
  419. package/src/tools/argocd/ArgoCDAppGetTool.ts +109 -0
  420. package/src/tools/argocd/ArgoCDAppHistoryTool.ts +91 -0
  421. package/src/tools/argocd/ArgoCDAppListTool.ts +144 -0
  422. package/src/tools/argocd/ArgoCDAppLogsTool.ts +162 -0
  423. package/src/tools/argocd/ArgoCDAppResourcesTool.ts +139 -0
  424. package/src/tools/argocd/BaseTool.ts +83 -0
  425. package/src/tools/argocd/index.ts +7 -0
  426. package/src/tools/helm/BaseTool.ts +60 -0
  427. package/src/tools/helm/HelmGetHooksTool.ts +44 -0
  428. package/src/tools/helm/HelmGetManifestTool.ts +44 -0
  429. package/src/tools/helm/HelmGetNotesTool.ts +44 -0
  430. package/src/tools/helm/HelmGetResourcesTool.ts +140 -0
  431. package/src/tools/helm/HelmGetValuesTool.ts +62 -0
  432. package/src/tools/helm/HelmHistoryTool.ts +56 -0
  433. package/src/tools/helm/HelmListTool.ts +107 -0
  434. package/src/tools/helm/HelmListWithResourcesTool.ts +194 -0
  435. package/src/tools/helm/HelmStatusTool.ts +62 -0
  436. package/src/tools/helm/index.ts +11 -0
  437. package/src/tools/kubernetes/BaseTool.ts +76 -0
  438. package/src/tools/kubernetes/GetConfigMapTool.ts +33 -0
  439. package/src/tools/kubernetes/GetContainerLogsTool.ts +140 -0
  440. package/src/tools/kubernetes/GetDeploymentsTool.ts +33 -0
  441. package/src/tools/kubernetes/GetEventsTool.ts +133 -0
  442. package/src/tools/kubernetes/GetIngressTool.ts +39 -0
  443. package/src/tools/kubernetes/GetMetricsTool.ts +53 -0
  444. package/src/tools/kubernetes/GetNamespacesTool.ts +36 -0
  445. package/src/tools/kubernetes/GetPersistentVolumeClaimsTool.ts +113 -0
  446. package/src/tools/kubernetes/GetPersistentVolumesTool.ts +107 -0
  447. package/src/tools/kubernetes/GetPodMetricsTool.ts +113 -0
  448. package/src/tools/kubernetes/GetPodsTool.ts +39 -0
  449. package/src/tools/kubernetes/GetResourceTool.ts +90 -0
  450. package/src/tools/kubernetes/GetSecretsTool.ts +55 -0
  451. package/src/tools/kubernetes/GetServicesTool.ts +39 -0
  452. package/src/tools/kubernetes/index.ts +16 -0
  453. package/src/utils/CliUtils.ts +207 -0
  454. package/tsconfig.json +36 -0
@@ -0,0 +1,391 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * CLI script for running Kubernetes, Helm, Argo, and ArgoCD MCP commands directly
5
+ * Usage: node scripts/run-command.js <command_name> [params]
6
+ * Examples:
7
+ * Kubernetes: node scripts/run-command.js get_pods
8
+ * Kubernetes: node scripts/run-command.js get_metrics --namespace=kube-system
9
+ * Helm: node scripts/run-command.js helm_list
10
+ * Helm: node scripts/run-command.js helm_status --releaseName=argo-workflows --namespace=argo
11
+ * Argo: node scripts/run-command.js argo_list
12
+ * ArgoCD: node scripts/run-command.js argocd_app_list
13
+ */
14
+
15
+ import { KubernetesToolsPlugin } from '../../dist/src/plugins/KubernetesToolsPlugin.js';
16
+ import { HelmToolsPlugin } from '../../dist/src/plugins/HelmToolsPlugin.js';
17
+ import { ArgoToolsPlugin } from '../../dist/src/plugins/ArgoToolsPlugin.js';
18
+ import { ArgoCDToolsPlugin } from '../../dist/src/plugins/ArgoCDToolsPlugin.js';
19
+ import * as KubernetesToolClasses from '../../dist/src/tools/kubernetes/index.js';
20
+ import * as HelmToolClasses from '../../dist/src/tools/helm/index.js';
21
+ import * as ArgoToolClasses from '../../dist/src/tools/argo/index.js';
22
+ import * as ArgoCDToolClasses from '../../dist/src/tools/argocd/index.js';
23
+
24
+ // Dynamically extract command descriptions from Kubernetes, Helm, Argo, and ArgoCD tool classes
25
+ function extractCommandDescriptions() {
26
+ const descriptions = {};
27
+
28
+ // Process Kubernetes tools
29
+ // eslint-disable-next-line no-unused-vars
30
+ const { CommonSchemas, BaseTool, ...kubernetesToolClasses } = KubernetesToolClasses;
31
+ // eslint-disable-next-line no-unused-vars
32
+ for (const [exportName, ToolClass] of Object.entries(kubernetesToolClasses)) {
33
+ // Skip non-class exports (functions, objects, etc.)
34
+ if (typeof ToolClass !== 'function') continue;
35
+
36
+ let instance;
37
+ try {
38
+ instance = new ToolClass();
39
+ } catch {
40
+ continue; // Not a class constructor or failed to instantiate
41
+ }
42
+
43
+ if (!instance.tool || typeof instance.tool !== 'object') continue;
44
+
45
+ const tool = instance.tool;
46
+ const params = {};
47
+
48
+ if (tool.inputSchema && tool.inputSchema.properties) {
49
+ for (const [param, schema] of Object.entries(tool.inputSchema.properties)) {
50
+ // If schema is a reference to CommonSchemas, resolve description
51
+ let desc = schema.description;
52
+ if (!desc && CommonSchemas && CommonSchemas[param] && CommonSchemas[param].description) {
53
+ desc = CommonSchemas[param].description;
54
+ }
55
+ params[param] = desc || 'No description available';
56
+ }
57
+ }
58
+
59
+ descriptions[tool.name] = {
60
+ description: tool.description,
61
+ params,
62
+ type: 'kubernetes',
63
+ };
64
+ }
65
+
66
+ // Process Helm tools
67
+ // eslint-disable-next-line no-unused-vars
68
+ const { HelmCommonSchemas, HelmBaseTool, ...helmToolClasses } = HelmToolClasses;
69
+ // eslint-disable-next-line no-unused-vars
70
+ for (const [exportName, ToolClass] of Object.entries(helmToolClasses)) {
71
+ // Skip non-class exports (functions, objects, etc.)
72
+ if (typeof ToolClass !== 'function') continue;
73
+
74
+ let instance;
75
+ try {
76
+ instance = new ToolClass();
77
+ } catch {
78
+ continue; // Not a class constructor or failed to instantiate
79
+ }
80
+
81
+ if (!instance.tool || typeof instance.tool !== 'object') continue;
82
+
83
+ const tool = instance.tool;
84
+ const params = {};
85
+
86
+ if (tool.inputSchema && tool.inputSchema.properties) {
87
+ for (const [param, schema] of Object.entries(tool.inputSchema.properties)) {
88
+ // If schema is a reference to HelmCommonSchemas, resolve description
89
+ let desc = schema.description;
90
+ if (!desc && HelmCommonSchemas && HelmCommonSchemas[param] && HelmCommonSchemas[param].description) {
91
+ desc = HelmCommonSchemas[param].description;
92
+ }
93
+ params[param] = desc || 'No description available';
94
+ }
95
+ }
96
+
97
+ descriptions[tool.name] = {
98
+ description: tool.description,
99
+ params,
100
+ type: 'helm',
101
+ };
102
+ }
103
+
104
+ // Process Argo tools
105
+ const { ArgoCommonSchemas, ...argoToolClasses } = ArgoToolClasses;
106
+ // eslint-disable-next-line no-unused-vars
107
+ for (const [exportName, ToolClass] of Object.entries(argoToolClasses)) {
108
+ // Skip non-class exports (functions, objects, etc.)
109
+ if (typeof ToolClass !== 'function') continue;
110
+
111
+ let instance;
112
+ try {
113
+ instance = new ToolClass();
114
+ } catch {
115
+ continue; // Not a class constructor or failed to instantiate
116
+ }
117
+
118
+ if (!instance.tool || typeof instance.tool !== 'object') continue;
119
+
120
+ const tool = instance.tool;
121
+ const params = {};
122
+
123
+ if (tool.inputSchema && tool.inputSchema.properties) {
124
+ for (const [param, schema] of Object.entries(tool.inputSchema.properties)) {
125
+ // If schema is a reference to ArgoCommonSchemas, resolve description
126
+ let desc = schema.description;
127
+ if (!desc && ArgoCommonSchemas && ArgoCommonSchemas[param] && ArgoCommonSchemas[param].description) {
128
+ desc = ArgoCommonSchemas[param].description;
129
+ }
130
+ params[param] = desc || 'No description available';
131
+ }
132
+ }
133
+
134
+ descriptions[tool.name] = {
135
+ description: tool.description,
136
+ params,
137
+ type: 'argo',
138
+ };
139
+ }
140
+
141
+ // Process ArgoCD tools
142
+ const { ArgoCDCommonSchemas, ...argoCDToolClasses } = ArgoCDToolClasses;
143
+ // eslint-disable-next-line no-unused-vars
144
+ for (const [exportName, ToolClass] of Object.entries(argoCDToolClasses)) {
145
+ // Skip non-class exports (functions, objects, etc.)
146
+ if (typeof ToolClass !== 'function') continue;
147
+
148
+ let instance;
149
+ try {
150
+ instance = new ToolClass();
151
+ } catch {
152
+ continue; // Not a class constructor or failed to instantiate
153
+ }
154
+
155
+ if (!instance.tool || typeof instance.tool !== 'object') continue;
156
+
157
+ const tool = instance.tool;
158
+ const params = {};
159
+
160
+ if (tool.inputSchema && tool.inputSchema.properties) {
161
+ for (const [param, schema] of Object.entries(tool.inputSchema.properties)) {
162
+ // If schema is a reference to ArgoCDCommonSchemas, resolve description
163
+ let desc = schema.description;
164
+ if (!desc && ArgoCDCommonSchemas && ArgoCDCommonSchemas[param] && ArgoCDCommonSchemas[param].description) {
165
+ desc = ArgoCDCommonSchemas[param].description;
166
+ }
167
+ params[param] = desc || 'No description available';
168
+ }
169
+ }
170
+
171
+ descriptions[tool.name] = {
172
+ description: tool.description,
173
+ params,
174
+ type: 'argocd',
175
+ };
176
+ }
177
+
178
+ return descriptions;
179
+ }
180
+
181
+ const COMMAND_DESCRIPTIONS = extractCommandDescriptions();
182
+
183
+ // Show help for a specific command
184
+ function showCommandHelp(commandName) {
185
+ const commandInfo = COMMAND_DESCRIPTIONS[commandName];
186
+ if (!commandInfo) {
187
+ console.error(`Unknown command: ${commandName}`);
188
+ showGeneralHelp();
189
+ return;
190
+ }
191
+
192
+ console.log(`\nCommand: ${commandName}`);
193
+ console.log(`Description: ${commandInfo.description}`);
194
+ console.log('\nParameters:');
195
+
196
+ if (Object.keys(commandInfo.params).length === 0) {
197
+ console.log(' No parameters required');
198
+ } else {
199
+ for (const [param, desc] of Object.entries(commandInfo.params)) {
200
+ console.log(` --${param}: ${desc}`);
201
+ }
202
+ }
203
+
204
+ console.log('\nExample:');
205
+ console.log(` npm run command -- ${commandName} ${generateExampleParams(commandInfo.params)}`);
206
+ }
207
+
208
+ // Generate example parameters for a command
209
+ function generateExampleParams(params) {
210
+ const examples = [];
211
+ for (const param of Object.keys(params)) {
212
+ if (param === 'random_string') continue;
213
+
214
+ // Create simple examples based on parameter name
215
+ if (param === 'namespace') examples.push('--namespace=default');
216
+ else if (param === 'resourceType') examples.push('--resourceType=pod');
217
+ else if (param === 'name' || param === 'podName') examples.push(`--${param}=example-name`);
218
+ else if (param === 'appName') examples.push('--appName=my-app');
219
+ else if (param === 'releaseName') examples.push('--releaseName=my-release');
220
+ else if (param === 'workflowName') examples.push('--workflowName=my-workflow');
221
+ else if (param === 'tailLines') examples.push('--tailLines=100');
222
+ else if (param === 'limit') examples.push('--limit=50');
223
+ else if (param === 'revision') examples.push('--revision=1');
224
+ else if (param === 'outputFormat') examples.push('--outputFormat=json');
225
+ else if (param === 'container') examples.push('--container=main');
226
+ else if (param === 'timestamps' || param === 'previous' || param === 'fetchPodSpecs' || param === 'allValues' || param === 'showResources' || param === 'refresh') examples.push(`--${param}=true`);
227
+ }
228
+
229
+ // Only include a few examples to keep it readable
230
+ return examples.slice(0, 2).join(' ');
231
+ }
232
+
233
+ // Show general help
234
+ function showGeneralHelp() {
235
+ console.log('\nUsage: npm run command -- <command_name> [params]');
236
+
237
+ // Separate commands by type
238
+ const kubernetesCommands = {};
239
+ const helmCommands = {};
240
+ const argoCommands = {};
241
+ const argoCDCommands = {};
242
+
243
+ for (const [command, info] of Object.entries(COMMAND_DESCRIPTIONS)) {
244
+ if (info.type === 'helm') {
245
+ helmCommands[command] = info;
246
+ } else if (info.type === 'argo') {
247
+ argoCommands[command] = info;
248
+ } else if (info.type === 'argocd') {
249
+ argoCDCommands[command] = info;
250
+ } else {
251
+ kubernetesCommands[command] = info;
252
+ }
253
+ }
254
+
255
+ console.log('\nKubernetes commands:');
256
+ for (const [command, info] of Object.entries(kubernetesCommands)) {
257
+ console.log(` ${command.padEnd(20)} ${info.description}`);
258
+ }
259
+
260
+ console.log('\nHelm commands:');
261
+ for (const [command, info] of Object.entries(helmCommands)) {
262
+ console.log(` ${command.padEnd(20)} ${info.description}`);
263
+ }
264
+
265
+ console.log('\nArgo commands:');
266
+ for (const [command, info] of Object.entries(argoCommands)) {
267
+ console.log(` ${command.padEnd(20)} ${info.description}`);
268
+ }
269
+
270
+ console.log('\nArgoCD commands:');
271
+ for (const [command, info] of Object.entries(argoCDCommands)) {
272
+ console.log(` ${command.padEnd(20)} ${info.description}`);
273
+ }
274
+
275
+ console.log('\nFor command-specific help:');
276
+ console.log(' npm run command help <command_name>');
277
+ console.log('\nExamples:');
278
+ console.log(' # Kubernetes');
279
+ console.log(' npm run command -- get_pods');
280
+ console.log(' npm run command -- get_metrics --namespace=kube-system');
281
+ console.log(' npm run command -- pod_logs --podName=nginx-pod --namespace=default --tailLines=100');
282
+ console.log(' # Helm');
283
+ console.log(' npm run command -- helm_list');
284
+ console.log(' npm run command -- helm_status --releaseName=my-release --namespace=default');
285
+ console.log(' npm run command -- helm_get_values --releaseName=my-release --namespace=default');
286
+ console.log(' # Argo');
287
+ console.log(' npm run command -- argo_list');
288
+ console.log(' npm run command -- argo_logs --workflowName=my-workflow --namespace=argo');
289
+ console.log(' npm run command -- argo_cron_list');
290
+ console.log(' # ArgoCD');
291
+ console.log(' npm run command -- argocd_app_list');
292
+ console.log(' npm run command -- argocd_app_get --appName=my-app');
293
+ console.log(' npm run command -- argocd_app_logs --appName=my-app --container=main');
294
+ }
295
+
296
+ // Parse parameters from command line arguments
297
+ function parseParams() {
298
+ const params = {};
299
+ for (let i = 3; i < process.argv.length; i++) {
300
+ const arg = process.argv[i];
301
+ if (arg.startsWith('--')) {
302
+ const [key, value] = arg.slice(2).split('=');
303
+ if (value === undefined) {
304
+ // Handle boolean flags
305
+ params[key] = true;
306
+ } else {
307
+ // Handle key-value pairs
308
+ // Try to parse numbers and booleans
309
+ if (value === 'true') params[key] = true;
310
+ else if (value === 'false') params[key] = false;
311
+ else if (!isNaN(Number(value))) params[key] = Number(value);
312
+ else params[key] = value;
313
+ }
314
+ }
315
+ }
316
+ return params;
317
+ }
318
+
319
+ async function main() {
320
+ // Get the command from command line arguments
321
+ const commandName = process.argv[2];
322
+
323
+ // Handle help requests
324
+ if (!commandName || commandName === 'help') {
325
+ if (process.argv[3] && COMMAND_DESCRIPTIONS[process.argv[3]]) {
326
+ showCommandHelp(process.argv[3]);
327
+ } else {
328
+ showGeneralHelp();
329
+ }
330
+ return;
331
+ }
332
+
333
+ // Check if command exists
334
+ if (!COMMAND_DESCRIPTIONS[commandName]) {
335
+ console.error(`Error: Unknown command '${commandName}'`);
336
+ showGeneralHelp();
337
+ process.exit(1);
338
+ }
339
+
340
+ // Parse parameters from command line
341
+ const params = parseParams();
342
+
343
+ // Display command info
344
+ console.log(`Executing command: ${commandName}`);
345
+ if (Object.keys(params).length > 0) {
346
+ console.log('Parameters:', JSON.stringify(params, null, 2));
347
+ } else {
348
+ console.log('No parameters provided');
349
+ }
350
+
351
+ try {
352
+ let result;
353
+ const commandInfo = COMMAND_DESCRIPTIONS[commandName];
354
+
355
+ if (commandInfo.type === 'helm') {
356
+ // Use HelmToolsPlugin for Helm commands
357
+ console.log('\nExecuting Helm CLI command...');
358
+ result = await HelmToolsPlugin.executeCommand(commandName, params);
359
+ } else if (commandInfo.type === 'argo') {
360
+ // Use ArgoToolsPlugin for Argo commands
361
+ console.log('\nExecuting Argo CLI command...');
362
+ result = await ArgoToolsPlugin.executeCommand(commandName, params);
363
+ } else if (commandInfo.type === 'argocd') {
364
+ // Use ArgoCDToolsPlugin for ArgoCD commands
365
+ console.log('\nExecuting ArgoCD CLI command...');
366
+ result = await ArgoCDToolsPlugin.executeCommand(commandName, params);
367
+ } else {
368
+ // Use KubernetesToolsPlugin for Kubernetes commands
369
+ console.log('\nConnecting to Kubernetes cluster...');
370
+ result = await KubernetesToolsPlugin.executeCommand(commandName, params);
371
+ }
372
+
373
+ // Output the result
374
+ console.log('\nResult:');
375
+ if (result && result.output && typeof result.output === 'string') {
376
+ // For YAML or text output, print directly
377
+ console.log(result.output);
378
+ } else {
379
+ // For JSON output, pretty print
380
+ console.log(JSON.stringify(result, null, 2));
381
+ }
382
+ } catch (error) {
383
+ console.error('Error executing command:', error);
384
+ process.exit(1);
385
+ }
386
+ }
387
+
388
+ main().catch(err => {
389
+ console.error('Unhandled error:', err);
390
+ process.exit(1);
391
+ });
package/src/index.ts ADDED
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Kubernetes MCP Server
4
+ * Main entry point for the Model Context Protocol server
5
+ */
6
+
7
+ import { MCPServer } from './server/MCPServer.js';
8
+ import { KubernetesToolsPlugin } from './plugins/KubernetesToolsPlugin.js';
9
+ import { HelmToolsPlugin } from './plugins/HelmToolsPlugin.js';
10
+ import { ArgoToolsPlugin } from './plugins/ArgoToolsPlugin.js';
11
+ import { ArgoCDToolsPlugin } from './plugins/ArgoCDToolsPlugin.js';
12
+
13
+ export const VERSION = '0.1.0';
14
+
15
+ export async function main(): Promise<void> {
16
+ console.error(`Kubernetes MCP Server v${VERSION} - Starting...`);
17
+
18
+ try {
19
+ // Create and start the MCP server
20
+ const server = new MCPServer();
21
+
22
+ // Load the Kubernetes tools plugin
23
+ const kubernetesPlugin = new KubernetesToolsPlugin();
24
+ await server.loadPlugin(kubernetesPlugin);
25
+
26
+ // Load the Helm tools plugin
27
+ const helmPlugin = new HelmToolsPlugin();
28
+ await server.loadPlugin(helmPlugin);
29
+
30
+ // Load the Argo tools plugin
31
+ const argoPlugin = new ArgoToolsPlugin();
32
+ await server.loadPlugin(argoPlugin);
33
+
34
+ // Load the ArgoCD tools plugin
35
+ const argoCDPlugin = new ArgoCDToolsPlugin();
36
+ await server.loadPlugin(argoCDPlugin);
37
+
38
+ // Start the server
39
+ await server.start();
40
+
41
+ console.error('MCP Server is running. Waiting for connections...');
42
+ } catch (error) {
43
+ console.error('Failed to start MCP server:', error);
44
+ process.exit(1);
45
+ }
46
+ }