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.
- package/.prettierrc.json +11 -0
- package/CHANGELOG.md +55 -0
- package/LICENSE +21 -0
- package/README.md +251 -0
- package/RELEASE.md +154 -0
- package/TODO.md +0 -0
- package/bin/kubeview-mcp.js +274 -0
- package/bin/setup.js +368 -0
- package/dist/src/cli/cli.d.ts +3 -0
- package/dist/src/cli/cli.d.ts.map +1 -0
- package/dist/src/cli/cli.js +23 -0
- package/dist/src/cli/cli.js.map +1 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +45 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/kubernetes/BaseResourceOperations.d.ts +155 -0
- package/dist/src/kubernetes/BaseResourceOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/BaseResourceOperations.js +136 -0
- package/dist/src/kubernetes/BaseResourceOperations.js.map +1 -0
- package/dist/src/kubernetes/CircuitBreaker.d.ts +182 -0
- package/dist/src/kubernetes/CircuitBreaker.d.ts.map +1 -0
- package/dist/src/kubernetes/CircuitBreaker.js +369 -0
- package/dist/src/kubernetes/CircuitBreaker.js.map +1 -0
- package/dist/src/kubernetes/ConnectionManager.d.ts +60 -0
- package/dist/src/kubernetes/ConnectionManager.d.ts.map +1 -0
- package/dist/src/kubernetes/ConnectionManager.js +77 -0
- package/dist/src/kubernetes/ConnectionManager.js.map +1 -0
- package/dist/src/kubernetes/ConnectionPool.d.ts +183 -0
- package/dist/src/kubernetes/ConnectionPool.d.ts.map +1 -0
- package/dist/src/kubernetes/ConnectionPool.js +437 -0
- package/dist/src/kubernetes/ConnectionPool.js.map +1 -0
- package/dist/src/kubernetes/ErrorHandler.d.ts +172 -0
- package/dist/src/kubernetes/ErrorHandler.d.ts.map +1 -0
- package/dist/src/kubernetes/ErrorHandler.js +328 -0
- package/dist/src/kubernetes/ErrorHandler.js.map +1 -0
- package/dist/src/kubernetes/ErrorHandling.d.ts +148 -0
- package/dist/src/kubernetes/ErrorHandling.d.ts.map +1 -0
- package/dist/src/kubernetes/ErrorHandling.js +304 -0
- package/dist/src/kubernetes/ErrorHandling.js.map +1 -0
- package/dist/src/kubernetes/KubernetesClient.d.ts +162 -0
- package/dist/src/kubernetes/KubernetesClient.d.ts.map +1 -0
- package/dist/src/kubernetes/KubernetesClient.js +382 -0
- package/dist/src/kubernetes/KubernetesClient.js.map +1 -0
- package/dist/src/kubernetes/ResourceOperations.d.ts +69 -0
- package/dist/src/kubernetes/ResourceOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/ResourceOperations.js +99 -0
- package/dist/src/kubernetes/ResourceOperations.js.map +1 -0
- package/dist/src/kubernetes/RetryStrategy.d.ts +137 -0
- package/dist/src/kubernetes/RetryStrategy.d.ts.map +1 -0
- package/dist/src/kubernetes/RetryStrategy.js +277 -0
- package/dist/src/kubernetes/RetryStrategy.js.map +1 -0
- package/dist/src/kubernetes/RetryableOperation.d.ts +118 -0
- package/dist/src/kubernetes/RetryableOperation.d.ts.map +1 -0
- package/dist/src/kubernetes/RetryableOperation.js +233 -0
- package/dist/src/kubernetes/RetryableOperation.js.map +1 -0
- package/dist/src/kubernetes/index.d.ts +18 -0
- package/dist/src/kubernetes/index.d.ts.map +1 -0
- package/dist/src/kubernetes/index.js +28 -0
- package/dist/src/kubernetes/index.js.map +1 -0
- package/dist/src/kubernetes/resources/ConfigMapOperations.d.ts +60 -0
- package/dist/src/kubernetes/resources/ConfigMapOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/ConfigMapOperations.js +306 -0
- package/dist/src/kubernetes/resources/ConfigMapOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/CustomResourceOperations.d.ts +55 -0
- package/dist/src/kubernetes/resources/CustomResourceOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/CustomResourceOperations.js +363 -0
- package/dist/src/kubernetes/resources/CustomResourceOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/DeploymentOperations.d.ts +66 -0
- package/dist/src/kubernetes/resources/DeploymentOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/DeploymentOperations.js +234 -0
- package/dist/src/kubernetes/resources/DeploymentOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/IngressOperations.d.ts +60 -0
- package/dist/src/kubernetes/resources/IngressOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/IngressOperations.js +224 -0
- package/dist/src/kubernetes/resources/IngressOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/MetricOperations.d.ts +218 -0
- package/dist/src/kubernetes/resources/MetricOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/MetricOperations.js +893 -0
- package/dist/src/kubernetes/resources/MetricOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/NamespaceOperations.d.ts +38 -0
- package/dist/src/kubernetes/resources/NamespaceOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/NamespaceOperations.js +101 -0
- package/dist/src/kubernetes/resources/NamespaceOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.d.ts +109 -0
- package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.js +383 -0
- package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/PersistentVolumeOperations.d.ts +97 -0
- package/dist/src/kubernetes/resources/PersistentVolumeOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/PersistentVolumeOperations.js +321 -0
- package/dist/src/kubernetes/resources/PersistentVolumeOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/PodOperations.d.ts +99 -0
- package/dist/src/kubernetes/resources/PodOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/PodOperations.js +333 -0
- package/dist/src/kubernetes/resources/PodOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/SecretOperations.d.ts +71 -0
- package/dist/src/kubernetes/resources/SecretOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/SecretOperations.js +254 -0
- package/dist/src/kubernetes/resources/SecretOperations.js.map +1 -0
- package/dist/src/kubernetes/resources/ServiceOperations.d.ts +64 -0
- package/dist/src/kubernetes/resources/ServiceOperations.d.ts.map +1 -0
- package/dist/src/kubernetes/resources/ServiceOperations.js +232 -0
- package/dist/src/kubernetes/resources/ServiceOperations.js.map +1 -0
- package/dist/src/kubernetes/utils/ResourceUtils.d.ts +238 -0
- package/dist/src/kubernetes/utils/ResourceUtils.d.ts.map +1 -0
- package/dist/src/kubernetes/utils/ResourceUtils.js +439 -0
- package/dist/src/kubernetes/utils/ResourceUtils.js.map +1 -0
- package/dist/src/plugins/ArgoCDToolsPlugin.d.ts +45 -0
- package/dist/src/plugins/ArgoCDToolsPlugin.d.ts.map +1 -0
- package/dist/src/plugins/ArgoCDToolsPlugin.js +155 -0
- package/dist/src/plugins/ArgoCDToolsPlugin.js.map +1 -0
- package/dist/src/plugins/ArgoToolsPlugin.d.ts +45 -0
- package/dist/src/plugins/ArgoToolsPlugin.d.ts.map +1 -0
- package/dist/src/plugins/ArgoToolsPlugin.js +149 -0
- package/dist/src/plugins/ArgoToolsPlugin.js.map +1 -0
- package/dist/src/plugins/HelmToolsPlugin.d.ts +41 -0
- package/dist/src/plugins/HelmToolsPlugin.d.ts.map +1 -0
- package/dist/src/plugins/HelmToolsPlugin.js +146 -0
- package/dist/src/plugins/HelmToolsPlugin.js.map +1 -0
- package/dist/src/plugins/KubernetesToolsPlugin.d.ts +44 -0
- package/dist/src/plugins/KubernetesToolsPlugin.d.ts.map +1 -0
- package/dist/src/plugins/KubernetesToolsPlugin.js +159 -0
- package/dist/src/plugins/KubernetesToolsPlugin.js.map +1 -0
- package/dist/src/plugins/SamplePlugin.d.ts +12 -0
- package/dist/src/plugins/SamplePlugin.d.ts.map +1 -0
- package/dist/src/plugins/SamplePlugin.js +51 -0
- package/dist/src/plugins/SamplePlugin.js.map +1 -0
- package/dist/src/plugins/index.d.ts +5 -0
- package/dist/src/plugins/index.d.ts.map +1 -0
- package/dist/src/plugins/index.js +5 -0
- package/dist/src/plugins/index.js.map +1 -0
- package/dist/src/server/MCPServer.d.ts +93 -0
- package/dist/src/server/MCPServer.d.ts.map +1 -0
- package/dist/src/server/MCPServer.js +398 -0
- package/dist/src/server/MCPServer.js.map +1 -0
- package/dist/src/tools/argo/ArgoCronListTool.d.ts +10 -0
- package/dist/src/tools/argo/ArgoCronListTool.d.ts.map +1 -0
- package/dist/src/tools/argo/ArgoCronListTool.js +70 -0
- package/dist/src/tools/argo/ArgoCronListTool.js.map +1 -0
- package/dist/src/tools/argo/ArgoGetTool.d.ts +10 -0
- package/dist/src/tools/argo/ArgoGetTool.d.ts.map +1 -0
- package/dist/src/tools/argo/ArgoGetTool.js +80 -0
- package/dist/src/tools/argo/ArgoGetTool.js.map +1 -0
- package/dist/src/tools/argo/ArgoListTool.d.ts +10 -0
- package/dist/src/tools/argo/ArgoListTool.d.ts.map +1 -0
- package/dist/src/tools/argo/ArgoListTool.js +133 -0
- package/dist/src/tools/argo/ArgoListTool.js.map +1 -0
- package/dist/src/tools/argo/ArgoLogsTool.d.ts +10 -0
- package/dist/src/tools/argo/ArgoLogsTool.d.ts.map +1 -0
- package/dist/src/tools/argo/ArgoLogsTool.js +117 -0
- package/dist/src/tools/argo/ArgoLogsTool.js.map +1 -0
- package/dist/src/tools/argo/BaseTool.d.ts +60 -0
- package/dist/src/tools/argo/BaseTool.d.ts.map +1 -0
- package/dist/src/tools/argo/BaseTool.js +51 -0
- package/dist/src/tools/argo/BaseTool.js.map +1 -0
- package/dist/src/tools/argo/index.d.ts +7 -0
- package/dist/src/tools/argo/index.d.ts.map +1 -0
- package/dist/src/tools/argo/index.js +6 -0
- package/dist/src/tools/argo/index.js.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppGetTool.d.ts +10 -0
- package/dist/src/tools/argocd/ArgoCDAppGetTool.d.ts.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppGetTool.js +97 -0
- package/dist/src/tools/argocd/ArgoCDAppGetTool.js.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppHistoryTool.d.ts +10 -0
- package/dist/src/tools/argocd/ArgoCDAppHistoryTool.d.ts.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppHistoryTool.js +80 -0
- package/dist/src/tools/argocd/ArgoCDAppHistoryTool.js.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppListTool.d.ts +10 -0
- package/dist/src/tools/argocd/ArgoCDAppListTool.d.ts.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppListTool.js +128 -0
- package/dist/src/tools/argocd/ArgoCDAppListTool.js.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppLogsTool.d.ts +10 -0
- package/dist/src/tools/argocd/ArgoCDAppLogsTool.d.ts.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppLogsTool.js +143 -0
- package/dist/src/tools/argocd/ArgoCDAppLogsTool.js.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppResourcesTool.d.ts +10 -0
- package/dist/src/tools/argocd/ArgoCDAppResourcesTool.d.ts.map +1 -0
- package/dist/src/tools/argocd/ArgoCDAppResourcesTool.js +123 -0
- package/dist/src/tools/argocd/ArgoCDAppResourcesTool.js.map +1 -0
- package/dist/src/tools/argocd/BaseTool.d.ts +71 -0
- package/dist/src/tools/argocd/BaseTool.d.ts.map +1 -0
- package/dist/src/tools/argocd/BaseTool.js +62 -0
- package/dist/src/tools/argocd/BaseTool.js.map +1 -0
- package/dist/src/tools/argocd/index.d.ts +8 -0
- package/dist/src/tools/argocd/index.d.ts.map +1 -0
- package/dist/src/tools/argocd/index.js +7 -0
- package/dist/src/tools/argocd/index.js.map +1 -0
- package/dist/src/tools/helm/BaseTool.d.ts +51 -0
- package/dist/src/tools/helm/BaseTool.d.ts.map +1 -0
- package/dist/src/tools/helm/BaseTool.js +42 -0
- package/dist/src/tools/helm/BaseTool.js.map +1 -0
- package/dist/src/tools/helm/HelmGetHooksTool.d.ts +10 -0
- package/dist/src/tools/helm/HelmGetHooksTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmGetHooksTool.js +38 -0
- package/dist/src/tools/helm/HelmGetHooksTool.js.map +1 -0
- package/dist/src/tools/helm/HelmGetManifestTool.d.ts +10 -0
- package/dist/src/tools/helm/HelmGetManifestTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmGetManifestTool.js +38 -0
- package/dist/src/tools/helm/HelmGetManifestTool.js.map +1 -0
- package/dist/src/tools/helm/HelmGetNotesTool.d.ts +10 -0
- package/dist/src/tools/helm/HelmGetNotesTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmGetNotesTool.js +38 -0
- package/dist/src/tools/helm/HelmGetNotesTool.js.map +1 -0
- package/dist/src/tools/helm/HelmGetResourcesTool.d.ts +13 -0
- package/dist/src/tools/helm/HelmGetResourcesTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmGetResourcesTool.js +124 -0
- package/dist/src/tools/helm/HelmGetResourcesTool.js.map +1 -0
- package/dist/src/tools/helm/HelmGetValuesTool.d.ts +10 -0
- package/dist/src/tools/helm/HelmGetValuesTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmGetValuesTool.js +54 -0
- package/dist/src/tools/helm/HelmGetValuesTool.js.map +1 -0
- package/dist/src/tools/helm/HelmHistoryTool.d.ts +10 -0
- package/dist/src/tools/helm/HelmHistoryTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmHistoryTool.js +49 -0
- package/dist/src/tools/helm/HelmHistoryTool.js.map +1 -0
- package/dist/src/tools/helm/HelmListTool.d.ts +10 -0
- package/dist/src/tools/helm/HelmListTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmListTool.js +107 -0
- package/dist/src/tools/helm/HelmListTool.js.map +1 -0
- package/dist/src/tools/helm/HelmListWithResourcesTool.d.ts +14 -0
- package/dist/src/tools/helm/HelmListWithResourcesTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmListWithResourcesTool.js +175 -0
- package/dist/src/tools/helm/HelmListWithResourcesTool.js.map +1 -0
- package/dist/src/tools/helm/HelmStatusTool.d.ts +10 -0
- package/dist/src/tools/helm/HelmStatusTool.d.ts.map +1 -0
- package/dist/src/tools/helm/HelmStatusTool.js +54 -0
- package/dist/src/tools/helm/HelmStatusTool.js.map +1 -0
- package/dist/src/tools/helm/index.d.ts +12 -0
- package/dist/src/tools/helm/index.d.ts.map +1 -0
- package/dist/src/tools/helm/index.js +11 -0
- package/dist/src/tools/helm/index.js.map +1 -0
- package/dist/src/tools/kubernetes/BaseTool.d.ts +48 -0
- package/dist/src/tools/kubernetes/BaseTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/BaseTool.js +55 -0
- package/dist/src/tools/kubernetes/BaseTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetConfigMapTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetConfigMapTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetConfigMapTool.js +28 -0
- package/dist/src/tools/kubernetes/GetConfigMapTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetContainerLogsTool.d.ts +15 -0
- package/dist/src/tools/kubernetes/GetContainerLogsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetContainerLogsTool.js +119 -0
- package/dist/src/tools/kubernetes/GetContainerLogsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetDeploymentsTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetDeploymentsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetDeploymentsTool.js +30 -0
- package/dist/src/tools/kubernetes/GetDeploymentsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetEventsTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetEventsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetEventsTool.js +123 -0
- package/dist/src/tools/kubernetes/GetEventsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetIngressTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetIngressTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetIngressTool.js +35 -0
- package/dist/src/tools/kubernetes/GetIngressTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetMetricsTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetMetricsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetMetricsTool.js +40 -0
- package/dist/src/tools/kubernetes/GetMetricsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetNamespacesTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetNamespacesTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetNamespacesTool.js +33 -0
- package/dist/src/tools/kubernetes/GetNamespacesTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.js +92 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumesTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumesTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumesTool.js +88 -0
- package/dist/src/tools/kubernetes/GetPersistentVolumesTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetPodMetricsTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetPodMetricsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetPodMetricsTool.js +100 -0
- package/dist/src/tools/kubernetes/GetPodMetricsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetPodsTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetPodsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetPodsTool.js +35 -0
- package/dist/src/tools/kubernetes/GetPodsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetResourceTool.d.ts +12 -0
- package/dist/src/tools/kubernetes/GetResourceTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetResourceTool.js +79 -0
- package/dist/src/tools/kubernetes/GetResourceTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetSecretsTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetSecretsTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetSecretsTool.js +49 -0
- package/dist/src/tools/kubernetes/GetSecretsTool.js.map +1 -0
- package/dist/src/tools/kubernetes/GetServicesTool.d.ts +11 -0
- package/dist/src/tools/kubernetes/GetServicesTool.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/GetServicesTool.js +35 -0
- package/dist/src/tools/kubernetes/GetServicesTool.js.map +1 -0
- package/dist/src/tools/kubernetes/index.d.ts +17 -0
- package/dist/src/tools/kubernetes/index.d.ts.map +1 -0
- package/dist/src/tools/kubernetes/index.js +16 -0
- package/dist/src/tools/kubernetes/index.js.map +1 -0
- package/dist/src/utils/CliUtils.d.ts +24 -0
- package/dist/src/utils/CliUtils.d.ts.map +1 -0
- package/dist/src/utils/CliUtils.js +159 -0
- package/dist/src/utils/CliUtils.js.map +1 -0
- package/dist/tests/__mocks__/@kubernetes/client-node.d.ts +34 -0
- package/dist/tests/__mocks__/@kubernetes/client-node.d.ts.map +1 -0
- package/dist/tests/__mocks__/@kubernetes/client-node.js +20 -0
- package/dist/tests/__mocks__/@kubernetes/client-node.js.map +1 -0
- package/dist/tests/argo/ArgoGetTool.test.d.ts +2 -0
- package/dist/tests/argo/ArgoGetTool.test.d.ts.map +1 -0
- package/dist/tests/argo/ArgoGetTool.test.js +141 -0
- package/dist/tests/argo/ArgoGetTool.test.js.map +1 -0
- package/dist/tests/helm/BaseTool.test.d.ts +2 -0
- package/dist/tests/helm/BaseTool.test.d.ts.map +1 -0
- package/dist/tests/helm/BaseTool.test.js +241 -0
- package/dist/tests/helm/BaseTool.test.js.map +1 -0
- package/dist/tests/index.test.d.ts +2 -0
- package/dist/tests/index.test.d.ts.map +1 -0
- package/dist/tests/index.test.js +7 -0
- package/dist/tests/index.test.js.map +1 -0
- package/dist/tests/kubernetes/ConfigMapOperations.test.d.ts +2 -0
- package/dist/tests/kubernetes/ConfigMapOperations.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/ConfigMapOperations.test.js +460 -0
- package/dist/tests/kubernetes/ConfigMapOperations.test.js.map +1 -0
- package/dist/tests/kubernetes/ConnectionManager.test.d.ts +2 -0
- package/dist/tests/kubernetes/ConnectionManager.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/ConnectionManager.test.js +97 -0
- package/dist/tests/kubernetes/ConnectionManager.test.js.map +1 -0
- package/dist/tests/kubernetes/ConnectionPool.test.d.ts +2 -0
- package/dist/tests/kubernetes/ConnectionPool.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/ConnectionPool.test.js +328 -0
- package/dist/tests/kubernetes/ConnectionPool.test.js.map +1 -0
- package/dist/tests/kubernetes/DeploymentOperations.test.d.ts +2 -0
- package/dist/tests/kubernetes/DeploymentOperations.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/DeploymentOperations.test.js +196 -0
- package/dist/tests/kubernetes/DeploymentOperations.test.js.map +1 -0
- package/dist/tests/kubernetes/ErrorHandling.test.d.ts +2 -0
- package/dist/tests/kubernetes/ErrorHandling.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/ErrorHandling.test.js +329 -0
- package/dist/tests/kubernetes/ErrorHandling.test.js.map +1 -0
- package/dist/tests/kubernetes/GetPodMetricsTool.test.d.ts +2 -0
- package/dist/tests/kubernetes/GetPodMetricsTool.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/GetPodMetricsTool.test.js +150 -0
- package/dist/tests/kubernetes/GetPodMetricsTool.test.js.map +1 -0
- package/dist/tests/kubernetes/KubernetesClient.test.d.ts +2 -0
- package/dist/tests/kubernetes/KubernetesClient.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/KubernetesClient.test.js +371 -0
- package/dist/tests/kubernetes/KubernetesClient.test.js.map +1 -0
- package/dist/tests/kubernetes/MetricOperations.parsing.test.d.ts +2 -0
- package/dist/tests/kubernetes/MetricOperations.parsing.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/MetricOperations.parsing.test.js +49 -0
- package/dist/tests/kubernetes/MetricOperations.parsing.test.js.map +1 -0
- package/dist/tests/kubernetes/NamespaceOperations.test.d.ts +2 -0
- package/dist/tests/kubernetes/NamespaceOperations.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/NamespaceOperations.test.js +115 -0
- package/dist/tests/kubernetes/NamespaceOperations.test.js.map +1 -0
- package/dist/tests/kubernetes/PodOperations.test.d.ts +2 -0
- package/dist/tests/kubernetes/PodOperations.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/PodOperations.test.js +209 -0
- package/dist/tests/kubernetes/PodOperations.test.js.map +1 -0
- package/dist/tests/kubernetes/RetryStrategy.test.d.ts +2 -0
- package/dist/tests/kubernetes/RetryStrategy.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/RetryStrategy.test.js +419 -0
- package/dist/tests/kubernetes/RetryStrategy.test.js.map +1 -0
- package/dist/tests/kubernetes/ServiceOperations.test.d.ts +2 -0
- package/dist/tests/kubernetes/ServiceOperations.test.d.ts.map +1 -0
- package/dist/tests/kubernetes/ServiceOperations.test.js +159 -0
- package/dist/tests/kubernetes/ServiceOperations.test.js.map +1 -0
- package/dist/tests/plugins/KubernetesToolsPlugin.test.d.ts +2 -0
- package/dist/tests/plugins/KubernetesToolsPlugin.test.d.ts.map +1 -0
- package/dist/tests/plugins/KubernetesToolsPlugin.test.js +153 -0
- package/dist/tests/plugins/KubernetesToolsPlugin.test.js.map +1 -0
- package/dist/tests/server/MCPServer.integration.test.d.ts +2 -0
- package/dist/tests/server/MCPServer.integration.test.d.ts.map +1 -0
- package/dist/tests/server/MCPServer.integration.test.js +244 -0
- package/dist/tests/server/MCPServer.integration.test.js.map +1 -0
- package/dist/tests/server/MCPServer.test.d.ts +2 -0
- package/dist/tests/server/MCPServer.test.d.ts.map +1 -0
- package/dist/tests/server/MCPServer.test.js +257 -0
- package/dist/tests/server/MCPServer.test.js.map +1 -0
- package/package.json +85 -0
- package/src/cli/cli.ts +25 -0
- package/src/cli/run-command.js +391 -0
- package/src/index.ts +46 -0
- package/src/kubernetes/BaseResourceOperations.ts +286 -0
- package/src/kubernetes/CircuitBreaker.ts +485 -0
- package/src/kubernetes/ConnectionManager.ts +114 -0
- package/src/kubernetes/ConnectionPool.ts +551 -0
- package/src/kubernetes/ErrorHandler.ts +436 -0
- package/src/kubernetes/ErrorHandling.ts +401 -0
- package/src/kubernetes/KubernetesClient.ts +500 -0
- package/src/kubernetes/README.md +349 -0
- package/src/kubernetes/ResourceOperations.ts +116 -0
- package/src/kubernetes/RetryStrategy.ts +365 -0
- package/src/kubernetes/RetryableOperation.ts +313 -0
- package/src/kubernetes/docs/ResourceOperations.md +606 -0
- package/src/kubernetes/index.ts +116 -0
- package/src/kubernetes/resources/ConfigMapOperations.ts +367 -0
- package/src/kubernetes/resources/CustomResourceOperations.ts +392 -0
- package/src/kubernetes/resources/DeploymentOperations.ts +294 -0
- package/src/kubernetes/resources/IngressOperations.ts +277 -0
- package/src/kubernetes/resources/MetricOperations.ts +1159 -0
- package/src/kubernetes/resources/NamespaceOperations.ts +129 -0
- package/src/kubernetes/resources/PersistentVolumeClaimOperations.ts +516 -0
- package/src/kubernetes/resources/PersistentVolumeOperations.ts +438 -0
- package/src/kubernetes/resources/PodOperations.ts +417 -0
- package/src/kubernetes/resources/SecretOperations.ts +304 -0
- package/src/kubernetes/resources/ServiceOperations.ts +283 -0
- package/src/kubernetes/utils/ResourceUtils.ts +553 -0
- package/src/plugins/ArgoCDToolsPlugin.ts +189 -0
- package/src/plugins/ArgoToolsPlugin.ts +180 -0
- package/src/plugins/HelmToolsPlugin.ts +180 -0
- package/src/plugins/KubernetesToolsPlugin.ts +198 -0
- package/src/plugins/SamplePlugin.ts +60 -0
- package/src/plugins/index.ts +4 -0
- package/src/server/MCPServer.ts +500 -0
- package/src/tools/argo/ArgoCronListTool.ts +78 -0
- package/src/tools/argo/ArgoGetTool.ts +91 -0
- package/src/tools/argo/ArgoListTool.ts +143 -0
- package/src/tools/argo/ArgoLogsTool.ts +131 -0
- package/src/tools/argo/BaseTool.ts +69 -0
- package/src/tools/argo/index.ts +6 -0
- package/src/tools/argocd/ArgoCDAppGetTool.ts +109 -0
- package/src/tools/argocd/ArgoCDAppHistoryTool.ts +91 -0
- package/src/tools/argocd/ArgoCDAppListTool.ts +144 -0
- package/src/tools/argocd/ArgoCDAppLogsTool.ts +162 -0
- package/src/tools/argocd/ArgoCDAppResourcesTool.ts +139 -0
- package/src/tools/argocd/BaseTool.ts +83 -0
- package/src/tools/argocd/index.ts +7 -0
- package/src/tools/helm/BaseTool.ts +60 -0
- package/src/tools/helm/HelmGetHooksTool.ts +44 -0
- package/src/tools/helm/HelmGetManifestTool.ts +44 -0
- package/src/tools/helm/HelmGetNotesTool.ts +44 -0
- package/src/tools/helm/HelmGetResourcesTool.ts +140 -0
- package/src/tools/helm/HelmGetValuesTool.ts +62 -0
- package/src/tools/helm/HelmHistoryTool.ts +56 -0
- package/src/tools/helm/HelmListTool.ts +107 -0
- package/src/tools/helm/HelmListWithResourcesTool.ts +194 -0
- package/src/tools/helm/HelmStatusTool.ts +62 -0
- package/src/tools/helm/index.ts +11 -0
- package/src/tools/kubernetes/BaseTool.ts +76 -0
- package/src/tools/kubernetes/GetConfigMapTool.ts +33 -0
- package/src/tools/kubernetes/GetContainerLogsTool.ts +140 -0
- package/src/tools/kubernetes/GetDeploymentsTool.ts +33 -0
- package/src/tools/kubernetes/GetEventsTool.ts +133 -0
- package/src/tools/kubernetes/GetIngressTool.ts +39 -0
- package/src/tools/kubernetes/GetMetricsTool.ts +53 -0
- package/src/tools/kubernetes/GetNamespacesTool.ts +36 -0
- package/src/tools/kubernetes/GetPersistentVolumeClaimsTool.ts +113 -0
- package/src/tools/kubernetes/GetPersistentVolumesTool.ts +107 -0
- package/src/tools/kubernetes/GetPodMetricsTool.ts +113 -0
- package/src/tools/kubernetes/GetPodsTool.ts +39 -0
- package/src/tools/kubernetes/GetResourceTool.ts +90 -0
- package/src/tools/kubernetes/GetSecretsTool.ts +55 -0
- package/src/tools/kubernetes/GetServicesTool.ts +39 -0
- package/src/tools/kubernetes/index.ts +16 -0
- package/src/utils/CliUtils.ts +207 -0
- package/tsconfig.json +36 -0
package/.prettierrc.json
ADDED
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.0.0] - 2024-12-19
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Initial stable release** 🎉
|
|
12
|
+
- Complete **Kubernetes MCP Server** with read-only cluster introspection
|
|
13
|
+
- **Comprehensive tool coverage**:
|
|
14
|
+
- Resource management (Pods, Services, Deployments, Ingresses, ConfigMaps, Secrets, Namespaces)
|
|
15
|
+
- Storage & persistence (PVs, PVCs with analysis)
|
|
16
|
+
- Monitoring & observability (Metrics, Events, Logs)
|
|
17
|
+
- Generic resource inspector
|
|
18
|
+
- **Helm integration** with full lifecycle support:
|
|
19
|
+
- Release listing, status, history
|
|
20
|
+
- Values, manifests, notes, hooks inspection
|
|
21
|
+
- Kubernetes resource mapping
|
|
22
|
+
- **Argo Workflows integration**:
|
|
23
|
+
- Workflow listing and inspection
|
|
24
|
+
- Log streaming
|
|
25
|
+
- Cron workflow support
|
|
26
|
+
- **ArgoCD integration**:
|
|
27
|
+
- Application management
|
|
28
|
+
- History and resource tracking
|
|
29
|
+
- Log access
|
|
30
|
+
- **Production-ready features**:
|
|
31
|
+
- Robust error handling with circuit breakers
|
|
32
|
+
- Connection pooling and retry strategies
|
|
33
|
+
- Comprehensive test suite (261 tests)
|
|
34
|
+
- TypeScript strict mode
|
|
35
|
+
- ESLint + Prettier formatting
|
|
36
|
+
- Husky git hooks with lint-staged
|
|
37
|
+
- **Release automation**:
|
|
38
|
+
- Added `npm run release` script for streamlined releases
|
|
39
|
+
- Pre-release validation (git status, quality checks)
|
|
40
|
+
- Automatic version tagging
|
|
41
|
+
|
|
42
|
+
### Technical Details
|
|
43
|
+
- **Node.js ≥ 18** requirement
|
|
44
|
+
- **ESNext modules** with TypeScript 5.8+
|
|
45
|
+
- **Model Context Protocol SDK v1.17+**
|
|
46
|
+
- **Kubernetes JavaScript client v1.3+**
|
|
47
|
+
- Full **CI/CD pipeline** with automated quality gates
|
|
48
|
+
|
|
49
|
+
### Documentation
|
|
50
|
+
- Comprehensive README with usage examples
|
|
51
|
+
- CLI reference for all 30+ tools
|
|
52
|
+
- Integration guides for Cursor IDE
|
|
53
|
+
- API documentation for developers
|
|
54
|
+
|
|
55
|
+
[1.0.0]: https://github.com/mikhae1/kubeview-mcp/releases/tag/v1.0.0
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 kubeview-mcp team
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
# KubeView MCP – Kubernetes Model Context Protocol Server
|
|
2
|
+
|
|
3
|
+
[](https://opensource.org/licenses/MIT)
|
|
4
|
+
[](https://nodejs.org/)
|
|
5
|
+
[](https://www.typescriptlang.org/)
|
|
6
|
+
|
|
7
|
+
**KubeView MCP** is a **read-only Model Context Protocol (MCP) server** that exposes rich, AI-ready operations for Kubernetes clusters. Paired with tools like **Cursor IDE** or Chat-based assistants, it lets you inspect, analyse and debug your cluster through natural-language commands while guaranteeing zero write access.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Table of Contents
|
|
12
|
+
|
|
13
|
+
- [KubeView MCP – Kubernetes Model Context Protocol Server](#kubeview-mcp--kubernetes-model-context-protocol-server)
|
|
14
|
+
- [Table of Contents](#table-of-contents)
|
|
15
|
+
- [✨ Features](#-features)
|
|
16
|
+
- [🚀 Quick Start](#-quick-start)
|
|
17
|
+
- [Prerequisites](#prerequisites)
|
|
18
|
+
- [Installation](#installation)
|
|
19
|
+
- [Build & Run](#build--run)
|
|
20
|
+
- [📟 CLI Reference](#-cli-reference)
|
|
21
|
+
- [Resource Management](#resource-management)
|
|
22
|
+
- [Storage & Persistence](#storage--persistence)
|
|
23
|
+
- [Monitoring & Observability](#monitoring--observability)
|
|
24
|
+
- [Generic Resource Tool](#generic-resource-tool)
|
|
25
|
+
- [🪄 Helm Integration](#-helm-integration)
|
|
26
|
+
- [Core Operations](#core-operations)
|
|
27
|
+
- [Configuration & Values](#configuration--values)
|
|
28
|
+
- [Helm ↔ Kubernetes Bridge](#helm--kubernetes-bridge)
|
|
29
|
+
- [Example – list all Helm releases](#example--list-all-helm-releases)
|
|
30
|
+
- [Argo Integration](#argo-integration)
|
|
31
|
+
- [ArgoCD Integration](#argocd-integration)
|
|
32
|
+
- [💡 Usage Examples](#-usage-examples)
|
|
33
|
+
- [🤝 Contributing](#-contributing)
|
|
34
|
+
- [📄 License](#-license)
|
|
35
|
+
- [🙏 Acknowledgments](#-acknowledgments)
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## ✨ Features
|
|
40
|
+
|
|
41
|
+
- **Kubernetes Resources** – Read-only access to Pods, Services, Deployments, Namespaces, ConfigMaps, Secrets, PVCs and more.
|
|
42
|
+
- **Helm Support** – Deep inspection of Helm releases including manifests, values, hooks and history.
|
|
43
|
+
- **Argo & ArgoCD Integration** – Seamlessly interact with Argo Workflows and ArgoCD applications.
|
|
44
|
+
- **Advanced Storage Analysis** – Diagnose PV/PVC issues with smart binding & reclaim-policy checks.
|
|
45
|
+
- **Robust Monitoring** – CPU / memory metrics out-of-the-box, optionally enriched with Prometheus data.
|
|
46
|
+
- **Log Streaming** – Tail or grep container logs directly from your AI assistant.
|
|
47
|
+
- **Cluster Events** – Filter and analyse live Kubernetes events.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 🚀 Quick Start
|
|
52
|
+
|
|
53
|
+
### Zero-install via npx
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npx https://github.com/mikhae1/kubeview-mcp
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
_For Cursor IDE or any other MCP-compatible client, add the following entry to your_ `mcp.json` _file (usually located in `~/.cursor/mcp.json`):_
|
|
60
|
+
|
|
61
|
+
```json
|
|
62
|
+
{
|
|
63
|
+
"mcpServers": {
|
|
64
|
+
"kubeview-mcp": {
|
|
65
|
+
"command": "npx",
|
|
66
|
+
"args": ["https://github.com/mikhae1/kubeview-mcp"],
|
|
67
|
+
"env": {
|
|
68
|
+
"KUBECONFIG": "$HOME/.kube/config"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Prerequisites
|
|
76
|
+
|
|
77
|
+
- **Node.js ≥ 18**
|
|
78
|
+
- **npm** (or **yarn/pnpm**) for dependency management
|
|
79
|
+
- Access to a **Kubernetes cluster** with a valid *kubeconfig*
|
|
80
|
+
- **Cursor IDE** (or another MCP-compatible client) for interactive use
|
|
81
|
+
|
|
82
|
+
### Installation
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Clone the repository
|
|
86
|
+
$ git clone https://github.com/mikhae1/kubeview-mcp.git
|
|
87
|
+
$ cd kubeview-mcp
|
|
88
|
+
|
|
89
|
+
# Install dependencies
|
|
90
|
+
$ npm install
|
|
91
|
+
|
|
92
|
+
# Generate local configuration for Cursor IDE & Claude
|
|
93
|
+
$ npm run setup
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Build & Run
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Compile TypeScript → JavaScript
|
|
100
|
+
$ npm run build
|
|
101
|
+
|
|
102
|
+
# Start the MCP server
|
|
103
|
+
$ npm start
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
The server will automatically locate your *kubeconfig* and use the current k8s context for all operations.
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 📟 CLI Reference
|
|
111
|
+
|
|
112
|
+
All commands are invoked through the project-local helper:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
npm run command -- <tool_name> [tool options]
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Resource Management
|
|
119
|
+
|
|
120
|
+
| Tool | Description |
|
|
121
|
+
| ---------------- | --------------------------------------------------------- |
|
|
122
|
+
| `get_pods` | List / filter pods with detailed phase & container state |
|
|
123
|
+
| `get_services` | Discover services and their exposed endpoints |
|
|
124
|
+
| `get_deployments`| Inspect deployment rollout status & spec |
|
|
125
|
+
| `get_ingresses` | View ingresses and their routing rules |
|
|
126
|
+
| `get_configmaps` | View ConfigMaps (with sensitive data automatically redacted) |
|
|
127
|
+
| `get_secrets` | Read-only secret inspector with built-in sanitisation |
|
|
128
|
+
| `get_namespaces` | Enumerate namespaces in the cluster |
|
|
129
|
+
|
|
130
|
+
### Storage & Persistence
|
|
131
|
+
|
|
132
|
+
| Tool | Description |
|
|
133
|
+
| ------------------------------ | ------------------------------------------------------------ |
|
|
134
|
+
| `get_persistent_volumes` | Analyse PVs and detect reclaim / capacity issues |
|
|
135
|
+
| `get_persistent_volume_claims` | Inspect PVC binding, access modes & storage-class details |
|
|
136
|
+
|
|
137
|
+
### Monitoring & Observability
|
|
138
|
+
|
|
139
|
+
| Tool | Description |
|
|
140
|
+
| --------------- | ------------------------------------------------------------- |
|
|
141
|
+
| `get_metrics` | Cluster-wide CPU & memory metrics (Prometheus optional) |
|
|
142
|
+
| `get_pod_metrics` | Fine-grained metrics for individual pods |
|
|
143
|
+
| `get_events` | Stream or filter recent cluster events |
|
|
144
|
+
| `pod_logs` | Tail container logs with regex / since-time filters |
|
|
145
|
+
|
|
146
|
+
### Generic Resource Tool
|
|
147
|
+
|
|
148
|
+
| Tool | Description |
|
|
149
|
+
| -------------- | ----------------------------------------- |
|
|
150
|
+
| `get_resource` | Inspect any Kubernetes resource by GVR |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## 🪄 Helm Integration
|
|
155
|
+
|
|
156
|
+
KubeView MCP ships with a dedicated **HelmToolsPlugin** bringing first-class Helm introspection.
|
|
157
|
+
|
|
158
|
+
### Core Operations
|
|
159
|
+
|
|
160
|
+
| Tool | Description |
|
|
161
|
+
| ------------ | ---------------------------------------------------------- |
|
|
162
|
+
| `helm_list` | List releases across all namespaces with status & revision |
|
|
163
|
+
| `helm_status`| Full release status (history, manifest, values) |
|
|
164
|
+
| `helm_history`| Complete upgrade / rollback history |
|
|
165
|
+
|
|
166
|
+
### Configuration & Values
|
|
167
|
+
|
|
168
|
+
| Tool | Description |
|
|
169
|
+
| ------------------ | --------------------------------------------- |
|
|
170
|
+
| `helm_get_values` | Rendered values.yaml for a release |
|
|
171
|
+
| `helm_get_manifest`| Complete aggregated Kubernetes manifest |
|
|
172
|
+
| `helm_get_notes` | Chart installation notes & post-deploy hints |
|
|
173
|
+
| `helm_get_hooks` | Pre / post hooks configured by the chart |
|
|
174
|
+
|
|
175
|
+
### Helm ↔ Kubernetes Bridge
|
|
176
|
+
|
|
177
|
+
| Tool | Description |
|
|
178
|
+
| -------------------------- | ------------------------------------------------------------------- |
|
|
179
|
+
| `helm_get_resources` | Discover / categorise all resources created by a release |
|
|
180
|
+
| `helm_list_with_resources` | Enhanced `helm_list` that bundles the above analysis for each release |
|
|
181
|
+
|
|
182
|
+
#### Example – list all Helm releases
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
npm run command -- helm_list
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
## Argo Integration
|
|
190
|
+
|
|
191
|
+
The **ArgoToolsPlugin** provides tools for interacting with Argo Workflows.
|
|
192
|
+
|
|
193
|
+
| Tool | Description |
|
|
194
|
+
| --- | --- |
|
|
195
|
+
| `argo_get` | Get details about a workflow
|
|
196
|
+
| `argo_list` | List all Argo Workflows |
|
|
197
|
+
| `argo_logs` | Get logs from an Argo Workflow |
|
|
198
|
+
| `argo_cron_list` | List all Argo Cron Workflows |
|
|
199
|
+
|
|
200
|
+
## ArgoCD Integration
|
|
201
|
+
|
|
202
|
+
The **ArgoCDToolsPlugin** provides tools for interacting with ArgoCD.
|
|
203
|
+
|
|
204
|
+
| Tool | Description |
|
|
205
|
+
| --- | --- |
|
|
206
|
+
| `argocd_app_list` | List all ArgoCD applications |
|
|
207
|
+
| `argocd_app_get` | Get a specific ArgoCD application |
|
|
208
|
+
| `argocd_app_history` | Get the history of an ArgoCD application |
|
|
209
|
+
| `argocd_app_logs` | Get the logs of an ArgoCD application |
|
|
210
|
+
| `argocd_app_resources` | Get the resources of an ArgoCD application |
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## 💡 Usage Examples
|
|
215
|
+
|
|
216
|
+
Ask your assistant:
|
|
217
|
+
|
|
218
|
+
> *“Show me the details of the **nginx** deployment in the **web** namespace.”*
|
|
219
|
+
|
|
220
|
+
KubeView MCP will execute `get_resource` under the hood and return a structured JSON response that your assistant converts into a readable answer.
|
|
221
|
+
|
|
222
|
+
> *“List all pods in the **default** namespace and show their CPU and memory usage.”*
|
|
223
|
+
|
|
224
|
+
This will trigger the `get_pods` and `get_pod_metrics` tools, combining their output to provide a comprehensive view of your pods' resource consumption.
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## 🤝 Contributing
|
|
229
|
+
|
|
230
|
+
1. Fork the repo
|
|
231
|
+
2. Create a feature branch: `git checkout -b feat/my-awesome-feature`
|
|
232
|
+
3. Commit your changes: `git commit -m "feat: add my awesome feature"`
|
|
233
|
+
4. Push to GitHub: `git push origin feat/my-awesome-feature`
|
|
234
|
+
5. Open a Pull Request – thank you!
|
|
235
|
+
|
|
236
|
+
> 💡 Run `npm run lint` and `npm run test` before opening a PR.
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## 📄 License
|
|
241
|
+
|
|
242
|
+
This project is released under the MIT License – see [LICENSE](LICENSE).
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## 🙏 Acknowledgments
|
|
247
|
+
|
|
248
|
+
- [Model Context Protocol SDK](https://github.com/modelcontextprotocol/sdk)
|
|
249
|
+
- [Kubernetes JavaScript Client](https://github.com/kubernetes-client/javascript)
|
|
250
|
+
- [Winston](https://github.com/winstonjs/winston)
|
|
251
|
+
- [TypeScript](https://www.typescriptlang.org/)
|
package/RELEASE.md
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# Release Process
|
|
2
|
+
|
|
3
|
+
This document describes how to create releases for KubeView MCP.
|
|
4
|
+
|
|
5
|
+
## Quick Release
|
|
6
|
+
|
|
7
|
+
For a complete release with all quality checks and tagging:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm run release
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
This single command will:
|
|
14
|
+
1. ✅ **Check git status** - Ensure working directory is clean
|
|
15
|
+
2. ✅ **Run quality assurance** - Lint, typecheck, and test the codebase
|
|
16
|
+
3. ✅ **Build the project** - Compile TypeScript to JavaScript
|
|
17
|
+
4. ✅ **Create git tag** - Tag the current version for release
|
|
18
|
+
|
|
19
|
+
## Step-by-Step Release
|
|
20
|
+
|
|
21
|
+
If you need more control, you can run individual release steps:
|
|
22
|
+
|
|
23
|
+
### 1. Pre-release Validation
|
|
24
|
+
```bash
|
|
25
|
+
npm run release:check
|
|
26
|
+
```
|
|
27
|
+
Ensures your git working directory is clean (no uncommitted changes).
|
|
28
|
+
|
|
29
|
+
### 2. Quality Assurance
|
|
30
|
+
```bash
|
|
31
|
+
npm run release:qa
|
|
32
|
+
```
|
|
33
|
+
Runs the complete QA pipeline:
|
|
34
|
+
- `npm run lint` - ESLint validation
|
|
35
|
+
- `npm run typecheck` - TypeScript compilation check
|
|
36
|
+
- `npm run test` - Full test suite (261 tests)
|
|
37
|
+
|
|
38
|
+
### 3. Build
|
|
39
|
+
```bash
|
|
40
|
+
npm run release:build
|
|
41
|
+
```
|
|
42
|
+
Compiles the project with `tsc` to the `dist/` directory.
|
|
43
|
+
|
|
44
|
+
### 4. Create Git Tag
|
|
45
|
+
```bash
|
|
46
|
+
npm run release:tag
|
|
47
|
+
```
|
|
48
|
+
Creates a git tag with the current version from `package.json` (e.g., `v1.0.0`).
|
|
49
|
+
|
|
50
|
+
## Version Management
|
|
51
|
+
|
|
52
|
+
### Updating Version
|
|
53
|
+
Before releasing, update the version in `package.json`:
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"version": "1.0.1"
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Version Conventions
|
|
62
|
+
We follow [Semantic Versioning](https://semver.org/):
|
|
63
|
+
- **Major** (1.0.0 → 2.0.0): Breaking changes
|
|
64
|
+
- **Minor** (1.0.0 → 1.1.0): New features, backwards compatible
|
|
65
|
+
- **Patch** (1.0.0 → 1.0.1): Bug fixes, backwards compatible
|
|
66
|
+
|
|
67
|
+
## Publishing to npm
|
|
68
|
+
|
|
69
|
+
The release scripts prepare the project but do not automatically publish to npm.
|
|
70
|
+
|
|
71
|
+
To publish manually after a successful release:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Login to npm (if not already logged in)
|
|
75
|
+
npm login
|
|
76
|
+
|
|
77
|
+
# Publish the package
|
|
78
|
+
npm publish
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Release Checklist
|
|
82
|
+
|
|
83
|
+
Before running `npm run release`:
|
|
84
|
+
|
|
85
|
+
- [ ] Update version in `package.json`
|
|
86
|
+
- [ ] Update `CHANGELOG.md` with new features/fixes
|
|
87
|
+
- [ ] Ensure all changes are committed to git
|
|
88
|
+
- [ ] Verify tests pass: `npm test`
|
|
89
|
+
- [ ] Check the build works: `npm run build`
|
|
90
|
+
|
|
91
|
+
## Troubleshooting
|
|
92
|
+
|
|
93
|
+
### "Working directory not clean" Error
|
|
94
|
+
If `release:check` fails:
|
|
95
|
+
```bash
|
|
96
|
+
# Check what files have changes
|
|
97
|
+
git status
|
|
98
|
+
|
|
99
|
+
# Either commit the changes
|
|
100
|
+
git add .
|
|
101
|
+
git commit -m "Prepare for release"
|
|
102
|
+
|
|
103
|
+
# Or stash them
|
|
104
|
+
git stash
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Test Failures
|
|
108
|
+
If `release:qa` fails during testing:
|
|
109
|
+
```bash
|
|
110
|
+
# Run tests individually to debug
|
|
111
|
+
npm run test -- --verbose
|
|
112
|
+
|
|
113
|
+
# Fix any failing tests, then retry
|
|
114
|
+
npm run release:qa
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Build Errors
|
|
118
|
+
If `release:build` fails:
|
|
119
|
+
```bash
|
|
120
|
+
# Check TypeScript errors
|
|
121
|
+
npm run typecheck
|
|
122
|
+
|
|
123
|
+
# Fix any compilation issues, then retry
|
|
124
|
+
npm run release:build
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Advanced Usage
|
|
128
|
+
|
|
129
|
+
### Dry Run
|
|
130
|
+
To see what the release would do without making changes:
|
|
131
|
+
```bash
|
|
132
|
+
# Check git status (safe to run)
|
|
133
|
+
npm run release:check
|
|
134
|
+
|
|
135
|
+
# Run QA checks (safe to run)
|
|
136
|
+
npm run release:qa
|
|
137
|
+
|
|
138
|
+
# Build project (creates dist/ but no tags)
|
|
139
|
+
npm run release:build
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Manual Tag Creation
|
|
143
|
+
If you need to create a tag manually:
|
|
144
|
+
```bash
|
|
145
|
+
# Create tag for current version
|
|
146
|
+
git tag v$(node -p "require('./package.json').version")
|
|
147
|
+
|
|
148
|
+
# Push tag to remote
|
|
149
|
+
git push origin v$(node -p "require('./package.json').version")
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Release History
|
|
153
|
+
|
|
154
|
+
See [CHANGELOG.md](CHANGELOG.md) for detailed release history.
|
package/TODO.md
ADDED
|
File without changes
|