Kubernetes MCP Server logo

Kubernetes MCP Server

by ehiaig

The Kubernetes MCP Server is designed for debugging and managing Kubernetes configurations using natural language. It allows users to debug config files, manage clusters, and interact with Kubernetes resources more intuitively.

View on GitHub

Last updated: N/A

Kubernetes MCP Server

An MCP server for debugging and managing Kubernetes config using Natural Language

This MCP Server lets you:

  1. Debug a kubernetes config yaml/yml file
  2. Debug an entire kubernetes config folder that contains yaml/yml files
  3. Connect and manage Kubernetes clusters

Features

  • [x] Debug and analyze a kubernetes config yaml/yml file
  • [x] Debug an entire kubernetes config folder that contains yaml/yml files
  • [x] Pod management (list, get, logs, delete)
  • [ ] Deployment management (create, list, get, logs, delete)
  • [ ] Service management (Create, list, get, logs, delete)
  • [ ] Namespaces management (list, get, logs, delete)
  • [ ] Debug and Analyze Logs, Services, Seployment, Statefulset, Demonsets, Ingress, Node, Cluster
  • [ ] Portforward to a pod or service
  • [ ] Helm Chart installation and management

Quickstart

  1. Install Claude Desktop

  2. Install this MCP server

  • Using uv: uv

Run: uv pip install git+https://github.com/ehiaig/kubernetes-mcp-server

Or

  • Clone this repo: git clone https://github.com/ehiaig/kubernetes-mcp-server.git
  1. Open the Claude json file

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

On Windows: %APPDATA%/Claude/claude_desktop_config.json

And then add the following to your MCP servers file:

For Local testing with Claude Desktop

{
    "kubernetes-mcp-server": {
    "command": "/path/to/your/.local/bin/uv", // or "uv"
    "args": [
        "--directory",
        "/path/to/this/repo/kubernetes-mcp-server/src/k8s_manager",
        "run",
        "-m",
        "k8s_manager"
    ]
  }
}

Your claude_desktop_config.json file should look similar to this:

{
    "mcpServers": {
        "kubernetes-mcp-server": {
            "command": "/path/to/your/.local/bin/uv",
            "args": [
                "--directory",
                "/path/to/this/repo/kubernetes-mcp-server/src/k8s_manager",
                "run",
                "-m",
                "k8s_manager"
            ]
        }
    }
}

For Published Servers

"mcpServers": {
  "kubernetes-mcp-server": {
    "command": "uvx",
    "args": [
      "k8s_manager"
    ]
  }
}

🚧 Disclaimers

Sensitive Data

DO NOT CONFIGURE CLUSTERS WITH SENSITIVE DATA. This includes secrets, passwords, etc.

Any sensitive data exchanged with the LLM is inherently compromised, unless the LLM is running 100% on your local machine.

If you are interested in securely passing secrets to CLUSTERS, file an issue on this repository with your use-case.