MCP ExplorerExplorer

Mcp K8s Eye

@wenhuwangon 9 months ago
20 Apache-2.0
FreeCommunity
AI Systems
MCP Server for kubernetes management and analyze workload status

Overview

What is Mcp K8s Eye

mcp-k8s-eye is a tool designed for managing Kubernetes clusters and analyzing workload status.

Use cases

Use cases include monitoring pod performance, scaling deployments, managing services, and analyzing workload statuses within Kubernetes clusters.

How to use

To use mcp-k8s-eye, clone the repository from GitHub, build the binary using Go, and configure the mcpServers section in your JSON configuration with the path to the binary and your home directory.

Key features

Key features include connecting to a Kubernetes cluster, managing pods, deployments, and services, as well as analyzing their statuses.

Where to use

mcp-k8s-eye can be used in cloud environments, DevOps practices, and any organization that relies on Kubernetes for container orchestration.

Content

mcp-k8s-eye

mcp-k8s-eye is a tool that can manage kubernetes cluster and analyze workload status.

Features

Core Kubernetes Operations

  • [x] Connect to a Kubernetes cluster
  • [x] Generic Kubernetes Resources management capabilities
    • Support all navtie resources: Pod, Deployment, Service, StatefulSet, Ingress…
    • Support CustomResourceDefinition resources
    • Operations include: list, get, create, update, delete
  • [x] Pod management capabilities (exec, logs)
  • [x] Deployment management capabilities (scale)
  • [x] Describe Kubernetes resources
  • [ ] Explain Kubernetes resources

Diagnostics

  • [x] Pod diagnostics (analyze pod status, container status, pod resource utilization)
  • [x] Service diagnostics (analyze service selector configuration, not ready endpoints, events)
  • [x] Deployment diagnostics (analyze available replicas)
  • [x] StatefulSet diagnostics (analyze statefulset service if exists, pvc if exists, available replicas)
  • [x] CronJob diagnostics (analyze cronjob schedule, starting deadline, last schedule time)
  • [x] Ingress diagnostics (analyze ingress class configuration, related services, tls secrets)
  • [x] NetworkPolicy diagnostics (analyze networkpolicy configuration, affected pods)
  • [x] ValidatingWebhook diagnostics (analyze webhook configuration, referenced services and pods)
  • [x] MutatingWebhook diagnostics (analyze webhook configuration, referenced services and pods)
  • [x] Node diagnostics (analyze node conditions)
  • [ ] Cluster diagnostics and troubleshooting

Monitoring

  • [x] Pod, Deployment, ReplicaSet, StatefulSet, DaemonSet workload resource usage (cpu, memory)
  • [ ] Node capacity, utilization (cpu, memory)
  • [ ] Cluster capacity, utilization (cpu, memory)

Advanced Features

  • [x] Multiple transport protocols support (Stdio, SSE)
  • [x] Support multiple AI Clients

Tools Usage

Resource Operation Tools

  • resource_get: Get detailed resource information about a specific resource in a namespace
  • resource_list: List detailed resource information about all resources in a namespace
  • resource_create_or_update: Create or update a resource in a namespace
  • resource_delete: Delete a resource in a namespace
  • resource_describe: Describe a resource detailed information in a namespace
  • deployment_scale: Scale a deployment in a namespace
  • pod_exec: Execute a command in a pod in a namespace`
  • pod_logs: Get logs from a pod in a namespace

Diagnostics Tools

  • pod_analyze: Diagnose all pods in a namespace
  • deployment_analyze: Diagnose all deployments in a namespace
  • statefulset_analyze: Diagnose all statefulsets in a namespace
  • service_analyze: Diagnose all services in a namespace
  • cronjob_analyze: Diagnose all cronjobs in a namespace
  • ingress_analyze: Diagnose all ingresses in a namespace
  • networkpolicy_analyze: Diagnose all networkpolicies in a namespace
  • validatingwebhook_analyze: Diagnose all validatingwebhooks
  • mutatingwebhook_analyze: Diagnose all mutatingwebhooks
  • node_analyze: Diagnose all nodes in cluster

Monitoring Tools

  • workload_resource_usage: Get pod/deployment/replicaset/statefulset resource usage in a namepace (cpu, memory)

Requirements

  • Go 1.23 or higher
  • kubectl configured

Installation

# clone the repository
git clone https://github.com/wenhuwang/mcp-k8s-eye.git
cd mcp-k8s-eye

# build the binary
go build -o mcp-k8s-eye

Usage

Stdio mode

{
  "mcpServers": {
    "k8s eye": {
      "command": "YOUR mcp-k8s-eye PATH",
      "env": {
        "HOME": "USER HOME DIR"
      },
    }
  }
}

env.HOME is used to set the HOME directory for kubeconfig file.

SSE mode

  1. start your mcp sse server
  2. config your mcp server
{
  "mcpServers": {
    "k8s eye": {
      "url": "http://localhost:8080/sse",
      "env": {}
    }
  }
}

cursor tools

cursor tools

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers