# manusa/Kubernetes MCP Server [Health: Active]

**Category:** ☁️ Cloud Platforms  
**Repository:** https://github.com/manusa/kubernetes-mcp-server  
**GitHub Stars:** 2070  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/manusa-kubernetes-mcp-server

## Description
A - powerful Kubernetes MCP server with additional support for OpenShift. Besides providing CRUD operations for any Kubernetes resource, this server provides specialized tools to interact with your cluster.

## Tools
Capabilities this server exposes over MCP:

- **configuration_contexts_list** — List all available context names and associated server urls from the kubeconfig file
- **targets_list** — List all available targets
- **configuration_view** — Get the current Kubernetes configuration content as a kubeconfig YAML
- **events_list** — List Kubernetes events (warnings, errors, state changes) for debugging and troubleshooting in the current cluster from all namespaces
- **namespaces_list** — List all the Kubernetes namespaces in the current cluster
- **projects_list** — List all the OpenShift projects in the current cluster
- **nodes_log** — Get logs from a Kubernetes node (kubelet, kube-proxy, or other system logs). This accesses node logs through the Kubernetes API proxy to the kubelet
- **nodes_stats_summary** — Get detailed resource usage statistics from a Kubernetes node via the kubelet's Summary API. Provides comprehensive metrics including CPU, memory, filesystem, and network usage at the node, pod, and container levels. On systems with cgroup v2 and kernel 4.20+, also includes PSI (Pressure Stall Info…
- **nodes_top** — List the resource consumption (CPU and memory) as recorded by the Kubernetes Metrics Server for the specified Kubernetes Nodes or all nodes in the cluster
- **pods_list** — List all the Kubernetes pods in the current cluster from all namespaces
- **pods_list_in_namespace** — List all the Kubernetes pods in the specified namespace in the current cluster
- **pods_get** — Get a Kubernetes Pod in the current or provided namespace with the provided name
- **pods_delete** — Delete a Kubernetes Pod in the current or provided namespace with the provided name
- **pods_top** — List the resource consumption (CPU and memory) as recorded by the Kubernetes Metrics Server for the specified Kubernetes Pods in the all namespaces, the provided namespace, or the current namespace
- **pods_exec** — Execute a command in a Kubernetes Pod (shell access, run commands in container) in the current or provided namespace with the provided name and command
- **pods_log** — Get the logs of a Kubernetes Pod in the current or provided namespace with the provided name
- **pods_run** — Run a Kubernetes Pod in the current or provided namespace with the provided container image and optional name
- **resources_list** — List Kubernetes resources and objects in the current cluster by providing their apiVersion and kind and optionally the namespace and label selector
- **resources_get** — Get a Kubernetes resource in the current cluster by providing its apiVersion, kind, optionally the namespace, and its name
- **resources_create_or_update** — Create or update a Kubernetes resource via Server-Side Apply. The manifest is the complete desired state: any field this tool previously set and the new manifest omits is removed. To edit an existing resource, fetch it with resources_get, modify it, then re-apply the full resource.
- **resources_delete** — Delete a Kubernetes resource in the current cluster by providing its apiVersion, kind, optionally the namespace, and its name
- **resources_scale** — Get or update the scale of a Kubernetes resource in the current cluster by providing its apiVersion, kind, name, and optionally the namespace. If the scale is set in the tool call, the scale will be updated to that value. Always returns the current scale of the resource
- **helm_install** — Install (deploy) a Helm chart to create a release in the current or provided namespace
- **helm_list** — List all the Helm releases in the current or provided namespace (or in all namespaces if specified)
- **helm_uninstall** — Uninstall a Helm release in the current or provided namespace
- **kcp_workspaces_list** — List all available kcp workspaces in the current cluster
- **kcp_workspace_describe** — Get detailed information about a specific kcp workspace
- **kiali_get_mesh_traffic_graph** — Returns service-to-service traffic topology, dependencies, and network metrics (throughput, response time, mTLS) for the specified namespaces. Use this to diagnose routing issues, latency, or find upstream/downstream dependencies.
- **kiali_get_mesh_status** — Retrieves the high-level health, topology, and environment details of the Istio service mesh. Returns multi-cluster control plane status (istiod), data plane namespace health (including ambient mesh status), observability stack health (Prometheus, Grafana...), and component connectivity. Use this t…
- **kiali_manage_istio_config_read** — Read Istio, Gateway API, and Inference API config. 'list' groups by namespace→'group/version/kind'→{valid:[...],invalid:[...]} where valid/invalid arrays contain resource names; omit group/kind to retrieve ALL config types in a single call. Supports Istio (networking.istio.io, security.istio.io), G…
- **kiali_manage_istio_config** — Create, patch, or delete Istio, Gateway API, and Inference API config. Supports Istio resources (networking.istio.io, security.istio.io), Gateway API resources (gateway.networking.k8s.io), and Inference API resources (inference.networking.k8s.io) when installed on the cluster. For list and get (rea…
- **kiali_list_mesh_clusters** — Returns the list of Istio mesh clusters that Kiali can access. Each entry includes its name and whether it is the home cluster (where Kiali is deployed). Call this tool before using meshCluster on other Kiali tools when the target cluster is unknown.
- **kiali_get_resource_details** — Fetches a list of resources OR retrieves detailed data for a specific resource. If 'resourceName' is omitted, it returns a list. If 'resourceName' is provided, it returns details for that specific resource.
- **kiali_list_traces** — Lists distributed traces for a service in a namespace. Returns a summary (namespace, service, total_found, avg_duration_ms) and a list of traces with id, duration_ms, spans_count, root_op, slowest_service, has_errors. Use get_trace_details with a trace id to get full hierarchy.
- **kiali_get_trace_details** — Fetches a single distributed trace by trace_id and returns its call hierarchy (service tree with duration, status, and nested calls). Use this after list_traces to drill into a specific trace.
- **kiali_get_pod_performance** — Returns a human-readable text summary with current Pod CPU/memory usage (from Prometheus) compared to Kubernetes requests/limits (from the Pod spec). Useful to answer questions like 'Is this workload using too much memory?'
- **kiali_get_logs** — Get the logs of a Kubernetes Pod (or workload name that will be resolved to a pod) in a namespace. Output is plain text, matching kubernetes-mcp-server pods_log. The line_count field tells you the total number of log lines returned. Analyze ALL of them, but summarize the results unless the user exp…
- **kiali_get_metrics** — Returns a compact JSON summary of Istio metrics (latency quantiles, traffic trends, throughput, payload sizes) for the given resource.
- **vm_clone** — Clone a VirtualMachine on KubeVirt by creating a VirtualMachineClone resource. This creates a copy of the source VM with a new name using the KubeVirt Clone API
- **vm_create** — Create a VirtualMachine on KubeVirt with the specified configuration, automatically resolving instance types, preferences, and container disk images. VM will be created in Halted state by default; use autostart parameter to start it immediately.
- **vm_guest_info** — Get guest operating system information from a VirtualMachine's QEMU guest agent. Requires the guest agent to be installed and running inside the VM. Provides detailed information about the OS, filesystems, network interfaces, and logged-in users.
- **vm_lifecycle** — Manage KubeVirt VirtualMachine lifecycle: start, stop, restart, pause, or unpause a VM
- **vm_create_from_template** — Create a VirtualMachine from a VirtualMachineTemplate (virt-template) on KubeVirt. Processes the template server-side to substitute parameters (required values, defaults, and auto-generated values like passwords), then creates the resulting VirtualMachine in the same namespace. Cross-namespace temp…
- **vm_troubleshoot** — Diagnose KubeVirt VirtualMachine issues with automated root-cause detection. Collects VM status, VMI status, volumes, DataVolume/PVC state, cloud-init configuration, pod state, logs, and events, then runs heuristic checks to identify specific problems and suggest fixes. Returns a 'Detected Issues'…
- **netobserv_list_flows** — Lists NetObserv network flow records from Loki. Use when investigating traffic between workloads, IPs, ports, or protocols in a namespace or time window.
- **netobserv_get_flow_metrics** — Returns aggregated NetObserv flow metrics as topology or time-series data. Use for throughput, TLS/DNS/drop breakdowns, and namespace or workload traffic analysis; see aggregateBy and groups for grouping options.
- **netobserv_export_flows** — Exports NetObserv flow records as CSV with the same filters as list_flows. Use when the user needs downloadable flow data for audits or offline analysis.
- **tekton_pipeline_start** — Start a Tekton Pipeline by creating a PipelineRun that references it
- **tekton_pipelinerun_lifecycle** — Manage a Tekton PipelineRun lifecycle by restarting it with the same spec or cancelling it by setting spec.status to Cancelled.
- **tekton_pipelinerun_logs** — Get logs for all TaskRuns owned by a Tekton PipelineRun. Use this to inspect PipelineRun execution output without locating pods manually.
- **tekton_task_start** — Start a Tekton Task by creating a TaskRun that references it
- **tekton_taskrun_restart** — Restart a Tekton TaskRun by creating a new TaskRun with the same spec
- **tekton_taskrun_logs** — Get the logs from a Tekton TaskRun by resolving its underlying pod

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "kubernetes-mcp-server": {
    "command": "npx",
    "args": ["-y","If"]
  }
}
```

## Documentation

## What manusa/Kubernetes MCP Server MCP server does

The manusa/Kubernetes MCP Server MCP server gives MCP clients access to Kubernetes and OpenShift clusters. It supports generic operations across Kubernetes resources, so an agent can list, retrieve, create or update, delete, and scale objects by API version, kind, namespace, name, or label selector. Create and update operations use Server-Side Apply and require the complete desired manifest; fields omitted from a newly applied manifest can be removed.

Specialized tools cover common operational tasks. Agents can inspect namespaces, OpenShift projects, cluster events, pods, node logs, node statistics, and Metrics Server usage. Pod tools support listing, retrieval, deletion, logs, command execution, resource metrics, and running a container image. Helm tools install, list, and uninstall releases. The provided tool set also includes kubeconfig inspection, kcp workspace access, and selected Kiali and Istio service-mesh operations.

The repository documentation additionally describes Tekton operations for starting pipelines and tasks, restarting or canceling runs, troubleshooting, and retrieving run logs.

## How it works

The manusa/Kubernetes MCP Server MCP server is implemented in Go and communicates directly with the Kubernetes API server. It is not a wrapper around kubectl or helm, so those command-line tools do not need to be installed. Native binaries are available for Linux, macOS, and Windows, and the project also provides npm, Python, and container distribution options.

Cluster access comes from the local Kubernetes configuration or an in-cluster configuration. The server can detect configuration changes and supports multiple clusters defined in kubeconfig files. Operations are therefore governed by the identity and permissions available to that Kubernetes configuration, including permissions for potentially mutating actions such as deletion, execution, scaling, resource application, and Helm installation.

## Setup and configuration

The manusa/Kubernetes MCP Server MCP server requires access to a Kubernetes cluster. For an npm-based local setup, configure an MCP client to run `npx -y kubernetes-mcp-server@latest`. The README gives this setup for Claude Desktop and Cursor, and also documents VS Code and Goose configuration.

Configuration can be supplied through command-line arguments, TOML configuration files, and environment variables. The material provided here does not enumerate the individual configuration keys. The server can expose configuration information as kubeconfig YAML and can list available context names and their associated server URLs.

## Tools and capabilities

- List contexts, targets, namespaces, OpenShift projects, pods, nodes, events, and Helm releases.
- Read, apply, delete, and scale arbitrary Kubernetes or OpenShift resources.
- Retrieve pod and node logs, execute commands in pods, and run container images.
- Inspect CPU and memory usage through node and pod metrics, when the relevant metrics services are available.
- Install and remove Helm releases.
- Inspect kcp workspaces and selected Istio or Kiali mesh information.

## Limitations and notes

The server needs a reachable Kubernetes cluster and suitable permissions. Metrics-related results depend on the Kubernetes Metrics Server, while node statistics and node logs use kubelet-accessible APIs. Pod execution and resource mutation should be treated as privileged operations and restricted through Kubernetes RBAC.

Some capabilities are platform-specific: OpenShift project operations require OpenShift, and service-mesh or kcp tools require the corresponding systems and resources. The supplied material does not establish support for every MCP client; it specifically documents Claude Desktop, Cursor, and VS Code setup paths.

_Full upstream README: https://allmcps.com/mcp/manusa-kubernetes-mcp-server/readme_

