mcp-server-kubernetes 1.6.2 → 2.1.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 (98) hide show
  1. package/README.md +46 -22
  2. package/dist/config/container-templates.d.ts +2 -2
  3. package/dist/index.d.ts +314 -736
  4. package/dist/index.js +93 -200
  5. package/dist/models/resource-models.d.ts +6 -6
  6. package/dist/tools/kubectl-apply.d.ts +46 -0
  7. package/dist/tools/kubectl-apply.js +110 -0
  8. package/dist/tools/kubectl-context.d.ts +49 -0
  9. package/dist/tools/kubectl-context.js +233 -0
  10. package/dist/tools/kubectl-create.d.ts +150 -0
  11. package/dist/tools/kubectl-create.js +321 -0
  12. package/dist/tools/kubectl-delete.d.ts +77 -0
  13. package/dist/tools/kubectl-delete.js +177 -0
  14. package/dist/tools/kubectl-describe.d.ts +47 -0
  15. package/dist/tools/kubectl-describe.js +96 -0
  16. package/dist/tools/kubectl-generic.d.ts +71 -0
  17. package/dist/tools/kubectl-generic.js +121 -0
  18. package/dist/tools/kubectl-get.d.ts +72 -0
  19. package/dist/tools/kubectl-get.js +251 -0
  20. package/dist/tools/kubectl-list.d.ts +61 -0
  21. package/dist/tools/kubectl-list.js +189 -0
  22. package/dist/tools/{get_logs.d.ts → kubectl-logs.d.ts} +35 -19
  23. package/dist/tools/kubectl-logs.js +312 -0
  24. package/dist/tools/kubectl-patch.d.ts +57 -0
  25. package/dist/tools/kubectl-patch.js +128 -0
  26. package/dist/tools/kubectl-rollout.d.ts +67 -0
  27. package/dist/tools/kubectl-rollout.js +115 -0
  28. package/dist/tools/{scale_deployment.d.ts → kubectl-scale.d.ts} +13 -3
  29. package/dist/tools/kubectl-scale.js +73 -0
  30. package/dist/utils/kubernetes-manager.d.ts +4 -0
  31. package/dist/utils/kubernetes-manager.js +21 -3
  32. package/package.json +1 -1
  33. package/dist/tools/create_configmap.d.ts +0 -33
  34. package/dist/tools/create_configmap.js +0 -66
  35. package/dist/tools/create_cronjob.d.ts +0 -47
  36. package/dist/tools/create_cronjob.js +0 -93
  37. package/dist/tools/create_deployment.d.ts +0 -135
  38. package/dist/tools/create_deployment.js +0 -162
  39. package/dist/tools/create_namespace.d.ts +0 -22
  40. package/dist/tools/create_namespace.js +0 -48
  41. package/dist/tools/create_pod.d.ts +0 -130
  42. package/dist/tools/create_pod.js +0 -153
  43. package/dist/tools/create_service.d.ts +0 -74
  44. package/dist/tools/create_service.js +0 -102
  45. package/dist/tools/delete_configmap.d.ts +0 -26
  46. package/dist/tools/delete_configmap.js +0 -49
  47. package/dist/tools/delete_cronjob.d.ts +0 -26
  48. package/dist/tools/delete_cronjob.js +0 -48
  49. package/dist/tools/delete_deployment.d.ts +0 -31
  50. package/dist/tools/delete_deployment.js +0 -47
  51. package/dist/tools/delete_namespace.d.ts +0 -27
  52. package/dist/tools/delete_namespace.js +0 -44
  53. package/dist/tools/delete_pod.d.ts +0 -31
  54. package/dist/tools/delete_pod.js +0 -45
  55. package/dist/tools/delete_service.d.ts +0 -32
  56. package/dist/tools/delete_service.js +0 -46
  57. package/dist/tools/describe_cronjob.d.ts +0 -27
  58. package/dist/tools/describe_cronjob.js +0 -83
  59. package/dist/tools/describe_deployment.d.ts +0 -26
  60. package/dist/tools/describe_deployment.js +0 -40
  61. package/dist/tools/describe_node.d.ts +0 -22
  62. package/dist/tools/describe_node.js +0 -84
  63. package/dist/tools/describe_pod.d.ts +0 -33
  64. package/dist/tools/describe_pod.js +0 -81
  65. package/dist/tools/describe_service.d.ts +0 -34
  66. package/dist/tools/describe_service.js +0 -85
  67. package/dist/tools/get_configmap.d.ts +0 -27
  68. package/dist/tools/get_configmap.js +0 -48
  69. package/dist/tools/get_current_context.d.ts +0 -23
  70. package/dist/tools/get_current_context.js +0 -55
  71. package/dist/tools/get_events.d.ts +0 -28
  72. package/dist/tools/get_events.js +0 -66
  73. package/dist/tools/get_job_logs.d.ts +0 -40
  74. package/dist/tools/get_job_logs.js +0 -104
  75. package/dist/tools/get_logs.js +0 -150
  76. package/dist/tools/list_contexts.d.ts +0 -23
  77. package/dist/tools/list_contexts.js +0 -39
  78. package/dist/tools/list_cronjobs.d.ts +0 -23
  79. package/dist/tools/list_cronjobs.js +0 -35
  80. package/dist/tools/list_deployments.d.ts +0 -23
  81. package/dist/tools/list_deployments.js +0 -30
  82. package/dist/tools/list_jobs.d.ts +0 -29
  83. package/dist/tools/list_jobs.js +0 -77
  84. package/dist/tools/list_nodes.d.ts +0 -15
  85. package/dist/tools/list_nodes.js +0 -21
  86. package/dist/tools/list_pods.d.ts +0 -23
  87. package/dist/tools/list_pods.js +0 -29
  88. package/dist/tools/list_services.d.ts +0 -23
  89. package/dist/tools/list_services.js +0 -31
  90. package/dist/tools/scale_deployment.js +0 -50
  91. package/dist/tools/set_current_context.d.ts +0 -23
  92. package/dist/tools/set_current_context.js +0 -35
  93. package/dist/tools/update_configmap.d.ts +0 -33
  94. package/dist/tools/update_configmap.js +0 -71
  95. package/dist/tools/update_deployment.d.ts +0 -113
  96. package/dist/tools/update_deployment.js +0 -155
  97. package/dist/tools/update_service.d.ts +0 -72
  98. package/dist/tools/update_service.js +0 -125
package/README.md CHANGED
@@ -66,25 +66,27 @@ npx mcp-chat --config "%APPDATA%\Claude\claude_desktop_config.json"
66
66
  ## Features
67
67
 
68
68
  - [x] Connect to a Kubernetes cluster
69
- - [x] List all pods, services, deployments
70
- - [x] List, Describe nodes
71
- - [x] Create, describe, delete a pod
72
- - [x] List all namespaces, create a namespace
73
- - [x] Create custom pod & deployment configs, update deployment replicas
74
- - [x] Create, describe, delete, update a service
75
- - [x] Create, get, update, delete a ConfigMap
76
- - [x] Get logs from a pod for debugging (supports pods, deployments, jobs, and label selectors)
77
- - [x] Support Helm v3 for installing charts
78
- - Install charts with custom values
79
- - Uninstall releases
80
- - Upgrade existing releases
81
- - Support for namespaces
82
- - Support for version specification
83
- - Support for custom repositories
84
- - [x] kubectl explain and kubectl api-resources support
85
- - [x] Get Kubernetes events from the cluster
86
- - [x] Port forward to a pod or service
87
- - [x] Create, list, and decribe cronjobs
69
+ - [x] Unified kubectl API for managing resources
70
+ - Get or list resources with `kubectl_get`
71
+ - Describe resources with `kubectl_describe`
72
+ - List resources with `kubectl_list`
73
+ - Create resources with `kubectl_create`
74
+ - Apply YAML manifests with `kubectl_apply`
75
+ - Delete resources with `kubectl_delete`
76
+ - Get logs with `kubectl_logs`
77
+ - Manage kubectl contexts with `kubectl_context`
78
+ - Explain Kubernetes resources with `explain_resource`
79
+ - List API resources with `list_api_resources`
80
+ - Scale resources with `kubectl_scale`
81
+ - Update field(s) of a resource with `kubectl_patch`
82
+ - Manage deployment rollouts with `kubectl_rollout`
83
+ - Execute any kubectl command with `kubectl_generic`
84
+ - [x] Advanced operations
85
+ - Scale deployments with `kubectl_scale` (replaces legacy `scale_deployment`)
86
+ - Port forward to pods and services with `port_forward`
87
+ - Run Helm operations
88
+ - Install, upgrade, and uninstall charts
89
+ - Support for custom values, repositories, and versions
88
90
  - [x] Non-destructive mode for read and create/update-only access to clusters
89
91
 
90
92
  ## Local Development
@@ -149,9 +151,31 @@ See the [CONTRIBUTING.md](CONTRIBUTING.md) file for details.
149
151
 
150
152
  ## Advanced
151
153
 
152
- ### Additional Advanced Features
154
+ ### Non-Destructive Mode
153
155
 
154
- For more advanced information like using SSE transport, Non-destructive mode with `ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS`, see the [ADVANCED_README.md](ADVANCED_README.md).
156
+ You can run the server in a non-destructive mode that disables all destructive operations (delete pods, delete deployments, delete namespaces, etc.):
157
+
158
+ ```shell
159
+ ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true npx mcp-server-kubernetes
160
+ ```
161
+
162
+ For Claude Desktop configuration with non-destructive mode:
163
+
164
+ ```json
165
+ {
166
+ "mcpServers": {
167
+ "kubernetes-readonly": {
168
+ "command": "npx",
169
+ "args": ["mcp-server-kubernetes"],
170
+ "env": {
171
+ "ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS": "true"
172
+ }
173
+ }
174
+ }
175
+ }
176
+ ```
177
+
178
+ For additional advanced features, see the [ADVANCED_README.md](ADVANCED_README.md).
155
179
 
156
180
  ## Architecture
157
181
 
@@ -177,7 +201,7 @@ sequenceDiagram
177
201
 
178
202
  alt Tools Request
179
203
  Server->>Handler: Route to tools handler
180
- Handler->>K8sManager: Execute tool operation
204
+ Handler->>K8sManager: Execute kubectl operation
181
205
  K8sManager->>K8s: Make API call
182
206
  K8s-->>K8sManager: Return result
183
207
  K8sManager-->>Handler: Process response
@@ -61,8 +61,8 @@ export declare const CustomContainerConfig: z.ZodObject<{
61
61
  limits?: Record<string, string> | undefined;
62
62
  requests?: Record<string, string> | undefined;
63
63
  } | undefined;
64
- command?: string[] | undefined;
65
64
  args?: string[] | undefined;
65
+ command?: string[] | undefined;
66
66
  ports?: {
67
67
  containerPort: number;
68
68
  name?: string | undefined;
@@ -84,8 +84,8 @@ export declare const CustomContainerConfig: z.ZodObject<{
84
84
  limits?: Record<string, string> | undefined;
85
85
  requests?: Record<string, string> | undefined;
86
86
  } | undefined;
87
- command?: string[] | undefined;
88
87
  args?: string[] | undefined;
88
+ command?: string[] | undefined;
89
89
  ports?: {
90
90
  containerPort: number;
91
91
  name?: string | undefined;