Labsco
MCP SERVER

Kubernetes for agents — token-minified resources, root-cause diagnosis, topology and logs, with RBAC-enforced writes and secrets never exposed.

Containers, Kubernetes & Cluster Operations
Summary
Read tools are annotated read-only and writes are annotated destructive — the client can act on that.

The safety story is not a promise in prose: read tools carry `readOnlyHint` and every mutating tool carries `destructiveHint`, so an MCP client can prompt for confirmation before a drain or a rollback, and RBAC still decides what is possible. Secret data is never exposed, environment values are redacted, and logs are scrubbed for keys and tokens. `diagnose` is the tool to reach for first — it collapses a whole triage sequence into one call and tells you how confident its evidence is.

What it is

An open-source Kubernetes UI that runs as a single binary on your laptop or in-cluster, with an MCP server built in and enabled by default. Its argument against giving an agent raw kubectl is concrete: verbose YAML burns context, raw output carries no topology or health, and kubectl can delete things.

What you get
  • A ranked, curated stream of what is actually broken right now — failing workloads and pods, Helm failures, dangling references, pod-startup blockers — with severity and CEL filters — `issues`
  • Root-cause analysis of one workload, GitOps reconciler or network entry in a single call, pairing crashloop status with the highest-signal log line and stating how that line was chosen; network kinds get a coverage-honest reachability diagnosis with an optional bounded probe — `diagnose`
  • Cluster and namespace overviews, live metrics ranked like `kubectl top` joined with Kubernetes context, resource listing and detail with health rollups, and content search that never indexes secret values — `get_dashboard`, `top_resources`, `list_resources`, `get_resource`, `search`
  • Topology as a graph or LLM-friendly text chains, and a BFS neighbourhood around one suspect root — `get_topology`, `get_neighborhood`
  • Deduplicated events with warnings first, the change timeline including Helm deployment history, and logs from a pod or aggregated across a workload with secret redaction and diagnostic filtering — `get_events`, `get_changes`, `get_pod_logs`, `get_workload_logs`
  • Static configuration posture with remediation, kept separate from live health — `get_cluster_audit`
  • Packages and Helm: installed packages across Helm, labels, CRDs, Argo and Flux, release listings with operation trails, and full revision, hook and diff diagnostics — `list_packages`, `list_helm_releases`, `get_helm_release`
  • Effective RBAC for a ServiceAccount, User or Group, including an authoritative SubjectAccessReview for a specific verb and resource — `get_subject_permissions`
  • Prometheus work: PromQL instant and range queries with automatic step adjustment, metric and label discovery before you write the query, and alerting and recording rules with their definitions — `query_prometheus`, `discover_metrics`, `get_prometheus_rules`
  • Write tools, RBAC-enforced and annotated as destructive so clients can prompt: apply and patch resources with dry-run and diff verification, restart, scale and rollback workloads, drive Argo Rollouts, trigger CronJobs, sync GitOps, and cordon or drain nodes — `apply_resource`, `patch_resource`, `manage_workload`, `manage_rollout`, `manage_cronjob`, `manage_gitops`, `manage_node`
Requirements

The binary and a kubeconfig — `curl -fsSL https://get.radarhq.io | sh && kubectl radar`, or Homebrew, or the Helm chart for in-cluster deployment. Nothing is installed on the cluster in laptop mode; it talks to the Kubernetes API directly and respects your RBAC. The MCP endpoint is `http://localhost:9280/mcp` over HTTP transport, matching `--port`, and is on by default — disable with `--no-mcp`. `claude mcp add radar --transport http http://localhost:9280/mcp` wires it up. No account, no agents, no cloud sync. Apache 2.0.

Setup effort

One command — curl -fsSL https://get.radarhq.io | sh && kubectl radar