mcp-k8s-eye is a tool that can manage kubernetes cluster and analyze workload status.
- Connect to a Kubernetes cluster
- Generic Kubernetes Resources management capabilities
- Support all navtie resources: Pod, Deployment, Service, StatefulSet, Ingress...
- Support CustomResourceDefinition resources
- Operations include: list, get, create, update, delete
- Pod management capabilities (exec, logs)
- Deployment management capabilities (scale)
- Describe Kubernetes resources
- Explain Kubernetes resources
- Pod diagnostics (analyze pod status, container status, pod resource utilization)
- Service diagnostics (analyze service selector configuration, not ready endpoints, events)
- Deployment diagnostics (analyze available replicas)
- StatefulSet diagnostics (analyze statefulset service if exists, pvc if exists, available replicas)
- CronJob diagnostics (analyze cronjob schedule, starting deadline, last schedule time)
- Ingress diagnostics (analyze ingress class configuration, related services, tls secrets)
- NetworkPolicy diagnostics (analyze networkpolicy configuration, affected pods)
- ValidatingWebhook diagnostics (analyze webhook configuration, referenced services and pods)
- MutatingWebhook diagnostics (analyze webhook configuration, referenced services and pods)
- Node diagnostics (analyze node conditions)
- Cluster diagnostics and troubleshooting
- Pod, Deployment, ReplicaSet, StatefulSet, DaemonSet workload resource usage (cpu, memory)
- Node capacity, utilization (cpu, memory)
- Cluster capacity, utilization (cpu, memory)
- Multiple transport protocols support (Stdio, SSE)
- Support multiple AI Clients
resource_get
: Get detailed resource information about a specific resource in a namespaceresource_list
: List detailed resource information about all resources in a namespaceresource_create_or_update
: Create or update a resource in a namespaceresource_delete
: Delete a resource in a namespaceresource_describe
: Describe a resource detailed information in a namespacedeployment_scale
: Scale a deployment in a namespacepod_exec
: Execute a command in a pod in a namespace`pod_logs
: Get logs from a pod in a namespace
pod_analyze
: Diagnose all pods in a namespacedeployment_analyze
: Diagnose all deployments in a namespacestatefulset_analyze
: Diagnose all statefulsets in a namespaceservice_analyze
: Diagnose all services in a namespacecronjob_analyze
: Diagnose all cronjobs in a namespaceingress_analyze
: Diagnose all ingresses in a namespacenetworkpolicy_analyze
: Diagnose all networkpolicies in a namespacevalidatingwebhook_analyze
: Diagnose all validatingwebhooksmutatingwebhook_analyze
: Diagnose all mutatingwebhooksnode_analyze
: Diagnose all nodes in cluster
workload_resource_usage
: Get pod/deployment/replicaset/statefulset resource usage in a namepace (cpu, memory)
- Go 1.23 or higher
- kubectl configured
# clone the repository
git clone https://github.com/wenhuwang/mcp-k8s-eye.git
cd mcp-k8s-eye
# build the binary
go build -o mcp-k8s-eye
{
"mcpServers": {
"k8s eye": {
"command": "YOUR mcp-k8s-eye PATH",
"env": {
"HOME": "USER HOME DIR"
},
}
}
}
env.HOME
is used to set the HOME directory for kubeconfig file.
- start your mcp sse server
- config your mcp server
{
"mcpServers": {
"k8s eye": {
"url": "http://localhost:8080/sse",
"env": {}
}
}
}