Kubernetes MCP Server

DevOpsstdiohttp-streamingv0.4.0
Repository

A powerful, native Go implementation of a Kubernetes MCP server with support for Kubernetes and OpenShift. Unlike kubectl wrappers, it interacts directly with the Kubernetes API server — no external CLI tools required. Distributed as a single lightweight binary for Linux, macOS, and Windows. Supports multi-cluster configurations, Helm chart management, Tekton pipelines, pod exec, log streaming, and optional OpenTelemetry distributed tracing.

Connect

Add this configuration to .claude/mcp.json

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

Tools (8)

pods_list

List pods in all namespaces or a specific namespace, with optional label selector filtering.

{
  "type": "object",
  "properties": {
    "namespace": {
      "type": "string",
      "description": "Kubernetes namespace (omit for all namespaces)"
    },
    "labelSelector": {
      "type": "string",
      "description": "Label selector filter (e.g. \"app=nginx\")"
    }
  }
}

pods_logs

Stream or retrieve logs from a pod container. Supports tail lines, since time, and container selection for multi-container pods.

{
  "type": "object",
  "required": [
    "name",
    "namespace"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Pod name"
    },
    "container": {
      "type": "string",
      "description": "Container name (required for multi-container pods)"
    },
    "namespace": {
      "type": "string",
      "description": "Kubernetes namespace"
    },
    "tailLines": {
      "type": "integer",
      "description": "Number of lines from the end of the logs to return"
    }
  }
}

pods_exec

Execute a command inside a running pod container and return the output.

{
  "type": "object",
  "required": [
    "name",
    "namespace",
    "command"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Pod name"
    },
    "command": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Command and arguments to execute"
    },
    "container": {
      "type": "string",
      "description": "Container name (for multi-container pods)"
    },
    "namespace": {
      "type": "string",
      "description": "Kubernetes namespace"
    }
  }
}

resources_get

Get any Kubernetes or OpenShift resource by kind, name, and namespace. Supports all built-in and custom resource types.

{
  "type": "object",
  "required": [
    "kind",
    "name"
  ],
  "properties": {
    "kind": {
      "type": "string",
      "description": "Resource kind (e.g. Deployment, Service, ConfigMap)"
    },
    "name": {
      "type": "string",
      "description": "Resource name"
    },
    "namespace": {
      "type": "string",
      "description": "Kubernetes namespace"
    }
  }
}

resources_apply

Create or update any Kubernetes resource by applying a YAML/JSON manifest. Equivalent to kubectl apply.

{
  "type": "object",
  "required": [
    "manifest"
  ],
  "properties": {
    "manifest": {
      "type": "string",
      "description": "YAML or JSON manifest of the resource to apply"
    }
  }
}

resources_delete

Delete a Kubernetes resource by kind, name, and namespace.

{
  "type": "object",
  "required": [
    "kind",
    "name"
  ],
  "properties": {
    "kind": {
      "type": "string",
      "description": "Resource kind"
    },
    "name": {
      "type": "string",
      "description": "Resource name"
    },
    "namespace": {
      "type": "string",
      "description": "Kubernetes namespace"
    }
  }
}

helm_install

Install or upgrade a Helm chart in the specified namespace.

{
  "type": "object",
  "required": [
    "releaseName",
    "chart"
  ],
  "properties": {
    "chart": {
      "type": "string",
      "description": "Chart reference (e.g. bitnami/nginx or ./my-chart)"
    },
    "values": {
      "type": "object",
      "description": "Chart values to override"
    },
    "namespace": {
      "type": "string",
      "description": "Target namespace"
    },
    "releaseName": {
      "type": "string",
      "description": "Helm release name"
    }
  }
}

namespaces_list

List all Kubernetes namespaces in the cluster.

{
  "type": "object",
  "properties": {}
}

Resources

This server does not expose any resources.

Prompts

This server does not expose any prompts.

Server Information

Author
Marc Nuri (@manusa)
Repository
https://github.com/manusa/kubernetes-mcp-server
License
Apache-2.0
Version
0.4.0
Stars
1,800
Last Updated
May 31, 2026