MCP Server Kubernetes

MCP Server Kubernetes

Connect and manage Kubernetes clusters via Model Context Protocol servers.

1,181
Stars
194
Forks
1,181
Watchers
11
Issues
MCP Server Kubernetes enables seamless connection and management of Kubernetes clusters through the Model Context Protocol. It supports loading kubeconfig from multiple sources, integrates easily with Claude Code, Claude Desktop, and VS Code, and offers flexible authentication mechanisms. Users can control clusters using standard command-line tools and extension integrations for multiple environments.

Key Features

MCP (Model Context Protocol) server for Kubernetes management
Supports multiple kubeconfig sources with priority order
Integration with Claude Code and Claude Desktop
VS Code support for direct extension-based control
Helm v3 support for Kubernetes configuration
dockerized deployment support
Flexible authentication options
Command-line interface usage
Easily installable as an extension via mcpb
Supports context-driven Kubernetes operations

Use Cases

Centralized management of Kubernetes clusters in development teams
Automating Kubernetes operations via standardized protocol and context
Integrating Kubernetes management into AI development workflows in tools like Claude Code and Claude Desktop
Streamlining deployment and monitoring of infrastructure changes
Quickly accessing and managing multiple Kubernetes contexts
Enhancing DevOps workflows with protocol-based context management
Providing extension-based Kubernetes control within VS Code
Utilizing Helm to automate application deployments on clusters
Facilitating cloud-native infrastructure orchestration
Supporting secure and flexible multi-environment authentication

README

MCP Server Kubernetes

CI Language Bun Kubernetes Docker Stars Issues PRs Welcome Last Commit Trust Score Ask DeepWiki

MCP Server that can connect to a Kubernetes cluster and manage it. Supports loading kubeconfig from multiple sources in priority order.

https://github.com/user-attachments/assets/f25f8f4e-4d04-479b-9ae0-5dac452dd2ed

Installation & Usage

Prerequisites

Before using this MCP server with any tool, make sure you have:

  1. kubectl installed and in your PATH
  2. A valid kubeconfig file with contexts configured
  3. Access to a Kubernetes cluster configured for kubectl (e.g. minikube, Rancher Desktop, GKE, etc.)
  4. Helm v3 installed and in your PATH (no Tiller required). Optional if you don't plan to use Helm.

You can verify your connection by running kubectl get pods in a terminal to ensure you can connect to your cluster without credential issues.

By default, the server loads kubeconfig from ~/.kube/config. For additional authentication options (environment variables, custom paths, etc.), see ADVANCED_README.md.

Claude Code

Add the MCP server to Claude Code using the built-in command:

bash
claude mcp add kubernetes -- npx mcp-server-kubernetes

This will automatically configure the server in your Claude Code MCP settings.

Claude Desktop

Add the following configuration to your Claude Desktop config file:

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

Claude Desktop Connector via mcpb

MCP Server Kubernetes is also available as a mcpb (formerly dxt) extension. In Claude Desktop, go to Settings (Cmd+, on Mac) -> Extensions -> Browse Extensions and scroll to find mcp-server-kubernetes in the modal. Install it & it will install & utilize kubectl via command line & your kubeconfig.

To manually install, you can also get the .mcpb by going to the latest Release and downloading it.

VS Code

Install Kubernetes MCP in VS Code

For VS Code integration, you can use the MCP server with extensions that support the Model Context Protocol:

  1. Install a compatible MCP extension (such as Claude Dev or similar MCP clients)
  2. Configure the extension to use this server:
json
{
  "mcpServers": {
    "kubernetes": {
      "command": "npx",
      "args": ["mcp-server-kubernetes"],
      "description": "Kubernetes cluster management and operations"
    }
  }
}

Cursor

Cursor supports MCP servers through its AI integration. Add the server to your Cursor MCP configuration:

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

The server will automatically connect to your current kubectl context. You can verify the connection by asking the AI assistant to list your pods or create a test deployment.

Usage with mcp-chat

mcp-chat is a CLI chat client for MCP servers. You can use it to interact with the Kubernetes server.

shell
npx mcp-chat --server "npx mcp-server-kubernetes"

Alternatively, pass it your existing Claude Desktop configuration file from above (Linux should pass the correct path to config):

Mac:

shell
npx mcp-chat --config "~/Library/Application Support/Claude/claude_desktop_config.json"

Windows:

shell
npx mcp-chat --config "%APPDATA%\Claude\claude_desktop_config.json"

Gemini CLI

Gemini CLI allows you to install mcp servers as extensions. From a shell, install the extension by pointing to this repo:

shell
gemini extensions install https://github.com/Flux159/mcp-server-kubernetes

Features

  • Connect to a Kubernetes cluster
  • Unified kubectl API for managing resources
    • Get or list resources with kubectl_get
    • Describe resources with kubectl_describe
    • List resources with kubectl_get
    • Create resources with kubectl_create
    • Apply YAML manifests with kubectl_apply
    • Delete resources with kubectl_delete
    • Get logs with kubectl_logs
    • Manage kubectl contexts with kubectl_context
    • Explain Kubernetes resources with explain_resource
    • List API resources with list_api_resources
    • Scale resources with kubectl_scale
    • Update field(s) of a resource with kubectl_patch
    • Manage deployment rollouts with kubectl_rollout
    • Execute any kubectl command with kubectl_generic
    • Verify connection with ping
  • Advanced operations
    • Scale deployments with kubectl_scale (replaces legacy scale_deployment)
    • Port forward to pods and services with port_forward
    • Run Helm operations
      • Install, upgrade, and uninstall charts
      • Support for custom values, repositories, and versions
      • Template-based installation (helm_template_apply) to bypass authentication issues
      • Template-based uninstallation (helm_template_uninstall) to bypass authentication issues
    • Pod cleanup operations
      • Clean up problematic pods (cleanup_pods) in states: Evicted, ContainerStatusUnknown, Completed, Error, ImagePullBackOff, CrashLoopBackOff
    • Node management operations
      • Cordoning, draining, and uncordoning nodes (node_management) for maintenance and scaling operations
  • Troubleshooting Prompt (k8s-diagnose)
    • Guides through a systematic Kubernetes troubleshooting flow for pods based on a keyword and optional namespace.
  • Non-destructive mode for read and create/update-only access to clusters
  • Secrets masking for security (masks sensitive data in kubectl get secrets commands, does not affect logs)

Prompts

The MCP Kubernetes server includes specialized prompts to assist with common diagnostic operations.

/k8s-diagnose Prompt

This prompt provides a systematic troubleshooting flow for Kubernetes pods. It accepts a keyword to identify relevant pods and an optional namespace to narrow the search. The prompt's output will guide you through an autonomous troubleshooting flow, providing instructions for identifying issues, collecting evidence, and suggesting remediation steps.

Local Development

Make sure that you have bun installed. Clone the repo & install dependencies:

bash
git clone https://github.com/Flux159/mcp-server-kubernetes.git
cd mcp-server-kubernetes
bun install

Development Workflow

  1. Start the server in development mode (watches for file changes):
bash
bun run dev
  1. Run unit tests:
bash
bun run test
  1. Build the project:
bash
bun run build
  1. Local Testing with Inspector
bash
npx @modelcontextprotocol/inspector node dist/index.js
# Follow further instructions on terminal for Inspector link
  1. Local testing with Claude Desktop
json
{
  "mcpServers": {
    "mcp-server-kubernetes": {
      "command": "node",
      "args": ["/path/to/your/mcp-server-kubernetes/dist/index.js"]
    }
  }
}
  1. Local testing with mcp-chat
bash
bun run chat

Contributing

See the CONTRIBUTING.md file for details.

Advanced

Non-Destructive Mode

You can run the server in a non-destructive mode that disables all destructive operations (delete pods, delete deployments, delete namespaces, etc.):

shell
ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true npx mcp-server-kubernetes

For Claude Desktop configuration with non-destructive mode:

json
{
  "mcpServers": {
    "kubernetes-readonly": {
      "command": "npx",
      "args": ["mcp-server-kubernetes"],
      "env": {
        "ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS": "true"
      }
    }
  }
}

Commands Available in Non-Destructive Mode

All read-only and resource creation/update operations remain available:

  • Resource Information: kubectl_get, kubectl_describe, kubectl_logs, explain_resource, list_api_resources
  • Resource Creation/Modification: kubectl_apply, kubectl_create, kubectl_scale, kubectl_patch, kubectl_rollout
  • Helm Operations: install_helm_chart, upgrade_helm_chart, helm_template_apply, helm_template_uninstall
  • Connectivity: port_forward, stop_port_forward
  • Context Management: kubectl_context

Commands Disabled in Non-Destructive Mode

The following destructive operations are disabled:

  • kubectl_delete: Deleting any Kubernetes resources
  • uninstall_helm_chart: Uninstalling Helm charts
  • cleanup: Cleanup of managed resources
  • cleanup_pods: Cleaning up problematic pods
  • node_management: Node management operations (can drain nodes)
  • kubectl_generic: General kubectl command access (may include destructive operations)

For additional advanced features, see the ADVANCED_README.md and also the docs folder for specific information on helm_install, helm_template_apply, node management & pod cleanup.

Architecture

See this DeepWiki link for a more indepth architecture overview created by Devin.

This section describes the high-level architecture of the MCP Kubernetes server.

Request Flow

The sequence diagram below illustrates how requests flow through the system:

mermaid
sequenceDiagram
    participant Client
    participant Transport as Transport Layer
    participant Server as MCP Server
    participant Filter as Tool Filter
    participant Handler as Request Handler
    participant K8sManager as KubernetesManager
    participant K8s as Kubernetes API

    Note over Transport: StdioTransport or<br>SSE Transport

    Client->>Transport: Send Request
    Transport->>Server: Forward Request

    alt Tools Request
        Server->>Filter: Filter available tools
        Note over Filter: Remove destructive tools<br>if in non-destructive mode
        Filter->>Handler: Route to tools handler

        alt kubectl operations
            Handler->>K8sManager: Execute kubectl operation
            K8sManager->>K8s: Make API call
        else Helm operations
            Handler->>K8sManager: Execute Helm operation
            K8sManager->>K8s: Make API call
        else Port Forward operations
            Handler->>K8sManager: Set up port forwarding
            K8sManager->>K8s: Make API call
        end

        K8s-->>K8sManager: Return result
        K8sManager-->>Handler: Process response
        Handler-->>Server: Return tool result
    else Resource Request
        Server->>Handler: Route to resource handler
        Handler->>K8sManager: Get resource data
        K8sManager->>K8s: Query API
        K8s-->>K8sManager: Return data
        K8sManager-->>Handler: Format response
        Handler-->>Server: Return resource data
    end

    Server-->>Transport: Send Response
    Transport-->>Client: Return Final Response

See this DeepWiki link for a more indepth architecture overview created by Devin.

Publishing new release

Go to the releases page, click on "Draft New Release", click "Choose a tag" and create a new tag by typing out a new version number using "v{major}.{minor}.{patch}" semver format. Then, write a release title "Release v{major}.{minor}.{patch}" and description / changelog if necessary and click "Publish Release".

This will create a new tag which will trigger a new release build via the cd.yml workflow. Once successful, the new release will be published to npm. Note that there is no need to update the package.json version manually, as the workflow will automatically update the version number in the package.json file & push a commit to main.

Not planned

Adding clusters to kubectx.

Star History

Star History Chart

🖊️ Cite

If you find this repo useful, please cite:

@software{Patel_MCP_Server_Kubernetes_2024,
author = {Patel, Paras and Sonwalkar, Suyog},
month = jul,
title = {{MCP Server Kubernetes}},
url = {https://github.com/Flux159/mcp-server-kubernetes},
version = {2.5.0},
year = {2024}
}

Star History

Star History Chart

Repository Owner

Flux159
Flux159

User

Repository Details

Language TypeScript
Default Branch main
Size 2,230 KB
Contributors 28
License MIT License
MCP Verified Nov 11, 2025

Programming Languages

TypeScript
94.22%
JavaScript
3.53%
Smarty
1.89%
Dockerfile
0.36%

Tags

Topics

infrastructure kubernetes mcp server

Join Our Newsletter

Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.

We respect your privacy. Unsubscribe at any time.

Related MCPs

Discover similar Model Context Protocol servers

  • MCP K8S Go

    MCP K8S Go

    Golang-based MCP server that enables AI-driven interactions with Kubernetes clusters.

    MCP K8S Go provides a server implementation of the Model Context Protocol for managing and interacting with Kubernetes clusters. It offers functionality to list, retrieve, create, and modify Kubernetes resources such as contexts, namespaces, pods, and nodes using standardized context-aware approaches. Designed for integration with AI assistants like Claude Desktop, it enables prompting and tool execution to manage cluster state, monitor events, fetch pod logs, and run in-pod commands. The solution supports deployment via various installation methods including Docker, Node.js, and Go binaries.

    • 356
    • MCP
    • strowk/mcp-k8s-go
  • Inspektor Gadget MCP Server

    Inspektor Gadget MCP Server

    AI-powered Kubernetes troubleshooting via Model Context Protocol.

    Inspektor Gadget MCP Server provides an AI-powered debugging and inspection interface for Kubernetes clusters. Leveraging the Model Context Protocol, it enables intelligent output summarization, one-click deployment of Inspektor Gadget, and automated discovery of debugging tools from Artifact Hub. The server integrates seamlessly with VS Code for interactive AI commands, simplifying Kubernetes troubleshooting and monitoring workflows.

    • 16
    • MCP
    • inspektor-gadget/ig-mcp-server
  • metoro-mcp-server

    metoro-mcp-server

    Bridge Kubernetes observability data to LLMs via the Model Context Protocol.

    Metoro MCP Server is an implementation of the Model Context Protocol (MCP) that enables seamless integration between Kubernetes observability data and large language models. It connects Metoro’s eBPF-based telemetry APIs to LLM applications such as the Claude Desktop App, allowing AI systems to query and analyze Kubernetes clusters. This solution supports both authenticated and demo modes for accessing real-time cluster insights.

    • 45
    • MCP
    • metoro-io/metoro-mcp-server
  • VS Code MCP Server

    VS Code MCP Server

    Connect Claude and other MCP clients to code directly in VS Code.

    VS Code MCP Server is a Visual Studio Code extension that enables AI coding agents, such as Claude, to interact with a user's codebase through the Model Context Protocol. It provides VS Code-specific capabilities like symbol search and document outlines, leveraging the editor's built-in features. The server communicates using a streamable HTTP MCP API and can execute shell commands for advanced operations. It is ideal for extending the coding capabilities of AI models without duplicating existing developer tools.

    • 280
    • MCP
    • juehang/vscode-mcp-server
  • RAD Security MCP Server

    RAD Security MCP Server

    AI-powered security insights for Kubernetes and cloud environments via the Model Context Protocol.

    RAD Security MCP Server is an implementation of the Model Context Protocol designed to deliver AI-powered security insights and operations for Kubernetes and cloud platforms. It serves as an MCP server for RAD Security, providing a range of toolkits for container, cluster, identity, audit, and threat management. The server is easily configurable via environment variables, allowing for flexible toolkit activation and authentication options. Multiple deployment options are supported, including Node.js, Docker, and integration with development environments like Cursor IDE and Claude Desktop.

    • 5
    • MCP
    • rad-security/mcp-server
  • mcp-confluent

    mcp-confluent

    MCP server for managing Confluent Cloud resources via natural language.

    mcp-confluent is a Model Context Protocol (MCP) server implementation designed to enable natural language interaction with Confluent Cloud REST APIs. It integrates with AI tools such as Claude Desktop and Goose CLI, allowing users to manage Kafka topics, connectors, and Flink SQL statements conversationally. The project offers flexible configuration, CLI usage, and supports various transports for secure and customizable operations.

    • 115
    • MCP
    • confluentinc/mcp-confluent
  • Didn't find tool you were looking for?

    Be as detailed as possible for better results