mcp-server-kubernetes
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS | No | Run the server in a non-destructive mode that disables all destructive operations (delete pods, delete deployments, delete namespaces, etc.) | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| kubectl_getA | Get or list Kubernetes resources by resource type, name, and optionally namespace |
| kubectl_describeA | Describe Kubernetes resources by resource type, name, and optionally namespace |
| kubectl_applyA | Apply a Kubernetes YAML manifest from a string or file |
| kubectl_createB | Create Kubernetes resources using various methods (from file or using subcommands) |
| kubectl_logsB | Get logs from Kubernetes resources like pods, deployments, or jobs |
| kubectl_scaleB | Scale a Kubernetes deployment |
| kubectl_patchA | Update field(s) of a resource using strategic merge patch, JSON merge patch, or JSON patch |
| kubectl_rolloutB | Manage the rollout of a resource (e.g., deployment, daemonset, statefulset) |
| kubectl_contextB | Manage Kubernetes contexts - list, get, or set the current context |
| kubectl_reconnectA | Reconnect to the Kubernetes API server by recreating all API clients. Use this after cluster upgrades (e.g., EKS control plane upgrades that rotate ENIs/IPs) to force fresh DNS resolution and new TCP connections. |
| explain_resourceB | Get documentation for a Kubernetes resource or field |
| install_helm_chartB | Install a Helm chart with support for both standard and template-based installation |
| upgrade_helm_chartC | Upgrade an existing Helm chart release |
| port_forwardC | Forward a local port to a port on a Kubernetes resource |
| stop_port_forwardD | Stop a port-forward process |
| exec_in_podA | Execute a command in a Kubernetes pod or container and return the output. Command must be an array of strings where the first element is the executable and remaining elements are arguments. This executes directly without shell interpretation for security. |
| list_api_resourcesC | List the API resources available in the cluster |
| pingA | Verify that the counterpart is still responsive and the connection is alive. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| k8s-diagnose | Diagnose Kubernetes Resources. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Kubernetes Pods | List of pods in the default namespace |
| Kubernetes Deployments | List of deployments in the default namespace |
| Kubernetes Services | List of services in the default namespace |
| Kubernetes Namespaces | List of all namespaces |
| Kubernetes Nodes | List of all nodes in the cluster |
TDQS
Scored across 18 tools
Most tools map to clearly distinct operations, such as kubectl_get, kubectl_logs, kubectl_patch, and kubectl_rollout, so an agent can generally select the correct one. The only notable overlap is kubectl_apply vs kubectl_create, but their descriptions sufficiently differentiate manifest-based apply versus create subcommands.
All names consistently use snake_case, but there is an uneven pattern: most tools start with kubectl_, while others like explain_resource, list_api_resources, install_helm_chart, port_forward, and ping do not follow that prefix convention. The naming is readable, but the mixed style is noticeably inconsistent.
With 18 tools, the server is slightly above the typically well-scoped 3-15 range but still reasonable for the broad Kubernetes domain. Each tool covers a genuinely useful operation, so the count does not feel padded.
The tool surface covers create, apply, patch, scale, rollout, logs, exec, and port-forward, but it has a major gap: there is no delete or uninstall tool. This means an agent cannot remove Kubernetes resources or Helm releases, which is a critical dead end for lifecycle management.