skyhook-io/radar

▲ 6 stars today★ 3,997⑂ 265

The missing open-source Kubernetes UI with a built-in MCP server for AI agents. See what's broken, why, and what changed.

About skyhook-io/radar

skyhook-io/radar is an open-source project on GitHub, mainly written in Go. The missing open-source Kubernetes UI with a built-in MCP server for AI agents. See what's broken, why, and what changed. It currently holds 3,997 stars and 265 forks with 130 open issues, and was last pushed on 2026-10-31 (repository created 2026-01-20).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #74 with 6 new stars today.

GitHub Repository Details

Repository skyhook-io/radar · default branch main · size 89213 KB · watchers 14 · source: GitHub REST API and repository README

README

Radar

The missing open-source Kubernetes UI, with a built-in MCP server for your AI agent.
Single binary. No account required. Free forever.

🌐 radarhq.io · Docs · Benchmarks · Releases

Radar shows you what's broken in a Kubernetes cluster, why, and what changed: issues, topology, a timeline of events and resource changes, Helm, GitOps, traffic, audit, and upgrade impact. Your AI agent reads the same cluster data and relationships through Radar's MCP server, and Radar can run an AI investigation for you with the agent CLI you already use. It runs on your laptop as a kubectl plugin or desktop app, or in-cluster with Helm.

https://github.com/skyhook-io/radar/blob/HEAD/Radar - You don't need an AI SRE. Give your agent Radar. | Product Hunt

🚀 We're on Product Hunt today with Radar's upgraded MCP server and AI investigations. Come say hi and drop us a comment.

CI CodeQL Release Downloads Helm repo downloads Discord License

Table of contents

https://github.com/skyhook-io/radar/blob/HEAD/Radar home view for one cluster: pod, deployment and node health, resource utilization, topology, Helm releases, timeline, traffic, and unhealthy workloads

Install and run in 30 seconds:

curl -fsSL https://get.radarhq.io | sh && kubectl radar
Or brew install kubectl-radar. Windows, Krew, desktop app and Helm ↓

Then, with Radar running, connect your AI agent (read-only):

claude mcp add --transport http radar http://localhost:9280/mcp-readonly
Codex, Cursor, GitHub Copilot, other clients, and the desktop app ↓

Why Radar?

"Have Radar deployed at work. As far as Kubernetes dashboards go, this is one of the best." — u/TheRealNetroxen

---

Debugging in the UI

Start from Issues, a ranked queue of what's broken right now. Open a failing resource to see it in context: its owners, Pods, Services, and config on the Topology, what changed and when on the Timeline (with diffs), and its events, logs, and YAML in the detail drawer. Helm, GitOps, and Traffic cover how it got deployed and who talks to it. When you want help, Investigate hands the same evidence to your agent (AI investigations). Radar records resource changes while it watches the cluster; history is in memory by default, and --timeline-storage=sqlite or postgres keeps it across restarts.

https://github.com/skyhook-io/radar/blob/HEAD/Radar's Issues queue in the shop namespace with two warnings: a crash loop on the checkout Deployment, and the orders-db-legacy Service, whose selector matches no pods. Each row has an Investigate button.
Issues for the incident the agent diagnoses below: a crash loop on checkout and a Service with no endpoints

---

AI agents: MCP server and AI investigations

Pointed at raw kubectl, an agent spends its context window on YAML and its time on round trips. Radar's built-in Model Context Protocol (MCP) server gives it what Radar already knows instead: how resources connect, what is unhealthy, deduplicated events, recent changes with diffs, and filtered logs. In our benchmarks, the same agent and model reached a diagnosis about 3× faster through Radar than through kubectl (details).

https://github.com/skyhook-io/radar/blob/HEAD/Claude Code connected to Radar's read-only MCP endpoint, asked why the last checkout rollout failed. It calls diagnose, get_changes, list_resources and get_resource, then answers: the rollout changed DB_HOST to orders-db-legacy, a Service with no pods behind it, so the new pod crash-loops while the two old pods keep serving.
Claude Code on Radar's read-only endpoint, finding why a rollout failed (replay of a real session)

Connect your agent

MCP is on by default and served on the same port as the UI: 9280 unless you set --port. The desktop app picks its own port: copy the URL from Radar's MCP dialog and change the final /mcp to /mcp-readonly. Start with the read-only endpoint:

# Claude Code
claude mcp add --transport http radar http://localhost:9280/mcp-readonly

Codex

codex mcp add radar --url http://localhost:9280/mcp-readonly

Setup for Cursor, VS Code (GitHub Copilot), Copilot CLI, OpenCode, Google Antigravity, Kiro, JetBrains, Cline, Devin, Claude Desktop, Zed, Gemini CLI, and any other MCP client is in the MCP guide. Its examples use /mcp; use /mcp-readonly instead to keep Radar's tools read-only. Your agent's other tools follow its own configuration.

AI investigations

Radar can also run the investigation for you, with the agent CLI you already have — Claude Code, Codex, Cursor, or OpenCode — on your machine and signed in with your own account. Radar needs no API key of its own. Start one from a resource's Investigate action, from an issue, by describing what you're seeing on the AI investigations page (where to start, since when, and optionally the resource it's about), or from a terminal against a running Radar:

radar diagnose deploy/checkout -n shop
radar diagnose deploy/checkout -n shop --json > conclusion.json

Every investigation ends on the same Findings page, with the evidence behind each claim. Radar's investigation tools can only read the cluster, and Radar applies a fix only when you approve it, from an investigation of the resource it changes. What else the agent can do depends on how Radar runs it. Radar safeguards (Claude Code and Codex) shuts off the agent's other MCP servers and its ability to write. Your agent setup (the only option for Cursor and OpenCode) runs the agent with its normal configuration, tools, and MCP servers, which Radar cannot constrain and which may be able to change your cluster. Cursor and OpenCode approve tool requests automatically in these runs, without asking you. See agents and isolation.

Investigations need a supported agent CLI on the machine running Radar, MCP on, and authentication off. In-cluster installs don't run them. See the AI investigations guide and agent CLI setup.

Benchmarks

Three studies of an AI agent diagnosing live faults from SREGym (Microsoft and UIUC) on a 3-node EKS cluster, with the same judge scoring every tool. Times are averages to a submitted answer, right or wrong. These are our own benchmarks; compare numbers within a study, not across studies.

| Study | Faults | Result | |-------|--------|--------| | Radar MCP vs raw kubectl — same agent and model | 50 | 64s vs 191s to a diagnosis (about 3× faster); 86% vs 60% diagnosed correctly within two minutes | | Kubernetes MCP servers — Radar, containers/kubernetes-mcp-server, Flux159/mcp-server-kubernetes, Amazon EKS MCP Server, k8sgpt, raw kubectl | 25 | Radar took 57s, 2.3× faster than the next-fastest MCP server; on the 14 faults every tool got right, 33s vs 58s for the next-fastest | | AI SRE tools — Claude Code + Radar MCP vs kubectl-ai, HolmesGPT, OpenSRE, kagent, AWS DevOps Agent | 50 | Claude Code + Radar MCP was the most accurate (44/50 correct), fastest (79s), and cheapest ($0.27 a fault) |

Per-scenario scores and timings are downloadable from the benchmark pages; the AI SRE study also includes costs.

---

Installation

Quick Install:

curl -fsSL https://get.radarhq.io | sh

Homebrew:

brew install kubectl-radar

Also available from our tap: brew install skyhook-io/tap/radar.

Then run: kubectl radar. Quick install, PowerShell, Homebrew, and Scoop also set up the radar shorthand. Krew and direct downloads use kubectl radar unless you add your own radar symlink.

More install options — Desktop App (macOS/Linux/Windows), Krew, Scoop, In-Cluster Helm

CLI

Krew (kubectl plugin manager):

kubectl krew install radar

Scoop (Windows):

scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket
scoop install radar

PowerShell (Windows):

irm https://get.radarhq.io/install.ps1 | iex

Custom install location (macOS/Linux):

curl -fsSL https://get.radarhq.io | INSTALL_DIR="$HOME/.local/bin" sh
Quick install writes to /usr/local/bin unless INSTALL_DIR says otherwise. The directory is created if missing, and needs to be on your PATH for radar and kubectl radar to resolve.

Direct download — GitHub Releases for macOS, Linux, or Windows.

Desktop App

Native desktop app — no terminal needed.

Homebrew (macOS):

brew install --cask skyhook-io/tap/radar-desktop

Debian/Ubuntu — download the .deb from GitHub Releases, then:

sudo apt install ./radar-desktop_*.deb

Fedora/RHEL — download the .rpm from GitHub Releases, then:

sudo rpm -i radar-desktop_*.rpm

Scoop (Windows):

scoop bucket add skyhook https://github.com/skyhook-io/scoop-bucket
scoop install radar-desktop

Windows (direct download) — GitHub Releases.

In-Cluster Deployment

Deploy to your cluster for shared team access:

helm repo add skyhook https://skyhook-io.github.io/helm-charts
helm install radar skyhook/radar -n radar --create-namespace

See the In-Cluster Deployment Guide for Gateway API and ingress exposure, authentication, and RBAC configuration.

---

Usage

# Opens browser automatically
kubectl radar

Quick install, PowerShell, Homebrew, and Scoop also set up the bare command

radar

Common flags

| Flag | Default | Description | |------|---------|-------------| | --kubeconfig | ~/.kube/config | Path to primary kubeconfig file | | --namespace | (context namespace) | Initial namespace filter (supports multi-select in the UI; also used as RBAC fallback for namespace-scoped users). Unset, Radar uses your saved pick, then the kubeconfig context's namespace, then all namespaces | | --port | 9280 | Server port | | --listen-address | 127.0.0.1 | HTTP listen IP address (IPv4 or IPv6), or localhost. Bind a specific local IP or use 0.0.0.0 for all interfaces. Non-loopback access needs authentication and network controls. | | --no-browser | false | Don't auto-open browser | | --timeline-storage | memory | Timeline storage backend: memory, sqlite, or postgres | | --disable-exec | false | Disable pod terminal, debug shells and pod file browsing | | --auth-mode | none | Authentication mode: none, proxy, or oidc (details) | | --no-mcp | false | Disable all MCP endpoints | | --mcp-read-only | false | Expose only read-only MCP tools; disable /mcp (env: RADAR_MCP_READ_ONLY) |

The Configuration Guide describes every startup flag in the table above and 27 more, plus tuning for slow or high-latency clusters, kubeconfig precedence, and context switching.

The other 27 flags

--kubeconfig-dir, --namespaces, --namespace-scope, --base-path, --allowed-hosts, --trusted-origins, --browser, --timeline-db, --timeline-max-size, --history-limit, --disable-helm-write, --disable-local-terminal, --debug-image, --list-page-size, --context-switch-timeout, --first-paint-backstop, --namespace-list-timeout, --max-scope-candidates, --prometheus-url, --prometheus-single-cluster, --prometheus-cluster-label, --prometheus-header, --prometheus-header-from-env, --beyla-job-selector, --opencost-currency, --mcp-catalog-stdio, --version

radar --help is authoritative for the installed version. radar cloud status inspects an in-cluster Radar Cloud installation without changing it (details).

---

Views

Issues

One ranked queue of what's broken right now — crash loops, image pull failures, stuck rollouts, pods that can't be scheduled, dangling references, and failing Argo CD / Flux conditions — each with an Investigate action. See Issues.

Topology

Interactive graph showing how your Kubernetes resources are connected in real-time.

https://github.com/skyhook-io/radar/blob/HEAD/Topology View
Topology View — Visualize resource relationships

Resources

Table-based resource browser with smart columns per resource kind.

https://github.com/skyhook-io/radar/blob/HEAD/Resources View
Resources View — Browse and filter all cluster resources

Image Filesystem Viewer

Inspect container image filesystems directly from the Pod view — no need to pull images locally or exec into containers.

https://github.com/skyhook-io/radar/blob/HEAD/Image Filesystem Viewer
Image Filesystem Viewer — Browse container image contents

See Image filesystem.

Timeline

Unified timeline of Kubernetes events and resource changes.

https://github.com/skyhook-io/radar/blob/HEAD/Timeline View
Timeline View — Track cluster activity in real-time

Helm

Manage Helm releases deployed in your cluster — inspect values and rendered manifests, diff revisions, see why an upgrade or hook failed, then upgrade, roll back, or uninstall. Radar tracks available chart upgrades from your configured repos or your own OCI registries. See Helm Support for the detailed behavior and limits.

https://github.com/skyhook-io/radar/blob/HEAD/Helm View
Helm View — Manage your Helm deployments

Compare Resources

Diff any two Kubernetes resources of the same kind side-by-side — like comparing a staging Deployment to its production sibling, or two pods that should be identical but aren't. Server-assigned noise (managedFields, resourceVersion, last-applied) is stripped, and diff-only and spec-only modes cut the rest. See Compare.

https://github.com/skyhook-io/radar/blob/HEAD/Compare View
Compare View — Side-by-side YAML diff with field-level highlighting

TLS Certificate Management

View TLS certificate details and expiry dates across all namespaces — catch expiring certificates before they cause outages.

GitOps

Monitor, diagnose, and manage FluxCD and ArgoCD resources in one place.

https://github.com/skyhook-io/radar/blob/HEAD/GitOps fleet view
GitOps fleet view — Argo + Flux applications side-by-side with sync, health, source, destination, and lifecycle state

See the GitOps guide for the full feature matrix, RBAC requirements, demo cluster, and single-cluster scope notes.

Traffic

Visualize live network traffic between services using Hubble, Caretta, Istio, or Beyla.

https://github.com/skyhook-io/radar/blob/HEAD/Traffic View
Traffic View — See how services communicate in real-time

See Traffic for source-specific requirements and large-cluster behavior.

Workload Metrics

Open a Deployment, StatefulSet or DaemonSet's Metrics tab to investigate request rate, HTTP errors, latency, CPU, memory and throttling. Radar reads an existing Prometheus-compatible backend; resource charts do not require HTTP instrumentation, and request charts use supported Beyla or Istio observations.

See Workload metrics for screenshots, prerequisites, supported configurations and local multi-cluster setup limitations.

Capacity (Karpenter)

Read-only diagnosis for Karpenter-managed fleets — why is my pod pending, which NodePool could take it, why aren't my nodes joining, what is disrupt

GitHub Stars & Activity

3,997Stars
265Forks
130Open issues
GoLanguage

GitHub Popularity

GitHub stars3,997
Forks265
Open issues130
Primary languageGo
LicenseApache-2.0
Stars gained today6
Created2026-01-20
Last pushed2026-10-31

Trending History

Daily boardrank #74 · ▲ 6 stars

Related AI Projects

1

JuliusBrussee / caveman

Go★ 116,501⑂ 6,751▲ 216 stars
→
2

multica-ai / multica

Go★ 54,451⑂ 7,168▲ 71 stars
→
3

alibaba / open-code-review

Go★ 49,174⑂ 3,600▲ 82 stars
→
4

Tencent / WeKnora

Go★ 36,116⑂ 4,909▲ 87 stars
→
5

paipiange / nvzhuang

Go★ 1,687⑂ 458
→
6

Mag1cFall / AIStudio2API

Go★ 607⑂ 147▲ 25 stars
→
7

obra / superpowers

Shell★ 309,942⑂ 27,571▲ 663 stars
→
8

mattpocock / skills

Shell★ 308,196⑂ 25,934▲ 882 stars
→

More AI Rankings