by skyhook-io
The missing open source Kubernetes UI. Topology, event timeline, and service traffic — plus resource browsing and Helm management.
# Add to your Claude Code skills
git clone https://github.com/skyhook-io/radarGuides for using mcp servers skills like radar.
Last scanned: 5/1/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-01T06:37:42.020Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}radar is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by skyhook-io. The missing open source Kubernetes UI. Topology, event timeline, and service traffic — plus resource browsing and Helm management. It has 2,403 GitHub stars.
Yes. radar passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/skyhook-io/radar" and add it to your Claude Code skills directory (see the Installation section above).
radar is primarily written in Go. It is open-source under skyhook-io on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh radar against similar tools.
No comments yet. Be the first to share your thoughts!
Modern Kubernetes visibility. Local-first. No account. No cloud dependency. Blazing Fast.
🌐 radarhq.io · Docs · Releases
Topology, event timeline, and service traffic — plus resource browsing, Helm management, and GitOps support for FluxCD and ArgoCD.
Visualize your cluster topology, browse resources, stream logs, exec into pods, inspect container image filesystems, manage Helm releases, monitor GitOps workflows (FluxCD & ArgoCD), and forward ports - all from a single binary with zero cluster-side installation.
Install and run in 30 seconds:
curl -fsSL https://get.radarhq.io | sh && kubectl radar
Quick Install:
curl -fsSL https://get.radarhq.io | sh
Homebrew:
brew install skyhook-io/tap/radar
Then run: kubectl radar (or simply radar)
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
Direct download — GitHub Releases for macOS, Linux, or Windows.
Native desktop app — no terminal needed.
Homebrew (macOS):
brew install --cask skyhook-io/tap/radar-desktop
Debian/Ubuntu:
sudo apt install ./radar-desktop_*.deb
Fedora/RHEL:
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.
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 ingress, authentication, and RBAC configuration.
# Opens browser automatically
kubectl radar
# Or simply
radar
CLI Flags
| Flag | Default | Description |
|---|---|---|
--kubeconfig |
~/.kube/config |
Path to kubeconfig file |
--kubeconfig-dir |
Comma-separated directories containing kubeconfig files | |
--namespace |
(all) | Initial namespace filter (supports multi-select in the UI; also used as RBAC fallback for namespace-scoped users) |
--port |
9280 |
Server port |
--no-browser |
false |
Don't auto-open browser |
--browser |
Browser to use when opening the UI, e.g. firefox, google-chrome, or Google Chrome on macOS |
|
--timeline-storage |
memory |
Timeline storage backend: memory or sqlite |
--timeline-db |
~/.radar/timeline.db |
Path to SQLite database (when using sqlite storage) |
--timeline-max-size |
1Gi |
Maximum SQLite DB + WAL size before pruning oldest events (e.g. 800Mi, 8Gi; 0 disables) |
--history-limit |
10000 |
Maximum events to retain in timeline |
--disable-exec |
false |
Disable terminal and debug shell |
--disable-helm-write |
false |
Disable Helm write operations |
--disable-local-terminal |
false |
Disable local terminal feature |
--debug-image |
busybox:latest |
Image for ephemeral debug containers and node debug pods. Point at a mirror for air-gapped / private-registry clusters. |
--list-page-size |
0 (off) |
Paginate the initial LIST of high-cardinality kinds (Pods, ReplicaSets) at this size. Helps very large clusters that fail to sync; only used when WatchList streaming is unavailable. Try 2000. |
--context-switch-timeout |
30s |
Maximum time a kubeconfig context switch may take. Widen on high-latency control planes — see Tuning for slow clusters. Env: RADAR_CONTEXT_SWITCH_TIMEOUT. |
--first-paint-backstop |
5m |
Hard upper bound on the initial critical-cache sync wait before Radar falls through to a partial-data render. Env: RADAR_FIRST_PAINT_BACKSTOP. |
--namespace-list-timeout |
5s |
Timeout for the cluster-wide namespace LIST used to decide if the user is RBAC-namespace-restricted. A timeout on a slow control plane is misreported in the UI as "Limited list — RBAC". Env: RADAR_NAMESPACE_LIST_TIMEOUT. |
--max-scope-candidates |
20 |
Cap on the namespace-fallback probe fanout (used by accounts that can list namespaces cluster-wide but not list a specific kind cluster-wide). Raise above 20 for clusters with more than 20 namespaces. Env: RADAR_MAX_SCOPE_CANDIDATES. |
--prometheus-url |
(auto-discover) | Manual Prometheus/VictoriaMetrics URL (skips auto-discovery) |
--prometheus-header |
HTTP header sent with every Prometheus request, format Key=Value (repeatable). Required for auth-protected backends. |
|
--prometheus-header-from-env |
HTTP header sent with every Prometheus request, sourced from an environment variable, format Key=ENV_VAR (repeatable). |
|
--auth-mode |
none |
Authentication mode: none, proxy, or oidc (details) |
--no-mcp |
false |
Disable MCP server for AI tool integration |
--mcp-catalog-stdio |
false |
Start only the MCP catalog over stdio for registry introspection |
--version |
Show version and exit |
See Configuration Guide for details on cluster connection precedence, multiple kubeconfig files, and context switching.
The default deadlines (30 s context switch, 5 m first-paint backstop, 5 s namespace LIST, 20 scope candidates) are tuned for healthy clusters reached over fast, low-latency connections. They are too tight for clusters reached over SSH tunnels, geographically distant control planes, or accounts subject to API-server throttling, where they surface as one of three symptoms:
Widen the four flags via CLI or via the matching environment variables
(RADAR_CONTEXT_SWITCH_TIMEOUT, RADAR_FIRST_PAINT_BACKSTOP,
RADAR_NAMESPACE_LIST_TIMEOUT, RADAR_MAX_SCOPE_CANDIDATES) — env vars
keep secrets out of ps and let in-cluster deployments source the values
from a ConfigMap:
# CLI
kubectl radar \
--context-switch-timeout=120s \
--first-paint-backstop=10m \
--namespace-list-timeout=30s \
--max-scope-candidates=200
# Environment (e.g. in a Deployment manifest)
RADAR_CONTEXT_SWITCH_TIMEOUT=120s \
RADAR_FIRST_PAINT_BACKSTOP=10m \
RADAR_NAMESPACE_LIST_TIMEOUT=30s \
RADAR_MAX_SCOPE_CANDIDATES=200 \
kubectl radar
Defaults are preserved when neither the flag nor the env var is set, so existing deployments are unaffected.
Interactive graph showing how your Kubernetes resources are connected in real-time.
Table-based resource browser with smart columns per resource kind.