
Radar Kubernetes MCP Server: Setup for Claude, Cursor and Other Apps
Lets your assistant find out why a Kubernetes cluster is unhealthy, and optionally restart, scale or change things.
This MCP server is built into Radar, an open-source Kubernetes UI from Skyhook. Radar runs on your computer with your kubeconfig, and your assistant connects to it on localhost. It shows the assistant what is broken, what changed and how resources connect, in a short form that saves context.
Start with the read-only address. The full address is also on by default and adds tools that restart, scale, apply and delete.
Good for
- Engineers on call who want an assistant to investigate failing workloads
- Platform teams checking upgrades, audits, Helm and GitOps state
- Anyone who wants cluster answers without pasting long kubectl output
- Teams who want a read-only view for AI agents
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install Radar Kubernetes MCP
Claude Code
- 1
Copy this prompt.
Add the Radar Kubernetes MCP server to Claude Code. Run this command: claude mcp add --transport http radar http://localhost:9280/mcp-readonly Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Radar installed and running (kubectl radar).
Read-only mode: Use the address ending in /mcp-readonly, which has no write tools. Starting Radar with --mcp-read-only also turns the full /mcp address off.
Radar must be running first: install it from the page links and start it with kubectl radar, which serves the MCP address on port 9280. The address in the box ends in /mcp-readonly, which has no write tools. The full /mcp address is also on by default and adds tools that restart, scale, apply and delete. If Radar runs on another port, change 9280. The desktop app picks its own port: copy the address from its MCP dialog and change the end to /mcp-readonly. Radar listens on 127.0.0.1 unless you change the listen address. Claude Desktop cannot reach localhost through a custom connector, so it uses the mcp-remote bridge, which needs Node.js.
From the project README. Source.
Tools
Lists what is broken in the cluster right now
Returns a ranked list of live problems such as failing pods and workloads, failed Helm releases, dangling references and pods that cannot start.
Try: “What is broken in my cluster right now?”
Network ·
issuesGathers evidence on one failing workload
Collects a point-in-time bundle of evidence about one workload or similar resource. It does not name a root cause by itself. On the full endpoint it can also start short-lived probe pods to test connectivity.
Try: “Why did the checkout rollout fail?”
Write ·
diagnoseGives a health overview of the cluster
Summarizes resource counts, failing pods, unhealthy workloads, grouped warning events and Helm status for the cluster or one namespace.
Try: “Give me a health overview of the prod namespace.”
Network ·
get_dashboardLists resources of one kind
Lists things like pods, deployments or services in short form, with a health note and issue count for each row.
Try: “List the deployments in the payments namespace.”
Network ·
list_resourcesShows one resource in detail
Returns a trimmed view of one resource with its status and how it relates to other resources.
Try: “Show me the checkout deployment.”
Network ·
get_resourceFinds resources by what they contain
Searches config keys, environment references, images, labels and status messages across the cluster. Secret values are never indexed.
Try: “Which workloads use the image nginx:1.21?”
Network ·
searchMaps how resources connect
Returns the graph of resources and their links for a namespace or the whole cluster, or the traffic view.
Try: “Show how services connect in the shop namespace.”
Network ·
get_topologyShows what surrounds one resource
Expands outward from one resource to the things it routes to, selects or is owned by, up to two steps.
Try: “What is connected to the cart service?”
Network ·
get_neighborhoodLists recent Kubernetes events
Returns recent events with duplicates merged, warnings first, and can be filtered by resource or type.
Try: “Show me warning events from the last hour.”
Network ·
get_eventsShows what changed recently
Lists recent changes from the cluster timeline and Helm release history, to help work out what changed before an incident.
Try: “What changed in prod before the outage?”
Network ·
get_changesReads a pod's logs
Returns logs from one pod with secrets scrubbed. By default it favors errors and warnings, or it returns only lines that match a pattern you give.
Try: “Show me the error logs from the checkout pod.”
Network ·
get_pod_logsReads logs for a whole workload
Combines the logs of all pods of a deployment, stateful set, daemon set, rollout or job, filtered for relevance or by a pattern.
Try: “Show errors across all checkout pods.”
Network ·
get_workload_logsRanks pods, workloads or nodes by CPU or memory
Shows live usage ranked like kubectl top, with status, restarts and limits alongside.
Try: “Which pods use the most memory?”
Network ·
top_resourcesLists all namespaces
Returns every namespace with its status.
Try: “List all namespaces.”
Network ·
list_namespacesChecks the cluster against best practices
Returns security, reliability and efficiency findings with fixes. Zero findings does not prove everything was checked.
Try: “Run an audit on the prod namespace.”
Network ·
get_cluster_auditChecks if the cluster is ready to upgrade
Analyzes the impact of moving to a target Kubernetes version, including removed APIs, version skew and webhook readiness. The result is not a guarantee.
Try: “Are we ready to upgrade to the next Kubernetes version?”
Network ·
get_cluster_upgrade_readinessShows which runtime versions are running
Lists which running workloads use which language or runtime version, useful when a runtime vulnerability is announced.
Try: “Which workloads run an affected PHP version?”
Network ·
get_runtime_versionsLists installed packages and their health
Combines Helm releases, label-managed workloads, CRDs, Argo applications and Flux releases with their versions and health.
Try: “What is installed in this cluster?”
Network ·
list_packagesLists Helm releases
Returns releases with status, health and a trail of failed upgrades or rollbacks.
Try: “Which Helm releases are unhealthy?”
Network ·
list_helm_releasesShows one Helm release in detail
Returns the release, the resources it owns, hooks, recent history and its values with secrets redacted.
Try: “Show the history of the ingress-nginx release.”
Network ·
get_helm_releaseShows what a user or service account can do
Returns the effective Kubernetes permissions of a service account, user or group.
Try: “What can the deploy service account do?”
Network ·
get_subject_permissionsRuns a PromQL query
Runs a query against the cluster's Prometheus, found automatically or given by a flag, or a compatible backend.
Try: “Show CPU use of the checkout pods over the last hour.”
Network ·
query_prometheusFinds metric names in Prometheus
Looks up exact metric names, with type and help text, or the values of one label, before you write a query.
Try: “What metrics exist for HTTP requests?”
Network ·
discover_metricsLists alert and recording rules
Returns Prometheus rules with their state, labels and active alerts.
Try: “Which alerts are firing?”
Network ·
get_prometheus_rulesShows estimated cost
Returns estimated cost from OpenCost or Kubecost by namespace, workload or node, or as a trend.
Try: “What does the payments namespace cost?”
Network ·
get_costSuggests CPU and memory requests
Recommends resource requests based on seven days of usage.
Try: “Which workloads are over-provisioned?”
Network ·
get_rightsizingWaits for a change to take effect
Waits up to 45 seconds for a rollout, pod readiness, job completion, deletion or status condition, then reports.
Try: “Wait until the checkout rollout is done.”
Network ·
wait_forCreates or updates resources from YAML
Applies one or more YAML documents, with a dry-run preview and a check of the live state afterwards. Only on the full endpoint.
Try: “Apply this deployment YAML to the staging namespace.”
Write ·
apply_resourceEdits one field of a resource
Changes one existing resource with a JSON patch, merge patch or strategic merge patch. Only on the full endpoint.
Try: “Set the replica count of checkout to 3.”
Write ·
patch_resourceRestarts, scales or rolls back a workload
Restarts, scales or rolls back a deployment, stateful set, daemon set or Argo rollout. Only on the full endpoint.
Try: “Restart the checkout deployment.”
Write ·
manage_workloadControls an Argo Rollout
Aborts, retries, promotes or fully promotes a progressive Argo rollout. Only on the full endpoint.
Try: “Abort the checkout rollout.”
Write ·
manage_rolloutTriggers, suspends or resumes a cron job
Runs a cron job now, or pauses or resumes its schedule. Only on the full endpoint.
Try: “Suspend the nightly-report cron job.”
Write ·
manage_cronjobControls Argo CD and Flux
Syncs, refreshes, suspends, resumes, reconciles or rolls back Argo CD and Flux resources. Only on the full endpoint.
Try: “Sync the payments app in Argo CD.”
Write ·
manage_gitopsCordons, uncordons or drains a node
Marks a node unschedulable or schedulable again, or drains it by evicting its pods. Only on the full endpoint.
Try: “Drain node-3 so I can upgrade it.”
Write ·
manage_nodeDeletes a Kubernetes resource
Deletes a resource after a preview that shows the impact and a signed confirmation valid for five minutes. Only on the full endpoint.
Try: “Delete the old staging deployment.”
Delete ·
delete_resource
Read from the source code
Permissions
high risk · 4 things to watch
High risk
The read-only address only reads cluster data, but the full address on the same port can restart, scale, change and delete resources. Connect to the read-only address, and use a kubeconfig with only the access you want the assistant to have.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
The full address can change and delete cluster resources
The /mcp address is on by default and has write and delete tools. Use /mcp-readonly, or start Radar with the read-only flag. github.com
Optional command tool returns raw output
A pod command tool is off by default and can return credentials. Leave it off unless you need it. github.com
Without sign-in, every caller shares one identity
Radar runs in no-auth mode by default, so any client that can reach the port uses Radar's access. It listens on 127.0.0.1 unless you change the address. github.com
Secret scrubbing is not perfect
Secret values are withheld and known patterns are scrubbed from logs and values, but Radar says this cannot catch everything. github.com
Security advisories
No published security advisories for the MCP server as of Nov 1, 2026.
1 other advisory is about the wider radar project, not this MCP server. See them on GitHub
Technical details
| Turning on read-only | Connect to the /mcp-readonly address, or start Radar with --mcp-read-only (env RADAR_MCP_READ_ONLY) to turn off /mcp completely. |
|---|---|
| Talks to | Your Kubernetes API server. Prometheus, OpenCost or Kubecost if found in the cluster |
| Sign-in and keys | No separate sign-in. Radar uses your kubeconfig, or its service account when run inside a cluster. |
| Scopes |
|
Questions
Is the Radar MCP server official?
Yes for Radar. Skyhook publishes it as part of Radar from the same repository. It is not made by the Kubernetes project.
Can I make it read-only?
Yes. Connect to the address ending in /mcp-readonly, which has no write tools. Starting Radar with --mcp-read-only also turns the full address off.
Can it delete things in my cluster?
On the full address, yes, through a delete tool that shows a preview and asks for a confirmation first. The read-only address cannot.
What do I need to run it?
Radar installed on your computer or in your cluster, and access to a cluster through your kubeconfig. Start Radar before your assistant connects.
Does it need an account or API key?
No. It uses your kubeconfig and has no cloud account. Usage reporting is off unless you opt in.
Does it work in Claude Desktop?
Through a bridge. Custom connectors in Claude Desktop connect from Anthropic's cloud and cannot reach localhost, so the install box uses the mcp-remote bridge.
Does it run in the cloud?
No. It runs on your machine or inside your cluster, and your cluster data stays there.
How is it different from other Kubernetes MCP servers?
It adds Radar's own views: topology, health checks, change timeline and Helm and GitOps state. It trims resources to save context instead of returning raw YAML.
Information
updated Nov 2, 2026
- Publisher
- Official
- Package
ghcr.io/skyhook-io/radar- Registry
- Docker
- Transport
- Streamable HTTP
- Auth
- None
- Version
- 1.19.0
- License
- Apache-2.0
- Last commit
- Oct 31, 2026
- Open issues
- 51
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.