KubePulse
A CLI that reads a snapshot of a Kubernetes cluster and reports what is failing, the evidence behind each finding, and the next step. It can collect a snapshot from a live cluster through kubectl, diagnose it with eight detectors, and diff two snapshots to show what a fix resolved. Diagnose only: it changes nothing in a cluster.
The same engine also runs as an MCP server: KubePulse MCP wraps the diagnose and diff commands as tools an LLM client can call.
$ kubepulse diff examples/healthy.json examples/broken.json
KubePulse diff for demo-cluster
9 new, 0 resolved, 0 unchanged
NEW (9)
Node node-02: node is reporting MemoryPressure
Node node-03: node is reporting DiskPressure
Deployment shop/checkout: rollout is stuck at 1 of 3 updated replicas
Pod batch/worker-5c7d8e9f6-m4n8q: container worker was OOMKilled (exit code 137) and has restarted 6 times
Pod shop/api-7849c6f5d9-xk2lp: container api is in CrashLoopBackOff after 14 restarts
Pod shop/web-6b9d7c4f8-p7r3s: container web cannot pull image registry.example.com/shop/web:v2.4.1 (ImagePullBackOff)
Pod batch/report-job-8f6e5d4c3-t9w2z: pod has been Pending and cannot be scheduled
Pod shop/cache-7f8e6d5c4-j6k9m: container cache is using 94% of its memory limit
Pod tools/debug-shell: containers without resource limits: shell
Code and tests: github.com/UdayKandyanam/kubepulse