kubeview-mcp

Read-only MCP server for AI-powered Kubernetes debugging with support of code execution

KubeView MCP – Kubernetes Model Context Protocol Server

npm version License: MIT Node.js Version TypeScript

KubeView is a read-only Model Context Protocol (MCP) server that lets AI agents (Cursor, Claude Code, Codex CLI, Gemini CLI, etc.) safely inspect, diagnose, and debug Kubernetes clusters. It covers Kubernetes core, Helm, Argo Workflows, and Argo CD.

Read more: Evicting MCP tool calls from your Kubernetes cluster


✨ Features

  • 🧠 Code Mode – Sandboxed TypeScript runtime for complex reasoning and multi-step workflows.
  • 🛡️ Read-Only & Safe – Zero write access; sensitive data masking for production clusters.
  • ☸️ Kubernetes – List/get resources, fetch metrics, stream logs and events, exec into containers, diagnose network issues.
  • 📦 Helm (API-first) – Inspect releases, values, manifests, and history via the Kubernetes API with CLI fallback.
  • 🐙 Argo Ecosystem – Manage Argo Workflows and Argo CD via the Kubernetes API or CLI.

🚀 Quick Start

Prerequisites

  • Node.js ≥ 18
  • Access to a Kubernetes cluster
  • Optional CLIs in $PATH: helm (fallback only), argo, argocd

Installation

# Run the server directly
npx -y kubeview-mcp

# Add to Claude Code
claude mcp add kubernetes -- npx kubeview-mcp

MCP Client Configuration

Add to your mcpServers config (Cursor, Claude Desktop, etc.):

{
  "mcpServers": {
    "kubeview": {
      "command": "npx",
      "args": ["-y", "kubeview-mcp"]
    }
  }
}

Environment Variables

VariableDescriptionDefault
KUBECONFIGPath to kubeconfig file~/.kube/config
MCP_TRANSPORTTransport: stdio (default) or httpstdio
MCP_MODEServer mode: all, code, or toolsall
MCP_LOG_LEVELLog level: error, warn, info, debuginfo
MCP_HIDE_SENSITIVEMask sensitive data globallyfalse
MCP_HTTP_HOSTHTTP bind host when MCP_TRANSPORT=http127.0.0.1
MCP_HTTP_PORTHTTP port when MCP_TRANSPORT=http3000
MCP_HTTP_PATHStreamable HTTP endpoint path/mcp
MCP_HTTP_STATELESSDisable session IDs in HTTP modefalse
MCP_HTTP_JSON_RESPONSEPrefer JSON responses over SSEfalse
MCP_ALLOWED_HOSTSComma-separated Host allowlist for HTTP modelocal defaults
MCP_ALLOWED_ORIGINSComma-separated Origin allowlist for HTTP modeunset

Streamable HTTP Mode

KubeView can also run as a standalone Streamable HTTP server for hosted or manually managed deployments.

MCP_TRANSPORT=http \
MCP_HTTP_HOST=127.0.0.1 \
MCP_HTTP_PORT=3000 \
npx -y kubeview-mcp

This starts a Streamable HTTP endpoint at http://127.0.0.1:3000/mcp.

Notes:

  • stdio remains the default and is still the right choice for MCP client configs such as Claude Desktop, Cursor, and Codex CLI.
  • MCP_HTTP_STATELESS=true disables session IDs. That is useful for simple request/response patterns, but stateful features such as plan_step history are not meaningful in that mode.
  • If you bind HTTP mode to 0.0.0.0 or ::, you must set MCP_ALLOWED_HOSTS.
  • HTTP mode is intended for manual deployment. The published MCP registry metadata still targets stdio.

🛠️ Tools

Kubernetes

ToolDescription
kube_listList resources or get cluster diagnostics
kube_getDescribe a specific resource (all K8s types supported)
kube_metricsFetch CPU/memory metrics for nodes and pods
kube_logsFetch or stream container logs
kube_execExecute commands inside containers
kube_portPort-forward to pods or services
kube_netRun in-cluster network diagnostics

Helm

ToolDescription
helm_listList Helm releases (Kubernetes API first, CLI fallback)
helm_getFetch release values, manifests, notes, hooks, status, history

Helm execution strategy: Tools read Helm metadata directly from Kubernetes storage (Secrets / ConfigMaps) by default — no helm binary needed for standard read-only use. CLI fallback is used for non-JSON formatting or non-Kubernetes storage backends (e.g. SQL).

Argo

ToolDescription
argo_listList Argo Workflows
argo_getInspect a specific Argo Workflow
argocd_appInspect Argo CD applications

Utilities

ToolDescription
run_codeExecute sandboxed TypeScript for complex tasks
plan_stepPersist step-by-step planning state across long investigations

Why plan_step? It keeps the chat context clean by storing progress externally, gives agents a structured state machine (plan → execute → verify → branch), and encourages the think-then-act rhythm that produces better results on complex workflows.


🧠 Code Mode

Inspired by Code execution with MCP, KubeView ships a sandboxed code runtime for agents to explore the API and run complex workflows.

  • MCP Bridge – All registered MCP tools are callable from within run_code.
  • Dynamic TypeScript Definitions – Tool schemas are auto-converted to a typed global.d.ts, preventing hallucinated parameters.
  • Tool Discoverytools.search() and tools.list() let agents find capabilities at runtime without loading the full schema.
  • Sandboxed Execution – Locked-down Node.js vm environment with access only to console and the tools global.

Enable code-only mode:

"env": { "MCP_MODE": "code" }

Built-in code-mode Prompt

The server includes a code-mode MCP prompt that injects full TypeScript API docs and examples into the agent context. In Cursor, type /kubeview/code-mode in the prompt bar to activate it.


💻 Local Development

# Clone and install
git clone https://github.com/mikhae1/kubeview-mcp.git
cd kubeview-mcp
npm install

# Build and run
npm run build
npm start

# Test
npm test

# Run a tool directly via CLI
npm run command -- kube_list --namespace=default

📄 License

MIT © mikhae1

Похожие серверы

NotebookLM Web Importer

Импортируйте веб-страницы и видео YouTube в NotebookLM одним кликом. Более 200 000 пользователей доверяют нам.

Установить расширение Chrome