Skip to main content
Allseer Logo

k8s-mcp

smithery badge

A Python-based, read-only Model Context Protocol (MCP) server for Kubernetes clusters that exposes a comprehensive API to retrieve cluster information and diagnose issues.

Example chat using Claude

Installation

Prerequisites

  • Python 3.8+
  • Access to a Kubernetes cluster (via kubeconfig or in-cluster configuration)
  • Required Python packages (see dependencies in pyproject.toml)
  • uv - https://github.com/astral-sh/uv
# To install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone the repository
git clone git@github.com:vlttnv/k8s-mcp.git
cd k8s-mcp

# Install dependencies
uv venv
source .venv/bin/activate
uv sync

If using Claude configure open your Claude for Desktop App configuration at ~/Library/Application Support/Claude/claude_desktop_config.json in a text editor. Make sure to create the file if it doesn’t exist.

code ~/Library/Application\ Support/Claude/claude_desktop_config.json
{
    "mcpServers": {
        "k8s-mcp": {
            "command": "uv",
            "args": [
                "--directory",
                "/ABSOLUTE/PATH/TO/PARENT/FOLDER/k8s-mcp",
                "run",
                "server.py"
            ]
        }
    }
}

You may need to put the full path to the uv executable in the command field. You can get this by running which uv on MacOS/Linux or where uv on Windows.

Configuration

The application automatically tries two methods to connect to your Kubernetes cluster:

  1. Kubeconfig File: Uses your local kubeconfig file (typically located at ~/.kube/config)
  2. In-Cluster Configuration: If running inside a Kubernetes pod, uses the service account token

No additional configuration is required if your kubeconfig is properly set up or if you're running inside a cluster with appropriate RBAC permissions.

Usage

Examples

Here are some useful example prompts you can ask Claude about your Kubernetes cluster and its resources:

General Cluster Status

  • "What's the overall health of my cluster?"
  • "Show me all namespaces in my cluster"
  • "What nodes are available in my cluster and what's their status?"
  • "How is resource utilization across my nodes?"

Pods and Deployments

  • "List all pods in the production namespace"
  • "Are there any pods in CrashLoopBackOff state?"
  • "Show me pods with high restart counts"
  • "List all deployments across all namespaces"
  • "What deployments are failing to progress?"

Debugging Issues

  • "Why is my pod in the staging namespace failing?"
  • "Get the YAML configuration for the service in the production namespace"
  • "Show me recent events in the default namespace"
  • "Are there any pods stuck in Pending state?"
  • "What's causing ImagePullBackOff errors in my cluster?"

Resource Management

  • "Show me the resource consumption of nodes in my cluster"
  • "Are there any orphaned resources I should clean up?"
  • "List all services in the production namespace"
  • "Compare resource requests between staging and production"

Specific Resource Inspection

  • "Show me the config for the coredns deployment in kube-system"
  • "Get details of the reverse-proxy service in staging"
  • "What containers are running in the pod xyz?"
  • "Show me the logs for the failing pod"

API Reference

Namespaces

  • get_namespaces(): List all available namespaces in the cluster

Pods

  • list_pods(namespace=None): List all pods, optionally filtered by namespace
  • failed_pods(): List all pods in Failed or Error state
  • pending_pods(): List all pods in Pending state with reasons
  • high_restart_pods(restart_threshold=5): Find pods with restart counts above threshold

Nodes

  • list_nodes(): List all nodes and their status
  • node_capacity(): Show available capacity on all nodes

Deployments & Services

  • list_deployments(namespace=None): List all deployments
  • list_services(namespace=None): List all services
  • list_events(namespace=None): List all events

Resource Management

  • orphaned_resources(): List resources without owner references
  • get_resource_yaml(namespace, resource_type, resource_name): Get YAML configuration for a specific resource

License

MIT License

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Metadata

Release files for iflow-mcp_vlttnv-k8s-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_vlttnv-k8s-mcp 0.1.0
File Size Uploaded
iflow_mcp_vlttnv_k8s_mcp-0.1.0.tar.gz 11.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_vlttnv-k8s-mcp 0.1.0
File Interpreter ABI Platform
iflow_mcp_vlttnv_k8s_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 22.4 kB

Release files / iflow_mcp_vlttnv_k8s_mcp-0.1.0.tar.gz

Download URL iflow_mcp_vlttnv_k8s_mcp-0.1.0.tar.gz
Size 11.8 kB
Tags Source
SHA-256 checksum
How to use checksums
63b20f1dd8906e8bba4ccb6a4d3b54abf3d8b9d917e3067be243edb644ee073b
BLAKE2b-256 checksum
How to use checksums
0d67b000c29639295c885460ab83e9022c81aadedb2d8cdeb5037c2ee535886b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_vlttnv_k8s_mcp-0.1.0-py3-none-any.whl

Download URL iflow_mcp_vlttnv_k8s_mcp-0.1.0-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b35783701ed96675a456c4ea91187a89b0e7ca1844d4e63c140c8e96a2e4eb8a
BLAKE2b-256 checksum
How to use checksums
ca5dd3ce784ba936da8799b7ea0aa7a6c5bdc013c83ba787a7544d5afcbeeaaf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page