Skip to main content
Glama
mcp-server-kubernetes
by ACRT-EVAL

mcp-server-kubernetes

MCP Server that can connect to a Kubernetes cluster and manage it.

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

Usage with Claude Desktop

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

The server will automatically connect to your current kubectl context. 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.)

You can verify your connection by asking Claude to list your pods or create a test deployment.

If you have errors, open up a standard terminal and run kubectl get pods to see if you can connect to your cluster without credentials issues.

Related MCP server: Kube MCP

Features

  • Connect to a Kubernetes cluster

  • List all pods

  • List all services

  • List all deployments

  • List all nodes

  • Create a pod

  • Delete a pod

  • Describe a pod

  • List all namespaces

  • Get logs from a pod for debugging (supports pods, deployments, jobs, and label selectors)

  • Port forward to a pod

  • Choose namespace for next commands (memory)

  • Support Helm for installing charts

Local Development

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):

bun run dev
  1. Run unit tests:

bun run test
  1. Build the project:

bun run build
  1. Local Testing with Inspector

npx @modelcontextprotocol/inspector node build/index.js
# Follow further instructions on terminal for Inspector link

Project Structure

src/
├── index.ts     # Main server implementation
├── types.ts     # TypeScript type definitions
└── unit.test.ts # Unit tests

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests for new functionality

  5. Ensure all tests pass

  6. Submit a pull request

For bigger changes, please open an issue first to discuss the proposed changes.

Architecture

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:

sequenceDiagram
    participant Client
    participant Transport as StdioTransport
    participant Server as MCP Server
    participant Handler as Request Handler
    participant K8sManager as KubernetesManager
    participant K8s as Kubernetes API

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

    alt Tools Request
        Server->>Handler: Route to tools handler
        Handler->>K8sManager: Execute tool operation
        K8sManager->>K8s: Make API call
        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

Not planned

Authentication / adding clusters to kubectx.

Available Tools

11 tools
cleanupC

Cleanup all managed resources

Inputs: no named parameters.

create_deploymentC

Create a new Kubernetes deployment

Inputs: name (required), template (required), namespace (required), ports, +1 more.

create_podC

Create a new Kubernetes pod

Inputs: name (required), template (required), namespace (required), command.

delete_podC

Delete a Kubernetes pod

Inputs: name (required), namespace (required), ignoreNotFound.

describe_podB

Describe a Kubernetes pod (read details like status, containers, etc.)

Inputs: name (required), namespace (required).

get_logsC

Get logs from pods, deployments, jobs, or resources matching a label selector

Inputs: resourceType (required), name, tail, since, +4 more.

list_deploymentsC

List deployments in a namespace

Inputs: namespace (required).

list_namespacesB

List all namespaces

Inputs: no named parameters.

list_nodesB

List all nodes in the cluster

Inputs: no named parameters.

list_podsC

List pods in a namespace

Inputs: namespace (required).

list_servicesB

List services in a namespace

Inputs: namespace (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 11 tools

    Disambiguation4/5

    Most tools target a clearly distinct resource and action (list_pods vs list_deployments vs describe_pod vs get_logs). The only mild overlaps are `cleanup` versus `delete_pod` and `get_logs` being much broader than the pod-specific read tools, but descriptions help distinguish them.

    Naming Consistency4/5

    The set follows a consistent snake_case verb_noun pattern such as list_pods, create_deployment, delete_pod, and describe_pod. `cleanup` is the only noticeable deviation as a verb-only name.

    Tool Count5/5

    Eleven tools is well-scoped for a Kubernetes MCP server, covering common read and write operations without feeling bloated. Each listed tool has a plausible place in typical cluster workflows.

    Completeness3/5

    Read coverage is decent for pods, deployments, services, namespaces, and nodes, but write coverage is thin: deployments and services have no delete/update/scale operations, and pods lack update/exec. These gaps would likely force agents to fall back to raw kubectl or fail on common lifecycle tasks.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables AI assistants to interact with and manage Kubernetes clusters, supporting operations on pods, deployments, services, configmaps, secrets, namespaces, metrics, and events with built-in safety features for destructive actions.
      9
      7 npm
      1
      MIT
    • F
      license
      A
      quality
      D
      maintenance
      Connects Claude Desktop to any Kubernetes cluster, enabling natural language queries for diagnostics and operations such as listing pods, viewing logs, scaling deployments, and more.
      8
      -