Skip to main content
Glama

Kubernetes Monitor

by vlttnv
MIT License
1
  • Apple
  • Linux

k8s-mcp

Un servidor de Protocolo de contexto de modelo (MCP) de solo lectura basado en Python para clústeres de Kubernetes que expone una API integral para recuperar información del clúster y diagnosticar problemas.

Ejemplo de chat con Claude

Instalación

Prerrequisitos

  • Python 3.8+
  • Acceso a un clúster de Kubernetes (a través de kubeconfig o configuración en el clúster)
  • Paquetes de Python necesarios (ver dependencies en 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

Si usa la configuración de Claude, abra la configuración de la aplicación Claude para escritorio en ~/Library/Application Support/Claude/claude_desktop_config.json en un editor de texto. Asegúrese de crear el archivo si no existe.

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" ] } } }

Es posible que necesites introducir la ruta completa del ejecutable uv en el campo de comandos. Puedes obtenerla ejecutando "which uv" en macOS/Linux o "where uv" en Windows.

Configuración

La aplicación prueba automáticamente dos métodos para conectarse a su clúster de Kubernetes:

  1. Archivo Kubeconfig : utiliza su archivo kubeconfig local (normalmente ubicado en ~/.kube/config )
  2. Configuración en clúster : si se ejecuta dentro de un pod de Kubernetes, utiliza el token de la cuenta de servicio

No se requiere ninguna configuración adicional si su kubeconfig está configurado correctamente o si se ejecuta dentro de un clúster con permisos RBAC adecuados.

Uso

Ejemplos

A continuación se muestran algunos ejemplos útiles de preguntas que puedes hacerle a Claude sobre tu clúster de Kubernetes y sus recursos:

Estado general del clúster
  • "¿Cuál es el estado general de mi clúster?"
  • "Muéstrame todos los espacios de nombres en mi clúster"
  • "¿Qué nodos están disponibles en mi clúster y cuál es su estado?"
  • "¿Cómo es la utilización de recursos en mis nodos?"
Pods e implementaciones
  • "Enumerar todos los pods en el espacio de nombres de producción"
  • "¿Hay algún pod en estado CrashLoopBackOff?"
  • "Muéstrame los pods con un alto número de reinicios"
  • "Enumerar todas las implementaciones en todos los espacios de nombres"
  • ¿Qué implementaciones no están avanzando?
Problemas de depuración
  • "¿Por qué falla mi pod en el espacio de nombres de prueba?"
  • Obtener la configuración YAML para el servicio en el espacio de nombres de producción
  • "Muéstrame eventos recientes en el espacio de nombres predeterminado"
  • "¿Hay alguna cápsula atascada en estado pendiente?"
  • "¿Qué está causando errores de ImagePullBackOff en mi clúster?"
Gestión de recursos
  • "Muéstrame el consumo de recursos de los nodos de mi clúster"
  • "¿Existen recursos huérfanos que deba limpiar?"
  • "Enumerar todos los servicios en el espacio de nombres de producción"
  • Comparar las solicitudes de recursos entre la fase de ensayo y la de producción.
Inspección de recursos específicos
  • Muéstrame la configuración para la implementación de coredns en kube-system.
  • Obtener detalles del servicio de proxy inverso en la etapa de prueba
  • "¿Qué contenedores se están ejecutando en el pod xyz?"
  • "Muéstrame los registros del módulo defectuoso"

Referencia de API

Espacios de nombres

  • get_namespaces() : enumera todos los espacios de nombres disponibles en el clúster

Vainas

  • list_pods(namespace=None) : enumera todos los pods, opcionalmente filtrados por espacio de nombres
  • failed_pods() : enumera todos los pods en estado de error o falla
  • pending_pods() : enumera todos los pods en estado pendiente con los motivos
  • high_restart_pods(restart_threshold=5) : busca pods con recuentos de reinicios superiores al umbral

Nodos

  • list_nodes() : enumera todos los nodos y su estado
  • node_capacity() : Muestra la capacidad disponible en todos los nodos

Implementaciones y servicios

  • list_deployments(namespace=None) : enumera todas las implementaciones
  • list_services(namespace=None) : Listar todos los servicios
  • list_events(namespace=None) : Lista todos los eventos

Gestión de recursos

  • orphaned_resources() : enumera recursos sin referencias de propietario
  • get_resource_yaml(namespace, resource_type, resource_name) : obtiene la configuración de YAML para un recurso específico

Licencia

Licencia MIT

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor MCP de solo lectura para Kubernetes que permite consultar información del clúster y diagnosticar problemas a través de interfaces de lenguaje natural como Claude.

  1. Instalación
    1. Prerrequisitos
  2. Configuración
    1. Uso
      1. Ejemplos
    2. Referencia de API
      1. Espacios de nombres
      2. Vainas
      3. Nodos
      4. Implementaciones y servicios
      5. Gestión de recursos
    3. Licencia
      1. Contribuyendo

        Related MCP Servers

        • A
          security
          F
          license
          A
          quality
          A MCP server that can run Kubernetes commands with a given kubeconfig path and provide interpretation of the commands.
          Last updated -
          1
          2
          JavaScript
          • Apple
        • -
          security
          A
          license
          -
          quality
          An MCP server that enables interaction with Kubernetes/Minikube clusters through natural language, allowing AI agents like Codename Goose to manage Kubernetes resources via the Model Context Protocol.
          Last updated -
          Python
          MIT License
        • -
          security
          F
          license
          -
          quality
          A server that enables LLMs to manage Kubernetes clusters through natural language commands, wrapping kubectl operations to provide a simplified interface for common Kubernetes tasks.
          Last updated -
          3
          Python
        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that enables AI assistants to interact with Kubernetes clusters through natural language, supporting core Kubernetes operations, monitoring, security, and diagnostics.
          Last updated -
          604
          Python
          MIT License
          • Linux
          • Apple

        View all related MCP servers

        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/vlttnv/k8s-mcp'

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