Kubernetes MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KUBECONFIG | No | Path to kubeconfig file (defaults to ~/.kube/config) | |
| K8S_CONTEXT | No | Specific kubectl context to use | |
| K8S_SSH_KEY | No | Path to SSH private key for authentication | |
| K8S_SSH_HOST | No | SSH host for remote kubectl execution (e.g., 192.168.16.100) | |
| K8S_SSH_USER | No | SSH username for authentication | |
| KUBECTL_PATH | No | Path to kubectl binary | kubectl |
| K8S_SSH_PASSWORD | No | SSH password (uses plink on Windows, sshpass on Linux) | |
| K8S_DEFAULT_NAMESPACE | No | Default namespace | default |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| k8s_get_cluster_infoB | Get Kubernetes cluster information including server version and endpoints |
| k8s_list_nodesB | List all nodes in the cluster with their status, roles, and resource information |
| k8s_get_nodeC | Get detailed information about a specific node |
| k8s_describe_nodeB | Get full description of a node including conditions, capacity, and allocatable resources |
| k8s_list_namespacesB | List all namespaces in the cluster |
| k8s_create_namespaceC | Create a new namespace |
| k8s_delete_namespaceA | Delete a namespace (WARNING: This will delete all resources in the namespace) |
| k8s_list_podsC | List pods in a namespace or all namespaces |
| k8s_get_podB | Get detailed information about a specific pod |
| k8s_describe_podC | Get full description of a pod including events |
| k8s_get_pod_logsC | Get logs from a pod container |
| k8s_delete_podC | Delete a pod |
| k8s_exec_podC | Execute a command in a pod container |
| k8s_list_deploymentsB | List deployments in a namespace or all namespaces |
| k8s_get_deploymentC | Get detailed information about a deployment |
| k8s_describe_deploymentC | Get full description of a deployment including events and conditions |
| k8s_scale_deploymentC | Scale a deployment to a specific number of replicas |
| k8s_restart_deploymentC | Perform a rolling restart of a deployment |
| k8s_update_deployment_imageC | Update the container image of a deployment |
| k8s_list_servicesB | List services in a namespace or all namespaces |
| k8s_get_serviceC | Get detailed information about a service |
| k8s_describe_serviceB | Get full description of a service including endpoints |
| k8s_list_configmapsB | List ConfigMaps in a namespace |
| k8s_get_configmapC | Get ConfigMap details and data |
| k8s_create_configmapC | Create a ConfigMap from literal values |
| k8s_delete_configmapC | Delete a ConfigMap |
| k8s_list_secretsB | List secrets in a namespace (values are not shown) |
| k8s_get_secretC | Get secret metadata (values are base64 encoded) |
| k8s_create_secretC | Create a generic secret from literal values |
| k8s_delete_secretC | Delete a secret |
| k8s_list_statefulsetsC | List StatefulSets in a namespace |
| k8s_get_statefulsetC | Get StatefulSet details |
| k8s_scale_statefulsetC | Scale a StatefulSet to a specific number of replicas |
| k8s_list_daemonsetsC | List DaemonSets in a namespace |
| k8s_get_daemonsetC | Get DaemonSet details |
| k8s_list_ingressesC | List Ingresses in a namespace |
| k8s_get_ingressC | Get Ingress details |
| k8s_apply_manifestC | Apply a YAML or JSON manifest to the cluster |
| k8s_delete_resourceC | Delete a resource by type and name |
| k8s_get_eventsB | Get cluster events, optionally filtered by namespace |
| k8s_get_resource_yamlC | Get any resource as YAML |
| k8s_get_allC | Get all common resources in a namespace |
| k8s_rollout_statusB | Get the status of a deployment rollout |
| k8s_rollout_historyB | Get the rollout history of a deployment |
| k8s_rollout_undoC | Undo the last rollout of a deployment |
| k8s_top_nodesB | Show resource usage (CPU/memory) for nodes |
| k8s_top_podsC | Show resource usage (CPU/memory) for pods |
| k8s_get_contextsB | List all available kubectl contexts |
| k8s_current_contextB | Get the current kubectl context |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 49 tools
Most tools have distinct purposes targeting specific Kubernetes resources and actions, with clear boundaries (e.g., k8s_get_pod vs. k8s_describe_pod for different detail levels). However, some overlap exists, such as k8s_delete_resource potentially covering deletions handled by specific tools like k8s_delete_pod, which could cause minor confusion.
Tool names follow a highly consistent k8s_verb_noun pattern throughout, using snake_case uniformly. This predictability makes it easy for agents to understand and navigate the toolset without naming conflicts or style variations.
With 49 tools, the count is excessive for typical MCP server scope, likely overwhelming for agents and leading to decision paralysis. While Kubernetes is complex, this many tools suggests fragmentation rather than a well-scoped, cohesive set.
The toolset provides comprehensive coverage of Kubernetes operations, including CRUD for core resources (pods, deployments, services), lifecycle management (scale, restart, rollout), monitoring (logs, events, top), and cluster administration. No obvious gaps exist for the domain.