kubernetes-mcp

kubernetes-mcp

20

Kubernetes MCP is an MCP server implemented in Go, designed to facilitate Kubernetes cluster operations through the MCP protocol. It supports a variety of API groups and transport methods, focusing on efficient resource management and interaction with Kubernetes environments.

Kubernetes MCP

✨ A Model Context Protocol (MCP) server implementation designed with Go for interacting with Kubernetes clusters. This server allows MCP-compatible clients to perform Kubernetes operations through defined tools.

📌 Core Features

  • MCP Server: Implements the mcp-go library to provide MCP functionality
  • Kubernetes Interaction: Uses controller-runtime client to interact with clusters
  • Transport Methods: Supports Server-Sent Events (sse)

🛠️ Resource Management Tools

  • Core API Group (v1): List, get, describe, create, update, delete operations
  • Apps API Group (apps/v1): Full support for Deployment, ReplicaSet, etc.
  • Batch API Group (batch/v1): Full support for Job, CronJob
  • Networking API Group (networking.k8s.io/v1): Full support for Ingress, NetworkPolicy
  • RBAC API Group (rbac.authorization.k8s.io/v1): Full support for Role, RoleBinding, etc.
  • Storage API Group (storage.k8s.io/v1): Full support for StorageClass, VolumeAttachment
  • Policy API Group (policy/v1beta1): Full support for PodSecurityPolicy, etc.
  • API Extensions API Group (apiextensions.k8s.io/v1): Full support for CRDs
  • Autoscaling API Group (autoscaling/v1): Full support for HorizontalPodAutoscaler

📋 Requirements

  • Go 1.24
  • Kubernetes cluster access

📦 Key Dependencies

  • mcp-go, controller-runtime, client-go, etc.

🚀 Usage

  • Starting the Server: Various options for server transport and base URL

⚙️ Command Structure

Hierarchical command structure supporting various operations like server start and version display.

🔄 Standard Resource Operations

Supports standard resource operations like listing, getting, describing, creating, updating, and deleting resources.