Read-only Kubernetes diagnostics: pods, logs, events, workloads, services, PVCs and nodes.
MCPpedia last refreshed this data
io.github.NanaGyamfiPrempeh30/k8s-troubleshoot-mcp is an MCP server that read-only Kubernetes diagnostics: pods, logs, events, workloads, services, PVCs and nodes. Its tool list has not been published yet over stdio, requires no API key, and scores 37/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-nanagyamfiprempeh30-k8s-troubleshoot-mcp": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Read-only Kubernetes diagnostics: pods, logs, events, workloads, services, PVCs and nodes.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationBe the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in cloud
MCP Server for GCP environment for interacting with various Observability APIs.
Evidence-grounded agent memory with mandatory provenance, on local SQLite or Cloudflare D1
Azure DevOps boards, repos, pipelines & projects for AI agents — governed.
Manage BlazingCDN from AI agents: CDN zones, cache, metrics, domains, cloud storage and video CDN
MCP Security Weekly
Get CVE alerts and security updates for io.github.NanaGyamfiPrempeh30/k8s-troubleshoot-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A read-only MCP (Model Context Protocol)
server that lets an AI assistant diagnose a Kubernetes cluster. Ask why a pod is
crash-looping instead of running six kubectl commands and correlating the
output by hand.
Read-only is a structural property, not a promise. There are no write tools, and the RBAC manifests grant no write verbs. See Security model.
The server exposes 16 diagnostic tools over stdio. Connect it to Claude Desktop, VS Code, or Kiro, and you can ask things like:
checkout pod in staging not ready?"api container"web HPA scaling, and what does its current metric say?"production in the last few minutes?"The assistant calls the tools, the server queries the Kubernetes API with a scoped ServiceAccount token, and every response comes back as a structured dict — including errors, which are never raised as exceptions into the MCP layer.
┌──────────────────┐ stdio (JSON-RPC) ┌──────────────────────────┐
│ MCP Client │◄─────────────────────►│ MCP Server │
│ Claude Desktop │ │ (this project) │
│ VS Code / Kiro │ │ │
└──────────────────┘ │ config.py ─ validate │
│ server.py ─ 16 tools │
│ tools/*.py ─ read+shape│
│ response.py ─ escape + │
│ structure │
└───────────┬──────────────┘
│ HTTPS, explicit
│ KUBECONFIG only
┌───────────▼──────────────┐
│ Kubernetes API server │
│ ── RBAC boundary ── │
│ ServiceAccount: │
│ get/list/watch only │
└──────────────────────────┘
Configuration is validated once at startup. If anything is wrong — KUBECONFIG
unset, the file unreadable or malformed, ALLOWED_NAMESPACES missing or
containing a wildcard — the process writes one line to stderr and exits 1. It
never starts in a partially-valid state.
Arguments marked ? are optional.
| Tool | Description | Parameters |
|---|---|---|
get_pod_status | Phase, conditions, container statuses, QoS class and node for a pod | pod_name, namespace |
get_pod_logs | Recent log lines from a pod container. Content is untrusted — see Reading get_pod_logs output | pod_name, namespace, container?, previous?, tail_lines? |
get_pod_events | Recent events for a pod, newest first, with total_available | pod_name, namespace |
list_pods | Pods in a namespace with phase, restart count and readiness | namespace, label_selector? |
get_node_status | Conditions, capacity, allocatable, taints and roles for a node | node_name |
list_nodes | Cluster nodes with readiness, roles, age and kubelet version | none |
get_deployment_status | Replica counts, conditions and rollout strategy | deployment_name, namespace |
list_deployments | Deployments in a namespace with replica counts and availability | namespace |
get_statefulset_status | Replica counts, revisions and update strategy | statefulset_name, namespace |
get_daemonset_status | Scheduling counts and update strategy | `daemonset_ |