Skip to main content
Glama

k8s-pilot-ci

The Central Pilot for Your Kubernetes Fleets ✈️✈️

k8s_pilot is a lightweight, centralized control plane server for managing multiple Kubernetes clusters at once.
With powerful tools and intuitive APIs, you can observe and control all your clusters from one cockpit.


🚀 Overview

  • 🔄 Supports multi-cluster context switching

  • 🔧 Enables CRUD operations on most common Kubernetes resources

  • 🔒 Readonly mode for safe cluster inspection

  • ⚙️ Powered by MCP for Claude AI and beyond


Related MCP server: k8m

🧰 Prerequisites

  • Python 3.13 or higher

  • uv package manager

  • Access to Kubernetes clusters (~/.kube/config or in-cluster config)

# Install uv (if not installed) # For MacOS brew install uv # For Linux curl -LsSf https://astral.sh/uv/install.sh | sh

Installation

# Clone the repository git clone https://github.com/bourbonkk/k8s-pilot.git cd k8s-pilot # Launch with uv + MCP uv run --with mcp[cli] mcp run k8s_pilot.py

Usage

Normal Mode (Full Access)

# Start with full read/write access uv run --with mcp[cli] mcp run k8s_pilot.py

Readonly Mode (Safe Inspection)

# Start in readonly mode - only read operations allowed uv run --with mcp[cli] python k8s_pilot.py --readonly

Command Line Options

# Show help uv run --with mcp[cli] python k8s_pilot.py --help

Readonly Mode

The --readonly flag enables a safety mode that prevents any write operations to your Kubernetes clusters. This is perfect for:

  • Cluster inspection without risk of accidental changes

  • Audit scenarios where you need to view but not modify

  • Learning environments where you want to explore safely

  • Production monitoring with zero risk of modifications

Protected Operations (Blocked in Readonly Mode)

  • pod_create, pod_update, pod_delete

  • deployment_create, deployment_update, deployment_delete

  • service_create, service_update, service_delete

  • configmap_create, configmap_update, configmap_delete

  • secret_create, secret_update, secret_delete

  • namespace_create, namespace_delete

  • All other create/update/delete operations

Allowed Operations (Always Available)

  • pod_list, pod_detail, pod_logs

  • deployment_list, deployment_get

  • service_list, service_get

  • configmap_list, configmap_get

  • secret_list, secret_get

  • namespace_list, namespace_get

  • All other list/get operations

Usage with Claude Desktop

Use this config to run k8s_pilot MCP server from within Claude:

{ "mcpServers": { "k8s_pilot": { "command": "uv", "args": [ "--directory", "<path-to-cloned-repo>/k8s-pilot", "run", "--with", "mcp[cli]", "mcp", "run", "k8s_pilot.py" ] } } }

For readonly mode, use this configuration:

{ "mcpServers": { "k8s_pilot_readonly": { "command": "uv", "args": [ "--directory", "<path-to-cloned-repo>/k8s-pilot", "run", "--with", "mcp[cli]", "python", "k8s_pilot.py", "--readonly" ] } } }

Replace with the actual directory where you cloned the repo.

Scenario

Create a Deployment using the nginx:latest image in the pypy namespace, and also create a Service that connects to it. deploy와 서비스생성(영어

Key Features

Multi-Cluster Management

  • Seamlessly interact with multiple Kubernetes clusters

  • Perform context-aware operations

  • Easily switch between clusters via MCP prompts

Resource Control

  • View, create, update, delete:

    • Deployments, Services, Pods

    • ConfigMaps, Secrets, Ingresses

    • StatefulSets, DaemonSets

    • Roles, ClusterRoles

    • PersistentVolumes & Claims

Namespace Operations

  • Create/delete namespaces

  • List all resources in a namespace

  • Manage labels and resource quotas

Node Management

  • View node details and conditions

  • Cordon/uncordon, label/taint nodes

  • List pods per node

License

This project is licensed under the MIT License. See the LICENSE file for details.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bourbonkk/k8s-pilot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server