LabscoMCP early access ↗
mikhae1MCP SERVER

KubeView Kubernetes Debugging

Inspect a Kubernetes cluster the way you would debug it — resources, node and pod metrics with detected problems, merged multi-pod logs, in-container commands and network probes — with Helm releases, Argo Workflows and Argo CD on the same connection.

by mikhae1 ↗Containers, Kubernetes & Cluster OperationsCommunity

LABSCO SUMMARY

The dangerous capability is the one thing the sandbox cannot reach.

Code inside the runtime sees only a console and the typed tools object — no filesystem, no network, no process — and the ability to run a command in a container is never exposed to it at all; at the top level that call asks the user each time, is bound to the exact arguments, and fails closed. The design bet everywhere else is on how much arrives per call: metrics come back with detected problems already flagged, a log tail merges Kubernetes events in, and the Helm debug view reconciles the stored release against live state instead of leaving you to compare them.

What it is

A diagnostics surface for a Kubernetes cluster and the tooling layered on it. By default the agent gets a sandboxed TypeScript runtime and discovers the cluster operations inside it, so a multi-step investigation runs in one pass instead of a dozen round trips; setting the mode to tools exposes the operations as ordinary MCP tools instead.

What you get

  • run_code executes bounded TypeScript with top-level await against a typed tools global, so one call can list workloads, correlate events, fetch logs and diff Helm state without shipping the intermediate payloads back through the model.
  • Resource reads: kube_list covers pods, services, deployments, nodes, RBAC objects, replicasets, statefulsets, daemonsets, jobs, cronjobs, hpa, pdb, endpoints, quotas and more, narrowed by label and field selectors; kube_get reads any resource including CRDs, close to kubectl describe, with events and diagnostics attached.
  • Node and pod metrics, events and network probes are read through the Kubernetes API, reached from inside run_code rather than as tools of their own.
  • Container logs through kube_logs — a tool of its own when MCP_MODE is tools, and called from run_code otherwise, where one pass can pull the last hundred lines of every unhealthy pod.
  • Port-forwarding (kube_port_forward) is never a top-level tool and is denied inside run_code by default; MCP_CODE_MODE_DISABLED_TOOLS is the setting that allows it.
  • Helm state without a shell: releases are parsed from cluster Secrets or ConfigMaps, and the helm tool's list, get and debug operations work whether or not a helm binary is installed.
  • Argo Workflows and Argo CD are detected from the Kubernetes API and appear only when they are there: argo takes list, get, logs and cron_list, and argocd takes list, get, resources, logs, history and status.
  • Executing a command inside a container is kept apart from everything else — unreachable from sandboxed code, and at the top level it needs per-call approval bound to the arguments, expiring after 10 minutes.

Requirements

Node.js 22 or newer and access to a cluster — a kubeconfig, or an in-cluster service account. Resources, metrics, logs, events and network probes go through the Kubernetes API directly, so kubectl is not needed. Over HTTP there are two more: the server refuses to start without a signing secret of at least 32 bytes and a writable directory for one-time approvals, shared by every replica.

Setup effort

One command — npx -y kubeview-mcp