freshcrate
Skin:/
Home > MCP Servers > kubernetes-mcp-server

kubernetes-mcp-server

Model Context Protocol (MCP) server for Kubernetes and OpenShift

Why this rank:Strong adoptionRelease freshnessHealthy release cadence

Description

Model Context Protocol (MCP) server for Kubernetes and OpenShift

README

Kubernetes MCP Server

GitHub License npm PyPI - Version GitHub release (latest SemVer) Build

โœจ Features | ๐Ÿš€ Getting Started | ๐ŸŽฅ Demos | โš™๏ธ Configuration | ๐Ÿ› ๏ธ Tools | ๐Ÿ’ฌ Community | ๐Ÿง‘โ€๐Ÿ’ป Development

kubernetes-mcp-server.mp4

โœจ Features

A powerful and flexible Kubernetes Model Context Protocol (MCP) server implementation with support for Kubernetes and OpenShift.

  • โœ… Configuration:
    • Automatically detect changes in the Kubernetes configuration and update the MCP server.
    • View and manage the current Kubernetes .kube/config or in-cluster configuration.
  • โœ… Generic Kubernetes Resources: Perform operations on any Kubernetes or OpenShift resource.
    • Any CRUD operation (Create or Update, Get, List, Delete).
  • โœ… Pods: Perform Pod-specific operations.
    • List pods in all namespaces or in a specific namespace.
    • Get a pod by name from the specified namespace.
    • Delete a pod by name from the specified namespace.
    • Show logs for a pod by name from the specified namespace.
    • Top gets resource usage metrics for all pods or a specific pod in the specified namespace.
    • Exec into a pod and run a command.
    • Run a container image in a pod and optionally expose it.
  • โœ… Namespaces: List Kubernetes Namespaces.
  • โœ… Events: View Kubernetes events in all namespaces or in a specific namespace.
  • โœ… Projects: List OpenShift Projects.
  • โ˜ธ๏ธ Helm:
    • Install a Helm chart in the current or provided namespace.
    • List Helm releases in all namespaces or in a specific namespace.
    • Uninstall a Helm release in the current or provided namespace.
  • ๐Ÿ”ง Tekton: Tekton-specific operations that complement generic Kubernetes resource management.
    • Pipeline: Start a Tekton Pipeline by creating a PipelineRun.
    • PipelineRun: Restart a PipelineRun with the same spec.
    • Task: Start a Tekton Task by creating a TaskRun.
    • TaskRun: Restart a TaskRun with the same spec, and retrieve TaskRun logs via pod resolution.
  • ๐Ÿ”ญ Observability: Optional OpenTelemetry distributed tracing and metrics with custom sampling rates. Includes /stats endpoint for real-time statistics. See OTEL.md.

Unlike other Kubernetes MCP server implementations, this IS NOT just a wrapper around kubectl or helm command-line tools. It is a Go-based native implementation that interacts directly with the Kubernetes API server.

There is NO NEED for external dependencies or tools to be installed on the system. If you're using the native binaries you don't need to have Node or Python installed on your system.

  • โœ… Lightweight: The server is distributed as a single native binary for Linux, macOS, and Windows.
  • โœ… High-Performance / Low-Latency: Directly interacts with the Kubernetes API server without the overhead of calling and waiting for external commands.
  • โœ… Multi-Cluster: Can interact with multiple Kubernetes clusters simultaneously (as defined in your kubeconfig files).
  • โœ… Cross-Platform: Available as a native binary for Linux, macOS, and Windows, as well as an npm package, a Python package, and container/Docker image.
  • โœ… Configurable: Supports command-line arguments, TOML configuration files, and environment variables.
  • โœ… Well tested: The server has an extensive test suite to ensure its reliability and correctness across different Kubernetes environments.
  • ๐Ÿ“š Documentation: Comprehensive user documentation including setup guides, configuration reference, and observability.

๐Ÿš€ Getting Started

Requirements

  • Access to a Kubernetes cluster.
Claude Code

Follow the dedicated Claude Code getting started guide in our user documentation.

For a secure production setup with dedicated ServiceAccount and read-only access, also review the Kubernetes setup guide.

Claude Desktop

Using npx

If you have npm installed, this is the fastest way to get started with kubernetes-mcp-server on Claude Desktop.

Open your claude_desktop_config.json and add the mcp server to the list of mcpServers:

{
  "mcpServers": {
    "kubernetes": {
      "command": "npx",
      "args": [
        "-y",
        "kubernetes-mcp-server@latest"
      ]
    }
  }
}

VS Code / VS Code Insiders

Install the Kubernetes MCP server extension in VS Code Insiders by pressing the following link:

Install in VS CodeInstall in VS Code InsidersAlternatively, you can install the extension manually by running the following command:

# For VS Code
code --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}'
# For VS Code Insiders
code-insiders --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}'

Install the Kubernetes MCP server extension in Cursor by pressing the following link:

Install MCP Server

Alternatively, you can install the extension manually by editing the mcp.json file:

{
  "mcpServers": {
    "kubernetes-mcp-server": {
      "command": "npx",
      "args": ["-y", "kubernetes-mcp-server@latest"]
    }
  }
}

Goose CLI

Goose CLI is the easiest (and cheapest) way to get rolling with artificial intelligence (AI) agents.

Using npm

If you have npm installed, this is the fastest way to get started with kubernetes-mcp-server.

Open your goose config.yaml and add the mcp server to the list of mcpServers:

extensions:
  kubernetes:
    command: npx
    args:
      - -y
      - kubernetes-mcp-server@latest

๐ŸŽฅ Demos

Diagnosing and automatically fixing an OpenShift Deployment

Demo showcasing how Kubernetes MCP server is leveraged by Claude Desktop to automatically diagnose and fix a deployment in OpenShift without any user assistance.

kubernetes-mcp-server-fix-openshift-deployment.mp4

Vibe Coding a simple game and deploying it to OpenShift

In this demo, I walk you through the process of Vibe Coding a simple game using VS Code and how to leverage Podman MCP server and Kubernetes MCP server to deploy it to OpenShift.

Vibe Coding: Build & Deploy a Game on Kubernetes

Supercharge GitHub Copilot with Kubernetes MCP Server in VS Code - One-Click Setup!

In this demo, I'll show you how to set up Kubernetes MCP server in VS code just by clicking a link.

Supercharge GitHub Copilot with Kubernetes MCP Server in VS Code - One-Click Setup!

โš™๏ธ Configuration

The Kubernetes MCP server can be configured using command line (CLI) arguments.

You can run the CLI executable either by using npx, uvx, or by downloading the latest release binary.

# Run the Kubernetes MCP server using npx (in case you have npm and node installed)
npx kubernetes-mcp-server@latest --help
# Run the Kubernetes MCP server using uvx (in case you have uv and python installed)
uvx kubernetes-mcp-server@latest --help
# Run the Kubernetes MCP server using the latest release binary
./kubernetes-mcp-server --help

Configuration Options

Option Description
--port Starts the MCP server in Streamable HTTP mode (path /mcp) and Server-Sent Event (SSE) (path /sse) mode and listens on the specified port .
--log-level Sets the logging level (values from 0-9). Similar to kubectl logging levels.
--config (Optional) Path to the main TOML configuration file. See Configuration Reference for details.
--config-dir (Optional) Path to drop-in configuration directory. Files are loaded in lexical (alphabetical) order. Defaults to conf.d relative to the main config file if --config is specified. See Configuration Reference for details.
--kubeconfig Path to the Kubernetes configuration file. If not provided, it will try to resolve the configuration (in-cluster, default location, etc.).
--list-output Output format for resource list operations (one of: yaml, table) (default "table")
--read-only If set, the MCP server will run in read-only mode, meaning it will not allow any write operations (create, update, delete) on the Kubernetes cluster. This is useful for debugging or inspecting the cluster without making changes.
--disable-destructive If set, the MCP server will disable all destructive operations (delete, update, etc.) on the Kubernetes cluster. This is useful for debugging or inspecting the cluster without accidentally making changes. This option has no effect when --read-only is used.
--stateless If set, the MCP server will run in stateless mode, disabling tool and prompt change notifications. This is useful for container deployments, load balancing, and serverless environments where maintaining client state is not desired.
--toolsets Comma-separated list of toolsets to enable. Check the ๐Ÿ› ๏ธ Tools and Functionalities section for more information.
--disable-multi-cluster If set, the MCP server will disable multi-cluster support and will only use the current context from the kubeconfig file. This is useful if you want to restrict the MCP server to a single cluster.
--cluster-provider Cluster provider strategy to use (one of: kubeconfig, in-cluster, kcp, disabled). If not set, the server will auto-detect based on the environment.

Note: Most CLI options have equivalent TOML configuration fields. The --disable-multi-cluster flag is equivalent to setting cluster_provider_strategy = "disabled" in TOML. See the Configuration Reference for all TOML options.

TOML Configuration Files

For complex or persistent configurations, use TOML configuration files instead of CLI arguments:

kubernetes-mcp-server --config /etc/kubernetes-mcp-server/config.toml

Example configuration:

log_level = 2
read_only = true
toolsets = ["core", "config", "helm", "kubevirt"]

# Deny access to sensitive resources
[[denied_resources]]
group = ""
version = "v1"
kind = "Secret"

[telemetry]
endpoint = "http://localhost:4317"

For comprehensive TOML configuration documentation, including:

  • All configuration options and their defaults
  • Drop-in configuration files for modular settings
  • Dynamic configuration reload via SIGHUP
  • Denied resources for restricting access to sensitive resource types
  • Server instructions for MCP Tool Search
  • Custom MCP prompts
  • OAuth/OIDC authentication for HTTP mode (Keycloak, Microsoft Entra ID)

See the Configuration Reference.

๐Ÿ“Š MCP Logging

The server supports the MCP logging capability, allowing clients to receive debugging information via structured log messages. Kubernetes API errors are automatically categorized and logged to clients with appropriate severity levels. Sensitive data (tokens, keys, passwords, cloud credentials) is automatically redacted before being sent to clients.

See the MCP Logging Guide.

๐Ÿ› ๏ธ Tools and Functionalities

The Kubernetes MCP server supports enabling or disabling specific groups of tools and functionalities (tools, resources, prompts, and so on) via the --toolsets command-line flag or toolsets configuration option. This allows you to control which Kubernetes functionalities are available to your AI tools. Enabling only the toolsets you need can help reduce the context size and improve the LLM's tool selection accuracy.

Available Toolsets

The following sets of tools are available (toolsets marked with โœ“ in the Default column are enabled by default):

Toolset Description Default
config View and manage the current local Kubernetes configuration (kubeconfig) โœ“
core Most common tools for Kubernetes management (Pods, Generic Resources, Events, etc.) โœ“
helm Tools for managing Helm charts and releases
kcp Manage kcp workspaces and multi-tenancy features
kiali Most common tools for managing Kiali, check the Kiali documentation for more details.
kubevirt KubeVirt virtual machine management tools, check the KubeVirt documentation for more details.
tekton Tekton pipeline management tools for Pipelines, PipelineRuns, Tasks, and TaskRuns.

Tools

In case multi-cluster support is enabled (default) and you have access to multiple clusters, all applicable tools will include an additional context argument to specify the Kubernetes context (cluster) to use for that operation.

config
  • 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

    • minified (boolean) - Return a minified version of the configuration. If set to true, keeps only the current-context and the relevant pieces of the configuration for that context. If set to false, all contexts, clusters, auth-infos, and users are returned in the configuration. (Optional, default true)
core
  • events_list - List Kubernetes events (warnings, errors, state changes) for debugging and troubleshooting in the current cluster from all namespaces

    • namespace (string) - Optional Namespace to retrieve the events from. If not provided, will list events 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

    • name (string) (required) - Name of the node to get logs from
    • query (string) (required) - query specifies services(s) or files from which to return logs (required). Example: "kubelet" to fetch kubelet logs, "/" to fetch a specific log file from the node (e.g., "/var/log/kubelet.log" or "/var/log/kube-proxy.log")
    • tailLines (integer) - Number of lines to retrieve from the end of the logs (Optional, 0 means all logs)
  • 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 Information) metrics that show resource pressure for CPU, memory, and I/O. See https://kubernetes.io/docs/reference/instrumentation/understand-psi-metrics/ for details on PSI metrics

    • name (string) (required) - Name of the node to get stats from
  • 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

    • label_selector (string) - Kubernetes label selector (e.g. 'node-role.kubernetes.io/worker=') to filter nodes by label (Optional, only applicable when name is not provided)
    • name (string) - Name of the Node to get the resource consumption from (Optional, all Nodes if not provided)
  • pods_list - List all the Kubernetes pods in the current cluster from all namespaces

    • fieldSelector (string) - Optional Kubernetes field selector to filter pods by field values (e.g. 'status.phase=Running', 'spec.nodeName=node1'). Supported fields: metadata.name, metadata.namespace, spec.nodeName, spec.restartPolicy, spec.schedulerName, spec.serviceAccountName, status.phase (Pending/Running/Succeeded/Failed/Unknown), status.podIP, status.nominatedNodeName. Note: CrashLoopBackOff is a container state, not a pod phase, so it cannot be filtered directly. See https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors/
    • labelSelector (string) - Optional Kubernetes label selector (e.g. 'app=myapp,env=prod' or 'app in (myapp,yourapp)'), use this option when you want to filter the pods by label
  • pods_list_in_namespace - List all the Kubernetes pods in the specified namespace in the current cluster

    • fieldSelector (string) - Optional Kubernetes field selector to filter pods by field values (e.g. 'status.phase=Running', 'spec.nodeName=node1'). Supported fields: metadata.name, metadata.namespace, spec.nodeName, spec.restartPolicy, spec.schedulerName, spec.serviceAccountName, status.phase (Pending/Running/Succeeded/Failed/Unknown), status.podIP, status.nominatedNodeName. Note: CrashLoopBackOff is a container state, not a pod phase, so it cannot be filtered directly. See https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors/
    • labelSelector (string) - Optional Kubernetes label selector (e.g. 'app=myapp,env=prod' or 'app in (myapp,yourapp)'), use this option when you want to filter the pods by label
    • namespace (string) (required) - Namespace to list pods from
  • pods_get - Get a Kubernetes Pod in the current or provided namespace with the provided name

    • name (string) (required) - Name of the Pod
    • namespace (string) - Namespace to get the Pod from
  • pods_delete - Delete a Kubernetes Pod in the current or provided namespace with the provided name

    • name (string) (required) - Name of the Pod to delete
    • namespace (string) - Namespace to delete the Pod from
  • 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

    • all_namespaces (boolean) - If true, list the resource consumption for all Pods in all namespaces. If false, list the resource consumption for Pods in the provided namespace or the current namespace
    • label_selector (string) - Kubernetes label selector (e.g. 'app=myapp,env=prod' or 'app in (myapp,yourapp)'), use this option when you want to filter the pods by label (Optional, only applicable when name is not provided)
    • name (string) - Name of the Pod to get the resource consumption from (Optional, all Pods in the namespace if not provided)
    • namespace (string) - Namespace to get the Pods resource consumption from (Optional, current namespace if not provided and all_namespaces is false)
  • 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

    • command (array) (required) - Command to execute in the Pod container. The first item is the command to be run, and the rest are the arguments to that command. Example: ["ls", "-l", "/tmp"]
    • container (string) - Name of the Pod container where the command will be executed (Optional)
    • name (string) (required) - Name of the Pod where the command will be executed
    • namespace (string) - Namespace of the Pod where the command will be executed
  • pods_log - Get the logs of a Kubernetes Pod in the current or provided namespace with the provided name

    • container (string) - Name of the Pod container to get the logs from (Optional)
    • name (string) (required) - Name of the Pod to get the logs from
    • namespace (string) - Namespace to get the Pod logs from
    • previous (boolean) - Return previous terminated container logs (Optional)
    • tail (integer) - Number of lines to retrieve from the end of the logs (Optional, default: 100)
  • pods_run - Run a Kubernetes Pod in the current or provided namespace with the provided container image and optional name

    • image (string) (required) - Container Image to run in the Pod
    • name (string) - Name of the Pod (Optional, random name if not provided)
    • namespace (string) - Namespace to run the Pod in
    • port (number) - TCP/IP port to expose from the Pod container (Optional, no port exposed if not provided)
  • resources_list - List Kubernetes resources and objects in the current cluster by providing their apiVersion and kind and optionally the namespace and label selector (common apiVersion and kind include: v1 Pod, v1 Service, v1 Node, apps/v1 Deployment, networking.k8s.io/v1 Ingress, route.openshift.io/v1 Route)

    • apiVersion (string) (required) - apiVersion of the resources (examples of valid apiVersion are: v1, apps/v1, networking.k8s.io/v1)
    • fieldSelector (string) - Optional Kubernetes field selector to filter resources by field values (e.g. 'status.phase=Running', 'metadata.name=myresource'). Supported fields vary by resource type. For Pods: metadata.name, metadata.namespace, spec.nodeName, spec.restartPolicy, spec.schedulerName, spec.serviceAccountName, status.phase (Pending/Running/Succeeded/Failed/Unknown), status.podIP, status.nominatedNodeName. See https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors/
    • kind (string) (required) - kind of the resources (examples of valid kind are: Pod, Service, Deployment, Ingress)
    • labelSelector (string) - Optional Kubernetes label selector (e.g. 'app=myapp,env=prod' or 'app in (myapp,yourapp)'), use this option when you want to filter the resources by label
    • namespace (string) - Optional Namespace to retrieve the namespaced resources from (ignored in case of cluster scoped resources). If not provided, will list resources from all namespaces
  • resources_get - Get a Kubernetes resource in the current cluster by providing its apiVersion, kind, optionally the namespace, and its name (common apiVersion and kind include: v1 Pod, v1 Service, v1 Node, apps/v1 Deployment, networking.k8s.io/v1 Ingress, route.openshift.io/v1 Route)

    • apiVersion (string) (required) - apiVersion of the resource (examples of valid apiVersion are: v1, apps/v1, networking.k8s.io/v1)
    • kind (string) (required) - kind of the resource (examples of valid kind are: Pod, Service, Deployment, Ingress)
    • name (string) (required) - Name of the resource
    • namespace (string) - Optional Namespace to retrieve the namespaced resource from (ignored in case of cluster scoped resources). If not provided, will get resource from configured namespace
  • resources_create_or_update - Create or update a Kubernetes resource in the current cluster by providing a YAML or JSON representation of the resource (common apiVersion and kind include: v1 Pod, v1 Service, v1 Node, apps/v1 Deployment, networking.k8s.io/v1 Ingress, route.openshift.io/v1 Route)

    • resource (string) (required) - A JSON or YAML containing a representation of the Kubernetes resource. Should include top-level fields such as apiVersion,kind,metadata, and spec
  • resources_delete - Delete a Kubernetes resource in the current cluster by providing its apiVersion, kind, optionally the namespace, and its name (common apiVersion and kind include: v1 Pod, v1 Service, v1 Node, apps/v1 Deployment, networking.k8s.io/v1 Ingress, route.openshift.io/v1 Route)

    • apiVersion (string) (required) - apiVersion of the resource (examples of valid apiVersion are: v1, apps/v1, networking.k8s.io/v1)
    • gracePeriodSeconds (integer) - Optional duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used
    • kind (string) (required) - kind of the resource (examples of valid kind are: Pod, Service, Deployment, Ingress)
    • name (string) (required) - Name of the resource
    • namespace (string) - Optional Namespace to delete the namespaced resource from (ignored in case of cluster scoped resources). If not provided, will delete resource from configured namespace
  • 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

    • apiVersion (string) (required) - apiVersion of the resource (examples of valid apiVersion are apps/v1)
    • kind (string) (required) - kind of the resource (examples of valid kind are: StatefulSet, Deployment)
    • name (string) (required) - Name of the resource
    • namespace (string) - Optional Namespace to get/update the namespaced resource scale from (ignored in case of cluster scoped resources). If not provided, will get/update resource scale from configured namespace
    • scale (integer) - Optional scale to update the resources scale to. If not provided, will return the current scale of the resource, and not update it
helm
  • helm_install - Install (deploy) a Helm chart to create a release in the current or provided namespace

    • chart (string) (required) - Chart reference to install (for example: stable/grafana, oci://ghcr.io/nginxinc/charts/nginx-ingress)
    • name (string) - Name of the Helm release (Optional, random name if not provided)
    • namespace (string) - Namespace to install the Helm chart in (Optional, current namespace if not provided)
    • values (object) - Values to pass to the Helm chart (Optional)
  • helm_list - List all the Helm releases in the current or provided namespace (or in all namespaces if specified)

    • all_namespaces (boolean) - If true, lists all Helm releases in all namespaces ignoring the namespace argument (Optional)
    • namespace (string) - Namespace to list Helm releases from (Optional, all namespaces if not provided)
  • helm_uninstall - Uninstall a Helm release in the current or provided namespace

    • name (string) (required) - Name of the Helm release to uninstall
    • namespace (string) - Namespace to uninstall the Helm release from (Optional, current namespace if not provided)
kcp
  • kcp_workspaces_list - List all available kcp workspaces in the current cluster

  • kcp_workspace_describe - Get detailed information about a specific kcp workspace

    • workspace (string) (required) - Name or path of the workspace to describe
kiali
  • kiali_mesh_graph - Returns the topology of a specific namespaces, health, status of the mesh and namespaces. Includes a mesh health summary overview with aggregated counts of healthy, degraded, and failing apps, workloads, and services. Use this for high-level overviews

    • graphType (string) - Optional type of graph to return: 'versionedApp', 'app', 'service', 'workload', 'mesh'
    • namespace (string) - Optional single namespace to include in the graph (alternative to namespaces)
    • namespaces (string) - Optional comma-separated list of namespaces to include in the graph
    • rateInterval (string) - Optional rate interval for fetching (e.g., '10m', '5m', '1h').
  • kiali_manage_istio_config_read - Lists or gets Istio configuration objects (Gateways, VirtualServices, etc.)

    • action (string) (required) - Action to perform: list or get
    • group (string) - API group of the Istio object (e.g., 'networking.istio.io', 'gateway.networking.k8s.io')
    • kind (string) - Kind of the Istio object (e.g., 'DestinationRule', 'VirtualService', 'HTTPRoute', 'Gateway')
    • name (string) - Name of the Istio object
    • namespace (string) - Namespace containing the Istio object
    • version (string) - API version of the Istio object (e.g., 'v1', 'v1beta1')
  • kiali_manage_istio_config - Creates, patches, or deletes Istio configuration objects (Gateways, VirtualServices, etc.)

    • action (string) (required) - Action to perform: create, patch, or delete
    • group (string) - API group of the Istio object (e.g., 'networking.istio.io', 'gateway.networking.k8s.io')
    • json_data (string) - JSON data to apply or create the object
    • kind (string) - Kind of the Istio object (e.g., 'DestinationRule', 'VirtualService', 'HTTPRoute', 'Gateway')
    • name (string) - Name of the Istio object
    • namespace (string) - Namespace containing the Istio object
    • version (string) - API version of the Istio object (e.g., 'v1', 'v1beta1')
  • kiali_get_resource_details - Gets lists or detailed info for Kubernetes resources (services, workloads) within the mesh

    • namespaces (string) - Comma-separated list of namespaces to get services from (e.g. 'bookinfo' or 'bookinfo,default'). If not provided, will list services from all accessible namespaces
    • resource_name (string) - Name of the resource to get details for (optional string - if provided, gets details; if empty, lists all).
    • resource_type (string) - Type of resource to get details for (service, workload)
  • kiali_get_metrics - Gets lists or detailed info for Kubernetes resources (services, workloads) within the mesh

    • byLabels (string) - Comma-separated list of labels to group metrics by (e.g., 'source_workload,destination_service'). Optional
    • direction (string) - Traffic direction: 'inbound' or 'outbound'. Optional, defaults to 'outbound'
    • namespace (string) (required) - Namespace to get resources from
    • quantiles (string) - Comma-separated list of quantiles for histogram metrics (e.g., '0.5,0.95,0.99'). Optional
    • rateInterval (string) - Rate interval for metrics (e.g., '1m', '5m'). Optional, defaults to '10m'
    • reporter (string) - Metrics reporter: 'source', 'destination', or 'both'. Optional, defaults to 'source'
    • requestProtocol (string) - Filter by request protocol (e.g., 'http', 'grpc', 'tcp'). Optional
    • resource_name (string) (required) - Name of the resource to get details for (optional string - if provided, gets details; if empty, lists all).
    • resource_type (string) (required) - Type of resource to get details for (service, workload)
    • step (string) - Step between data points in seconds (e.g., '15'). Optional, defaults to 15 seconds
  • kiali_workload_logs - Get logs for a specific workload's pods in a namespace. Only requires namespace and workload name - automatically discovers pods and containers. Optionally filter by container name, time range, and other parameters. Container is auto-detected if not specified.

    • container (string) - Optional container name to filter logs. If not provided, automatically detects and uses the main application container (excludes istio-proxy and istio-init)
    • namespace (string) (required) - Namespace containing the workload
    • since (string) - Time duration to fetch logs from (e.g., '5m', '1h', '30s'). If not provided, returns recent logs
    • tail (integer) - Number of lines to retrieve from the end of logs (default: 100)
    • workload (string) (required) - Name of the workload to get logs for
  • kiali_get_traces - Gets traces for a specific resource (app, service, workload) in a namespace, or gets detailed information for a specific trace by its ID. If traceId is provided, it returns detailed trace information and other parameters are not required.

    • clusterName (string) - Cluster name for multi-cluster environments (optional, only used when traceId is not provided)
    • endMicros (string) - End time for traces in microseconds since epoch (optional, defaults to 10 minutes after startMicros if not provided, only used when traceId is not provided)
    • limit (integer) - Maximum number of traces to return (default: 100, only used when traceId is not provided)
    • minDuration (integer) - Minimum trace duration in microseconds (optional, only used when traceId is not provided)
    • namespace (string) - Namespace to get resources from. Required if traceId is not provided.
    • resource_name (string) - Name of the resource to get traces for. Required if traceId is not provided.
    • resource_type (string) - Type of resource to get traces for (app, service, workload). Required if traceId is not provided.
    • startMicros (string) - Start time for traces in microseconds since epoch (optional, defaults to 10 minutes before current time if not provided, only used when traceId is not provided)
    • tags (string) - JSON string of tags to filter traces (optional, only used when traceId is not provided)
    • traceId (string) - Unique identifier of the trace to retrieve detailed information for. If provided, this will return detailed trace information and other parameters (resource_type, namespace, resource_name) are not required.
kubevirt
  • vm_clone - Clone a KubeVirt VirtualMachine by creating a VirtualMachineClone resource. This creates a copy of the source VM with a new name using the KubeVirt Clone API

    • name (string) (required) - The name of the source virtual machine to clone
    • namespace (string) (required) - The namespace of the source virtual machine
    • targetName (string) (required) - The name for the new cloned virtual machine
  • vm_create - Create a VirtualMachine in the cluster 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.

    • autostart (boolean) - Optional flag to automatically start the VM after creation (sets runStrategy to Always instead of Halted). Defaults to false.
    • instancetype (string) - Optional instance type name for the VM (e.g., 'u1.small', 'u1.medium', 'u1.large')
    • name (string) (required) - The name of the virtual machine
    • namespace (string) (required) - The namespace for the virtual machine
    • networks (array) - Optional secondary network interfaces to attach to the VM. Each item specifies a Multus NetworkAttachmentDefinition to attach. Accepts either simple strings (NetworkAttachmentDefinition names) or objects with 'name' (interface name in VM) and 'networkName' (NetworkAttachmentDefinition name) properties. Each network creates a bridge interface on the VM.
    • performance (string) - Optional performance family hint for the VM instance type (e.g., 'u1' for general-purpose, 'o1' for overcommitted, 'c1' for compute-optimized, 'm1' for memory-optimized). Defaults to 'u1' (general-purpose) if not specified.
    • preference (string) - Optional preference name for the VM
    • size (string) - Optional workload size hint for the VM (e.g., 'small', 'medium', 'large', 'xlarge'). Used to auto-select an appropriate instance type if not explicitly specified.
    • storage (string) - Optional storage size for the VM's root disk when using DataSources (e.g., '30Gi', '50Gi', '100Gi'). Defaults to 30Gi. Ignored when using container disks.
    • workload (string) - The workload for the VM. Accepts OS names (e.g., 'fedora' (default), 'ubuntu', 'centos', 'centos-stream', 'debian', 'rhel', 'opensuse', 'opensuse-tumbleweed', 'opensuse-leap') or full container disk image URLs
  • vm_lifecycle - Manage VirtualMachine lifecycle: start, stop, or restart a VM

    • action (string) (required) - The lifecycle action to perform: 'start' (changes runStrategy to Always), 'stop' (changes runStrategy to Halted), or 'restart' (stops then starts the VM)
    • name (string) (required) - The name of the virtual machine
    • namespace (string) (required) - The namespace of the virtual machine
tekton
  • tekton_pipeline_start - Start a Tekton Pipeline by creating a PipelineRun that references it

    • name (string) (required) - Name of the Pipeline to start
    • namespace (string) - Namespace of the Pipeline
    • params (object) - Parameter values to pass to the Pipeline. Keys are parameter names; values can be a string, an array of strings, or an object (map of string to string) depending on the parameter type defined in the Pipeline spec
  • tekton_pipelinerun_restart - Restart a Tekton PipelineRun by creating a new PipelineRun with the same spec

    • name (string) (required) - Name of the PipelineRun to restart
    • namespace (string) - Namespace of the PipelineRun
  • tekton_task_start - Start a Tekton Task by creating a TaskRun that references it

    • name (string) (required) - Name of the Task to start
    • namespace (string) - Namespace of the Task
    • params (object) - Parameter values to pass to the Task. Keys are parameter names; values can be a string, an array of strings, or an object (map of string to string) depending on the parameter type defined in the Task spec
  • tekton_taskrun_restart - Restart a Tekton TaskRun by creating a new TaskRun with the same spec

    • name (string) (required) - Name of the TaskRun to restart
    • namespace (string) - Namespace of the TaskRun
  • tekton_taskrun_logs - Get the logs from a Tekton TaskRun by resolving its underlying pod

    • name (string) (required) - Name of the TaskRun to get logs from
    • namespace (string) - Namespace of the TaskRun
    • tail (integer) - Number of lines to retrieve from the end of the logs (Optional, default: 100)

Prompts

core
  • cluster-health-check - Perform comprehensive health assessment of Kubernetes/OpenShift cluster
    • namespace (string) - Optional namespace to limit health check scope (default: all namespaces)
    • check_events (string) - Include recent warning/error events (true/false, default: true)
kubevirt
  • vm-troubleshoot - Generate a step-by-step troubleshooting guide for diagnosing VirtualMachine issues
    • namespace (string) (required) - The namespace of the VirtualMachine to troubleshoot
    • name (string) (required) - The name of the VirtualMachine to troubleshoot

Helm Chart

A Helm Chart is available to simplify the deployment of the Kubernetes MCP server.

helm install kubernetes-mcp-server oci://ghcr.io/containers/charts/kubernetes-mcp-server

For configuration options including OAuth, telemetry, and resource limits, see the chart README and values.yaml.

๐Ÿ’ฌ Community

Join the conversation and connect with other users and contributors:

  • Slack - Ask questions, share feedback, and discuss the Kubernetes MCP server in the #kubernetes-mcp-server channel on the CNCF Slack workspace. If you're not already a member, you can request an invitation.

๐Ÿง‘โ€๐Ÿ’ป Development

Running with mcp-inspector

Compile the project and run the Kubernetes MCP server with mcp-inspector to inspect the MCP server.

# Compile the project
make build
# Run the Kubernetes MCP server with mcp-inspector
npx @modelcontextprotocol/inspector@latest $(pwd)/kubernetes-mcp-server

mcp-name: io.github.containers/kubernetes-mcp-server

Release History

VersionChangesUrgencyDate
v0.0.62## What's Changed * fix(http): complete hot-reload surface for HTTP middleware config by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/1107 * fix(auth): propagate certificate_authority to token exchange HTTP client by @nader-ziada in https://github.com/containers/kubernetes-mcp-server/pull/1109 * build(deps): bump github.com/google/jsonschema-go from 0.4.2 to 0.4.3 by @dependabot[bot] in https://github.com/containers/kubernetes-mcp-server/pull/1112 * feat(api): add MCP resoHigh5/5/2026
v0.0.61## What's Changed * test(mcp): add integration tests for prompt target parameter in multi-cluster by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/996 * refactor(evals): migrate llmJudge to builtin.llm-agent format by @nader-ziada in https://github.com/containers/kubernetes-mcp-server/pull/1001 * feat(http): Fine-tune HTTP server settings by @nader-ziada in https://github.com/containers/kubernetes-mcp-server/pull/991 * feat(helm): add backend storage driver support by @difrHigh4/24/2026
v0.0.60## Breaking Changes * **`provider.GetTargets` is now optionally user-scoped** (#843) โ€” The `GetTargets` method signature has changed to optionally accept user-scoping. If you have custom code that calls `provider.GetTargets`, you will need to update the call sites to match the new signature. ## What's Changed * fix(kiali): limit response body size to prevent unbounded memory consumption by @matzew in https://github.com/containers/kubernetes-mcp-server/pull/927 * fix(ci): add v prefix to Medium4/1/2026
v0.0.59## What's Changed * fix(evals): add missing suite labels to kubevirt tasks by @lyarwood in https://github.com/containers/kubernetes-mcp-server/pull/835 * fix(observability): honor OTel endpoint from TOML config by @patrickeasters in https://github.com/containers/kubernetes-mcp-server/pull/834 * fix(mcp): init request w/o client info does not panic by @Cali0707 in https://github.com/containers/kubernetes-mcp-server/pull/844 * build(deps): bump k8s.io/api from 0.35.1 to 0.35.2 by @dependabot[bot] Low3/18/2026
v0.0.58## What's Changed * fix(ci): remove version field from OCI package for MCP registry compliance by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/701 * feat(docs): add prompt documentation generation to update-readme-tools by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/702 * chore(ci): upload results.json from weekly run to repo by @nader-ziada in https://github.com/containers/kubernetes-mcp-server/pull/699 * fix(ci): mcpchecker action yaml syntax by @Low2/27/2026
v0.0.57## What's Changed * chore(ci): restrict release workflows to version tags only by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/616 * fix(tests): adjust notification wait times for improved debounced notification handling by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/618 * build(deps): bump github.com/modelcontextprotocol/go-sdk from 1.1.0 to 1.2.0 by @dependabot[bot] in https://github.com/containers/kubernetes-mcp-server/pull/609 * refactor(mcp): uLow1/27/2026
v0.0.56## What's Changed * chore(ci): add dependabot config for GitHub Actions by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/540 * build(deps): bump actions/setup-go from 5 to 6 by @dependabot[bot] in https://github.com/containers/kubernetes-mcp-server/pull/542 * fix(tests): improve handling of multiple fsnotify events in Windows tests by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/541 * build(deps): bump astral-sh/setup-uv from 5 to 7 by @dependabot[botLow12/23/2025
v0.0.55## What's Changed * feat(mcp): refactor to use go-sdk by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/385 * feat(kubevirt): Add basic VM creation toolset by @lyarwood in https://github.com/containers/kubernetes-mcp-server/pull/386 * feat(toolsets): add kiali support by @aljesusg in https://github.com/containers/kubernetes-mcp-server/pull/425 * feat(helm): add Helm chart for Kubernetes MCP Server deployment by @sabre1041 in https://github.com/containers/kubernetes-mcp-sLow12/3/2025
v0.0.54## What's Changed * build(deps): bump sigs.k8s.io/controller-runtime from 0.22.2 to 0.22.3 by @dependabot[bot] in https://github.com/containers/kubernetes-mcp-server/pull/374 * test(kubernetes): refactor tests for Derived manager functionality to use testify by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/369 * refactor(kubernetes): keep Provider as only external Kubernetes interface by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/372 * test(kubeLow11/12/2025
v0.0.53## Important This release includes support to interact with **Multiple Clusters (#348)** if defined in your `kubeconfig`. If your kubeconfig contains multiple context definitions, these will be made available as an extra parameter `context` for each of the defined tools. If this behavior breaks your current setup, you can completely disable the new feature by providing the `--disable-multi-cluster` CLI flag (or by setting a specific `cluster_provider_strategy` in your Kubernetes MCP serveLow10/10/2025
v0.0.52## What's Changed * build(deps): bump golang.org/x/net from 0.42.0 to 0.44.0 by @dependabot[bot] in https://github.com/containers/kubernetes-mcp-server/pull/332 * build(deps): bump k8s.io/kubectl from 0.33.4 to 0.34.1 by @dependabot[bot] in https://github.com/containers/kubernetes-mcp-server/pull/316 * build(deps): bump helm.sh/helm/v3 from 3.18.6 to 3.19.0 by @dependabot[bot] in https://github.com/containers/kubernetes-mcp-server/pull/321 * test(mcp): refactor helm toolset tests by @manusa Low9/25/2025
v0.0.51## What's Changed * test(mcp): toolset metadata assertion by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/318 * build(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.1 by @dependabot[bot] in https://github.com/containers/kubernetes-mcp-server/pull/320 * refactor(mcp): toolset Tools definition is agnostic of MCP impl by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/319 * feat(mcp): toolset definitions completely agnostic from underlyingLow9/17/2025
v0.0.50## What's Changed * feat(auth): support for VSCode auth flow by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/258 * build(deps): bump k8s.io/api from 0.33.3 to 0.33.4 by @dependabot[bot] in https://github.com/containers/kubernetes-mcp-server/pull/260 * build(deps): bump k8s.io/apimachinery from 0.33.3 to 0.33.4 by @dependabot[bot] in https://github.com/containers/kubernetes-mcp-server/pull/266 * build(deps): bump k8s.io/client-go from 0.33.3 to 0.33.4 by @dependabot[botLow9/11/2025
v0.0.49## What's Changed * build(deps): bump github.com/mark3labs/mcp-go from 0.36.0 to 0.37.0 by @dependabot[bot] in https://github.com/containers/kubernetes-mcp-server/pull/242 * refactor(auth): consolidate JWT validation into single method by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/238 * refactor(http): extract OAuth protected resource handler by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/243 * feat(auth): implement proxied /.well-known/oauth-authLow8/8/2025
v0.0.48## What's Changed * build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.1 to 4.1.2 by @dependabot[bot] in https://github.com/containers/kubernetes-mcp-server/pull/237 * chore(deps): update module github.com/fatih/color to v1.18.0 by @red-hat-konflux[bot] in https://github.com/containers/kubernetes-mcp-server/pull/236 * chore(deps): update module github.com/emicklei/go-restful/v3 to v3.12.2 by @red-hat-konflux[bot] in https://github.com/containers/kubernetes-mcp-server/pull/235 * chore(deps)Low8/5/2025
v0.0.47## What's Changed * Konflux update kubernetes-mcp-server-ols by @red-hat-konflux[bot] in https://github.com/containers/kubernetes-mcp-server/pull/200 * chore(doc): instructions for cursor setup by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/201 * fix(migration): rebranded from manusa/kubernetes-mcp-server to containers/kubernetes-mcp-server by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/202 * build(deps): bump sigs.k8s.io/yaml from 1.5.0 to 1.6.0 bLow7/31/2025
v0.0.46## What's Changed * test(mcp): speed up tests by not setting the fake kubeconfig master to example.com by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/192 * Carry oidc provider directly instead of in mcpServer by @ardaguclu in https://github.com/containers/kubernetes-mcp-server/pull/179 * fix(auth): delegate JWT parsing to github.com/go-jose/go-jose by @manusa in https://github.com/containers/kubernetes-mcp-server/pull/189 * test(http): logging middleware verifications by Low7/23/2025
v0.0.45## What's Changed * Introduce middleware for audit logs and authentication checks by @ardaguclu in https://github.com/manusa/kubernetes-mcp-server/pull/157 * Accept standard oauth header by keeping the current header by @ardaguclu in https://github.com/manusa/kubernetes-mcp-server/pull/158 * Isolate bearer token config from kubeconfig by @ardaguclu in https://github.com/manusa/kubernetes-mcp-server/pull/163 * Add graceful shutdown of http server by catching interruption signals by @ardaguclu in Low7/17/2025
v0.0.44## What's Changed * test(config): extensive test suite for denied lists by @manusa in https://github.com/manusa/kubernetes-mcp-server/pull/148 * build(deps): bump sigs.k8s.io/yaml from 1.4.0 to 1.5.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/150 * test(config): additional test cases for config errors by @manusa in https://github.com/manusa/kubernetes-mcp-server/pull/145 * Define flags in configuration file by @ardaguclu in https://github.com/manusa/kubernetes-mcp-serLow7/2/2025
v0.0.43## What's Changed * build(deps): bump k8s.io/metrics from 0.33.0 to 0.33.1 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/120 * build(deps): bump k8s.io/kubectl from 0.33.0 to 0.33.1 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/121 * build(deps): bump helm.sh/helm/v3 from 3.18.2 to 3.18.3 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/122 * Use built-in ptr.Deref instead of a custom func by @ardaguclu in https://github.comLow6/20/2025
v0.0.42## What's Changed * feat(pods): pods_top retrieves Pod resource consumption (metrics API) by @manusa in https://github.com/manusa/kubernetes-mcp-server/pull/119 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.41...v0.0.42Low6/16/2025
v0.0.41## What's Changed * feat(http): streamable HTTP transport by @manusa in https://github.com/manusa/kubernetes-mcp-server/pull/116 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.40...v0.0.41Low6/13/2025
v0.0.40## What's Changed * build(deps): bump golang.org/x/net from 0.40.0 to 0.41.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/107 * Fix typo in test skip message for non-Unix-like platforms by @yshngg in https://github.com/manusa/kubernetes-mcp-server/pull/86 * feat(output): configurable output architecture by @manusa in https://github.com/manusa/kubernetes-mcp-server/pull/109 * feat(output): table output to minimize resource list verbosity by @manusa in https://github.Low6/12/2025
v0.0.39## What's Changed * build(deps): bump github.com/mark3labs/mcp-go from 0.30.1 to 0.31.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/103 * build(deps): bump helm.sh/helm/v3 from 3.18.1 to 3.18.2 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/104 * feat(auth)!: use generic kubernetes-authorization header by @manusa in https://github.com/manusa/kubernetes-mcp-server/pull/106 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compLow6/5/2025
v0.0.38## What's Changed * feat(auth): Authorize user from custom SSE header by @manusa in https://github.com/manusa/kubernetes-mcp-server/pull/96 * feat(auth): minor optimization + logging by @manusa in https://github.com/manusa/kubernetes-mcp-server/pull/101 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.37...v0.0.38Low5/30/2025
v0.0.37## What's Changed * build(deps): bump helm.sh/helm/v3 from 3.18.0 to 3.18.1 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/99 * build(deps): bump github.com/mark3labs/mcp-go from 0.30.0 to 0.30.1 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/98 * fix(auth): ensure OIDC auth plugin is included in compiled binary by @ziadmoubayed in https://github.com/manusa/kubernetes-mcp-server/pull/97 ## New Contributors * @ziadmoubayed made their first contribuLow5/29/2025
v0.0.36## What's Changed * build(deps): bump sigs.k8s.io/controller-runtime from 0.20.4 to 0.21.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/90 * build(deps): bump github.com/mark3labs/mcp-go from 0.29.0 to 0.30.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/91 * feat(config): --read-only mode flag exposes only read-only annotated tools by @manusa in https://github.com/manusa/kubernetes-mcp-server/pull/94 * feat(config): --disable-destructive exposeLow5/26/2025
v0.0.35## What's Changed * feat: added tool annotations by @manusa in https://github.com/manusa/kubernetes-mcp-server/pull/89 * build(deps): bump github.com/mark3labs/mcp-go from 0.28.0 to 0.29.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/88 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.34...v0.0.35Low5/21/2025
v0.0.34## What's Changed * feat(profiles): bootstrap initial support for profiles by @manusa in https://github.com/manusa/kubernetes-mcp-server/pull/77 * build(deps): bump k8s.io/api from 0.33.0 to 0.33.1 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/81 * build(deps): bump k8s.io/client-go from 0.33.0 to 0.33.1 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/80 * build(deps): bump k8s.io/apimachinery from 0.33.0 to 0.33.1 by @dependabot in https://github.Low5/21/2025
v0.0.33## What's Changed * build(deps): bump github.com/mark3labs/mcp-go from 0.27.0 to 0.27.1 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/74 * feat(helm): support for helm uninstall by @manusa in https://github.com/manusa/kubernetes-mcp-server/pull/76 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.32...v0.0.33Low5/15/2025
v0.0.32## What's Changed * build(deps): bump k8s.io/cli-runtime from 0.32.2 to 0.33.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/73 * build(deps): bump github.com/mark3labs/mcp-go from 0.26.0 to 0.27.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/72 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.31...v0.0.32Low5/12/2025
v0.0.31## What's Changed * build(deps): bump golang.org/x/net from 0.39.0 to 0.40.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/70 * build(deps): bump github.com/mark3labs/mcp-go from 0.24.1 to 0.26.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/71 * Helm integration by @bussyjd in https://github.com/manusa/kubernetes-mcp-server/pull/58 ## New Contributors * @bussyjd made their first contribution in https://github.com/manusa/kubernetes-mcp-server/puLow5/10/2025
v0.0.30## What's Changed * fix: use KUBECONFIG or explicitly given kubeconfig file (#67) by @adietish in https://github.com/manusa/kubernetes-mcp-server/pull/69 ## New Contributors * @adietish made their first contribution in https://github.com/manusa/kubernetes-mcp-server/pull/69 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.29...v0.0.30Low5/5/2025
v0.0.29## What's Changed * build(deps): bump k8s.io/api from 0.32.3 to 0.33.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/63 * build(deps): bump k8s.io/client-go from 0.32.3 to 0.33.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/61 * build(deps): bump k8s.io/apiextensions-apiserver from 0.32.3 to 0.33.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/60 * build(deps): bump github.com/mark3labs/mcp-go from 0.21.1 to 0.23.1 by @dLow4/26/2025
v0.0.28## What's Changed * build(deps): bump github.com/mark3labs/mcp-go from 0.21.0 to 0.21.1 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/50 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.27...v0.0.28Low4/19/2025
v0.0.27## What's Changed * build(deps): bump github.com/mark3labs/mcp-go from 0.19.0 to 0.20.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/46 * Update README.md to include Tools by @humphd in https://github.com/manusa/kubernetes-mcp-server/pull/45 * build(deps): bump github.com/mark3labs/mcp-go from 0.20.0 to 0.20.1 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/47 ## New Contributors * @humphd made their first contribution in https://github.com/manusLow4/17/2025
v0.0.26## What's Changed * feat: add optional container parameter for pods_log tool by @sutaakar in https://github.com/manusa/kubernetes-mcp-server/pull/42 ## New Contributors * @sutaakar made their first contribution in https://github.com/manusa/kubernetes-mcp-server/pull/42 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.24...v0.0.26Low4/11/2025
v0.0.25## What's Changed * feat: add optional container parameter for pods_log tool by @sutaakar in https://github.com/manusa/kubernetes-mcp-server/pull/42 ## New Contributors * @sutaakar made their first contribution in https://github.com/manusa/kubernetes-mcp-server/pull/42 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.24...v0.0.25Low4/11/2025
v0.0.24## What's Changed * build(deps): bump golang.org/x/net from 0.38.0 to 0.39.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/40 * build(deps): bump github.com/mark3labs/mcp-go from 0.18.0 to 0.19.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/43 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.23...v0.0.24Low4/11/2025
v0.0.22## What's Changed * build(deps): bump golang.org/x/net from 0.37.0 to 0.38.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/33 * build(deps): bump github.com/fsnotify/fsnotify from 1.8.0 to 1.9.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/37 * build(deps): bump github.com/mark3labs/mcp-go from 0.16.0 to 0.18.0 by @manusa in https://github.com/manusa/kubernetes-mcp-server/pull/38 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-serLow4/7/2025
v0.0.23## What's Changed * build(deps): bump golang.org/x/net from 0.37.0 to 0.38.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/33 * build(deps): bump github.com/fsnotify/fsnotify from 1.8.0 to 1.9.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/37 * build(deps): bump github.com/mark3labs/mcp-go from 0.16.0 to 0.18.0 by @manusa in https://github.com/manusa/kubernetes-mcp-server/pull/38 * feat(python): python packages by @manusa in https://github.cLow4/7/2025
v0.0.21**Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.20...v0.0.21Low3/31/2025
v0.0.20## What's Changed * build(deps): bump sigs.k8s.io/controller-runtime from 0.20.3 to 0.20.4 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/29 * build(deps): bump github.com/mark3labs/mcp-go from 0.15.0 to 0.16.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/28 * build(deps): bump github.com/spf13/viper from 1.20.0 to 1.20.1 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/31 **Full Changelog**: https://github.com/manusa/kubeLow3/27/2025
v0.0.19## What's Changed * build(deps): bump github.com/mark3labs/mcp-go from 0.14.1 to 0.15.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/27 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.18...v0.0.19Low3/21/2025
v0.0.18**Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.17...v0.0.18Low3/21/2025
v0.0.17## What's Changed * build(deps): bump sigs.k8s.io/controller-runtime from 0.20.2 to 0.20.3 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/16 * build(deps): bump k8s.io/apimachinery from 0.32.2 to 0.32.3 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/18 * build(deps): bump k8s.io/client-go from 0.32.2 to 0.32.3 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/19 * build(deps): bump github.com/spf13/viper from 1.19.0 to 1.20.0 bLow3/20/2025
v0.0.16**Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.15...v0.0.16Low3/9/2025
v0.0.15## What's Changed * build(deps): bump k8s.io/client-go from 0.32.1 to 0.32.2 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/10 * build(deps): bump golang.org/x/net from 0.33.0 to 0.37.0 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/9 * build(deps): bump github.com/spf13/cobra from 1.8.1 to 1.9.1 by @dependabot in https://github.com/manusa/kubernetes-mcp-server/pull/11 * build(deps): bump sigs.k8s.io/controller-runtime from 0.20.1 to 0.20.2 by @depLow3/7/2025
v0.0.14## What's Changed * fix: mcp server invalid json config by @nisiyong in https://github.com/manusa/kubernetes-mcp-server/pull/6 ## New Contributors * @nisiyong made their first contribution in https://github.com/manusa/kubernetes-mcp-server/pull/6 **Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.13...v0.0.14Low3/1/2025
v0.0.13**Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.12...v0.0.13Low2/19/2025
v0.0.12**Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.11...v0.0.12Low2/18/2025
v0.0.11**Full Changelog**: https://github.com/manusa/kubernetes-mcp-server/compare/v0.0.10...v0.0.11Low2/17/2025

Dependencies & License Audit

Loading dependencies...

Similar Packages

mcp-yandex-trackerManage and automate tasks in Yandex Tracker using a robust MCP integration for efficient issue tracking and project control.main@2026-06-04
toolhiveToolHive is an enterprise-grade platform for running and managing Model Context Protocol (MCP) servers.v0.29.0
mcp-safe-runTired of hardcoding secrets like API keys in your MCP client configuration (e.g., mcp.json, claude_desktop_config.json)? mcp-secure-launcher lets you run your existing MCP servers securely without mod2.4.6
mcp-tidy๐Ÿงน Simplify your MCP servers with mcp-tidy, clearing server bloat to enhance performance and improve tool selection in Claude Code.main@2026-06-07
Paylink๐ŸŒ Simplify payment processing with PayLink, a unified API for multi-provider checkouts, ensuring reliable transactions and seamless integration.main@2026-06-06

More in MCP Servers

PlanExeCreate a plan from a description in minutes
agentroveYour own Claude Code UI, sandbox, in-browser VS Code, terminal, multi-provider support (Anthropic, OpenAI, GitHub Copilot, OpenRouter), custom skills, and MCP servers.
ProxmoxMCP-PlusEnhanced Proxmox MCP server with advanced virtualization management and full OpenAPI integration.
node9-proxyThe Execution Security Layer for the Agentic Era. Providing deterministic "Sudo" governance and audit logs for autonomous AI agents.