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 |
| 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 17 tools
Most tools are clearly differentiated by resource and action, but kubectl_create and kubectl_apply overlap because both can create resources. kubectl_patch, kubectl_scale, and kubectl_rollout also all mutate resources, though their scopes are distinct enough for an agent to choose correctly.
All names use snake_case, which is readable, but prefixing is inconsistent: many tools use kubectl_* while others use bare verbs or nouns like ping, port_forward, and install_helm_chart. There is no single predictable verb_noun pattern across the entire set.
17 tools is slightly above the typical 3-15 range, but Kubernetes is a broad domain and each tool covers a distinct operation or resource. The count is justifiable, though it borders on heavy for a single MCP server.
The surface covers read, create, update, logs, rollout, Helm, and port-forward operations, but lacks a delete operation, which is a core lifecycle gap. Other missing operations like exec or cp exist, but the absence of delete is the most notable incompleteness.