Give Claude Code, Codex, and Cursor a safe Kubernetes MCP server.
Radar's built-in MCP server answers with the cluster already joined: topology, what changed and when, deduplicated events and error-filtered logs, with secrets redacted. 23 read tools and 7 scoped write tools. Local, RBAC-aware, on by default.
--no-mcpSame agent, same model: 3× faster with Radar's MCP
Same model, same 50 SREGym faults - once through Radar, once through raw kubectl. Radar was slightly more accurate and got there in an average 64 seconds against 191. Replay every run side by side.
64s through Radar vs 191s through kubectl
counting faults both arms got right
kubectl: 78% by then
42% through kubectl
Against finished AI SRE products it holds up too: on 50 live faults, Claude Code on Radar's MCP was the most accurate of the 6 products we tested: clearly ahead of HolmesGPT, OpenSRE, kagent and AWS DevOps Agent, and slightly ahead of kubectl-ai. It answered in an average 79 seconds at $0.27 a fault, the fastest and cheapest of the 6. See the AI SRE benchmark.
Raw kubectl isn't built for agents
Compact output that fits the agent's context
kubectl get pod -o yaml returns hundreds of lines of managedFields, status and metadata. The agent reads it all, then makes the next call to find the relationship it needed. Radar returns minified objects with the topology, health and recent changes already attached.
A shell can run anything its identity can
Radar's writes are seven explicit tools, enforced by Kubernetes RBAC and annotated as mutating or destructive, so the client can ask before anything changes. There is no delete tool and no arbitrary shell.
23 read tools, 7 write tools
Tools combine what would be several kubectl calls, correlate problems with recent changes, collapse duplicate events, redact secrets and return minified output.
get_dashboardCluster health overview - resource counts, problems, warning events, Helm status. Auto-correlates the recent changes that touched any broken resource.
list_resourcesLists resources with minified summaries (pods, deployments, services, CRDs, etc.).
get_resourceDetailed view of a single resource, with optional events + relationships + metrics + logs in one call - one tool instead of four.
get_topologyPre-built topology graph (nodes + edges) or an LLM-friendly text summary of resource chains and problems.
get_eventsKubernetes events, deduplicated (same reason+message collapsed) and sorted by recency.
get_changesResource changes (creates, updates, deletes) from the cluster timeline, with computed diffs.
get_cluster_auditBest-practice findings with remediation - security, reliability, efficiency. Filter by namespace, category, severity.
get_cluster_upgrade_readinessEvidence-backed upgrade impact analysis for a target Kubernetes minor, including deprecated APIs, version skew, node runtime, drain feasibility, and webhook readiness.
get_pod_logsPod logs filtered to errors/warnings, with secret redaction. Falls back to the last 20 lines if nothing matches.
get_workload_logsLogs from every pod of a workload, deduplicated and error-prioritized across replicas.
list_namespacesList all namespaces with status.
list_helm_releasesList all Helm releases with status and health.
get_helm_releaseHelm release info with optional values, revision history, and manifest diff across revisions.
list_packagesWhat's installed in the cluster - one call instead of cross-referencing Helm + workload labels + CRDs + ArgoCD + Flux. Each row carries a sources array (H/L/C/A/F) so you can see WHY it was detected, plus per-source health and version. Catches operator orphans and same-cluster version disagreement.
issuesRanked stream of what's broken right now - failing workloads, pod-startup blockers, dangling references - across the whole cluster.
diagnoseRoot-cause one workload or GitOps reconciler in a single call, with the causal chain assembled for you.
get_neighborhoodBFS-expanded topology around one resource - cheaper than the full graph when you already know the root.
get_subject_permissionsEffective RBAC for a ServiceAccount, User, or Group - what they can actually do, and via which bindings.
searchFind resources by content - config keys, env refs, image names, labels - without knowing the kind up front.
top_resourcesLive CPU/memory ranked like `kubectl top | sort`, joined with workload context.
query_prometheusRun PromQL against the cluster's Prometheus, auto-discovered or configured.
discover_metricsFind exact metric names, enriched with type and help text from Prometheus metadata.
get_prometheus_rulesList Prometheus alerting and recording rules with their PromQL and current state.
apply_resourceCreate or update a Kubernetes resource from YAML.
manage_workloadRestart, scale, or rollback a Deployment, StatefulSet, DaemonSet, or Argo Rollout.
manage_rolloutAbort, retry, promote, fully promote, or advance one step of an Argo Rollout.
manage_cronjobTrigger, suspend, or resume a CronJob.
manage_gitopsManage ArgoCD and FluxCD resources - sync, reconcile, suspend, resume.
manage_nodeCordon, uncordon, or drain a Kubernetes node.
patch_resourcePatch one existing resource with a JSON Patch, merge patch, or strategic merge - precise field edits without rewriting the manifest.
RBAC-enforced and annotated as mutating or destructive. No delete tool, no arbitrary shell.
Connect an agent
With Radar running, Claude Code needs one command:
claude mcp add radar --transport http http://localhost:9280/mcpCodex, Cursor, GitHub Copilot, OpenCode, Google Antigravity, Kiro, JetBrains, Cline, Devin Desktop and any other MCP client connect to the same URL: setup for each client.
Questions and the tools they call
get_dashboardget_pod_logs + get_events + get_resourceget_changesget_helm_release (with include=diff)get_topologySecurity model
- Local only
- Bound to 127.0.0.1 next to Radar. Agents connect to Radar on your machine; the API server is never exposed.
- Your RBAC
- Every call runs as your kubeconfig identity. What it can't read, the agent can't read.
- Secrets redacted
- Secret values, secret-looking env values and matching log lines are scrubbed before the agent sees them.
- Writes are explicit
- Seven write tools, annotated so the client can confirm first. No delete, no shell.
- Read-only diagnosis
- Diagnosis never writes. Optional route probes use short-lived pods that delete themselves.
- Off with one flag
- Start Radar with --no-mcp to disable the server.
Radar Cloud: one MCP endpoint for every cluster
The local server covers one engineer's kubeconfig. Radar Cloud serves the same tools to the whole team from one endpoint.
- One endpoint, every cluster
- Install the Radar agent in each cluster once. Every agent on the team reaches all of them through a single URL, with no kubeconfigs to hand out.
- SSO identity, Kubernetes RBAC
- Agents act as the signed-in user. A viewer's agent can read but can't change anything.
- Audited tool calls
- Who ran which tool, on which cluster, and whether it succeeded, was blocked or failed.
- Org-wide read-only
- Switch the org to read-only and write tools disappear, while diagnosis keeps working.
MCP server questions
Is Radar's MCP server safe to point at a production cluster?
Which AI clients does it support?
Is it actually better than letting an agent run kubectl directly?
Can I turn it off?
How does this work for a whole team instead of one laptop?
More of what Radar does in the same binary.
Connect your agent to Radar's MCP server.
It ships in the open source binary and is on by default.
$curl -fsSL https://get.radarhq.io | sh && kubectl radarApache 2.0 · No account for local use · Run Radar OSS forever