Kubectl MCP Tool

by rohitg00
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Supports Helm v3 operations for package management in Kubernetes, enabling installation, upgrades, and uninstallation of Helm charts through natural language commands.

  • Provides comprehensive access to Kubernetes functionality including resource management, deployment scaling, pod operations, security configuration, diagnostics, and monitoring through natural language.

  • Allows installation of the MCP tool directly from PyPI, with support for version-specific installations and development versions.

Herramienta MCP de Kubectl

Un servidor de Protocolo de contexto de modelo (MCP) para Kubernetes que permite que los asistentes de IA como Claude, Cursor y otros interactúen con los clústeres de Kubernetes a través del lenguaje natural.

⚠️ Problemas conocidos

Actualmente estamos experimentando problemas de análisis de JSON en nuestro servidor. Esto ha provocado dificultades al ejecutar MCP en:

  • Claude
  • Cursor
  • Windsurf

Estoy trabajando activamente para resolver estos problemas. Dado que gestiono el proceso de resolución de problemas de forma independiente, la resolución podría tardar un tiempo, ya que estoy realizando pruebas detalladas para cada servicio individualmente. Si puede depurar estos problemas, no dude en enviar una solicitud de incorporación de cambios .

Agradecemos enormemente su paciencia y continuo apoyo durante este período. 🙏

¡Gracias por su comprensión!

Características

Operaciones principales de Kubernetes

  • [x] Conectarse a un clúster de Kubernetes
  • [x] Enumerar y administrar pods, servicios, implementaciones y nodos
  • [x] Crear, eliminar y describir pods y otros recursos
  • [x] Obtener registros de pods y eventos de Kubernetes
  • [x] Soporte para operaciones de Helm v3 (instalación, actualizaciones, desinstalación)
  • [x] Explicación de kubectl y soporte de api-resources
  • [x] Elija el espacio de nombres para los próximos comandos (persistencia de memoria)
  • [x] Reenvío de puertos a pods
  • [x] Implementaciones a escala y conjuntos con estado
  • [x] Ejecutar comandos en contenedores
  • [x] Administrar ConfigMaps y secretos
  • [x] Revertir implementaciones a versiones anteriores
  • [x] Gestión de políticas de entrada y red
  • [x] Cambio de contexto entre clústeres

Procesamiento del lenguaje natural

  • [x] Procesar consultas en lenguaje natural para operaciones de kubectl
  • [x] Comandos conscientes del contexto con memoria de operaciones anteriores
  • [x] Explicaciones intuitivas de los conceptos de Kubernetes
  • [x] Construcción de comandos inteligentes a partir de la intención
  • [x] Recurrir a kubectl cuando no se disponga de herramientas especializadas
  • [x] Soporte de datos simulados para escenarios de prueba/fuera de línea
  • [x] Manejo de consultas teniendo en cuenta el espacio de nombres

Escucha

  • [x] Supervisión del estado del clúster
  • [x] Seguimiento de la utilización de recursos
  • [x] Estado del pod y controles de salud
  • [x] Monitoreo y alerta de eventos
  • [x] Análisis de capacidad y asignación de nodos
  • [x] Seguimiento del rendimiento histórico
  • [x] Estadísticas de uso de recursos a través de kubectl top
  • [x] Seguimiento de la preparación y actividad de los contenedores

Seguridad

  • [x] Validación y verificación de RBAC
  • [x] Auditoría del contexto de seguridad
  • [x] Conexiones seguras a la API de Kubernetes
  • [x] Gestión de credenciales
  • [x] Evaluación de políticas de red
  • [x] Escaneo de seguridad de contenedores
  • [x] Aplicación de las mejores prácticas de seguridad
  • [x] Gestión de roles y roles de clúster
  • [x] Creación y vinculación de ServiceAccount
  • [x] Análisis de PodSecurityPolicy
  • [x] Auditoría de permisos RBAC
  • [x] Validación del contexto de seguridad

Diagnóstico

  • [x] Diagnóstico y resolución de problemas del clúster
  • [x] Validación de configuración
  • [x] Análisis de errores y sugerencias de recuperación
  • [x] Supervisión del estado de la conexión
  • [x] Análisis de registros y detección de patrones
  • [x] Identificación de restricciones de recursos
  • [x] Diagnóstico de verificación del estado del pod
  • [x] Identificación de patrones de error comunes
  • [x] Validación de recursos para configuraciones incorrectas
  • [x] Validación detallada de la sonda de actividad y preparación

Funciones avanzadas

  • [x] Compatibilidad con múltiples protocolos de transporte (stdio, SSE)
  • [x] Integración con múltiples asistentes de IA
  • [x] Marco de herramientas extensible
  • [x] Soporte para definición de recursos personalizados
  • [x] Operaciones entre espacios de nombres
  • [x] Operaciones por lotes en múltiples recursos
  • [x] Mapeo inteligente de relaciones de recursos
  • [x] Explicación del error con sugerencias de recuperación
  • [x] Gestión e identificación de volúmenes

Arquitectura

Integración del Protocolo de Contexto de Modelo (MCP)

La herramienta MCP de Kubectl implementa el Protocolo de Contexto de Modelo (MCP) , lo que permite a los asistentes de IA interactuar con clústeres de Kubernetes mediante una interfaz estandarizada. La arquitectura consta de:

  1. Servidor MCP : un servidor compatible que gestiona solicitudes de clientes MCP (asistentes de IA)
  2. Registro de herramientas : registra las operaciones de Kubernetes como herramientas MCP con esquemas
  3. Capa de transporte : admite los métodos de transporte stdio, SSE y HTTP
  4. Operaciones principales : traduce las llamadas de herramientas a operaciones de API de Kubernetes
  5. Formateador de respuestas : convierte las respuestas de Kubernetes en respuestas compatibles con MCP

Flujo de solicitud

Operación en modo dual

La herramienta funciona en dos modos:

  1. Modo CLI : interfaz de línea de comandos directa para ejecutar operaciones de Kubernetes
  2. Modo servidor : se ejecuta como un servidor MCP para gestionar solicitudes de asistentes de IA

Instalación

Para obtener instrucciones de instalación detalladas, consulte la Guía de instalación .

Puede instalar kubectl-mcp-tool directamente desde PyPI:

pip install kubectl-mcp-tool

Para una versión específica:

pip install kubectl-mcp-tool==1.1.0

El paquete está disponible en PyPI: https://pypi.org/project/kubectl-mcp-tool/1.1.0/

Prerrequisitos

  • Python 3.9+
  • CLI de kubectl instalado y configurado
  • Acceso a un clúster de Kubernetes
  • pip (administrador de paquetes de Python)

Instalación global

# Install latest version from PyPI pip install kubectl-mcp-tool # Or install development version from GitHub pip install git+https://github.com/rohitg00/kubectl-mcp-server.git

Instalación de Desarrollo Local

# Clone the repository git clone https://github.com/rohitg00/kubectl-mcp-server.git cd kubectl-mcp-server # Install in development mode pip install -e .

Verificación de la instalación

Después de la instalación, verifique que la herramienta funcione correctamente:

# Check CLI mode kubectl-mcp --help

Nota: Esta herramienta está diseñada para funcionar como un servidor MCP al que se conectan los asistentes de IA, no como un reemplazo directo de kubectl. El comando principal disponible es kubectl-mcp serve , que inicia el servidor MCP.

Uso con asistentes de IA

Escritorio de Claude

Agregue lo siguiente a su configuración de Claude Desktop en ~/.config/claude/mcp.json (Windows: %APPDATA%\Claude\mcp.json ):

{ "mcpServers": { "kubernetes": { "command": "python", "args": ["-m", "kubectl_mcp_tool.minimal_wrapper"], "env": { "KUBECONFIG": "/path/to/your/.kube/config" } } } }

Cursor AI

Agregue lo siguiente a la configuración de Cursor AI en MCP agregando un nuevo servidor MCP global:

{ "mcpServers": { "kubernetes": { "command": "python", "args": ["-m", "kubectl_mcp_tool.minimal_wrapper"], "env": { "KUBECONFIG": "/path/to/your/.kube/config", "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin" } } } }

Guarde esta configuración en ~/.cursor/mcp.json para configuraciones globales.

Nota : Reemplace /path/to/your/.kube/config con la ruta real de su archivo kubeconfig. En la mayoría de los sistemas, es ~/.kube/config .

Windsurf

Agregue lo siguiente a su configuración de Windsurf en ~/.config/windsurf/mcp.json (Windows: %APPDATA%\WindSurf\mcp.json ):

{ "mcpServers": { "kubernetes": { "command": "python", "args": ["-m", "kubectl_mcp_tool.minimal_wrapper"], "env": { "KUBECONFIG": "/path/to/your/.kube/config" } } } }

Configuración automática

Para la configuración automática de todos los asistentes de IA compatibles, ejecute el script de instalación proporcionado:

bash install.sh

Este script hará lo siguiente:

  1. Instalar las dependencias necesarias
  2. Crear archivos de configuración para Claude, Cursor y WindSurf
  3. Configurar las rutas y variables de entorno correctas
  4. Pruebe su conexión de Kubernetes

Prerrequisitos

  1. kubectl instalado y en su PATH
  2. Un archivo kubeconfig válido
  3. Acceso a un clúster de Kubernetes
  4. Helm v3 (opcional, para operaciones de Helm)

Ejemplos

Pods de lista

List all pods in the default namespace

Implementar una aplicación

Create a deployment named nginx-test with 3 replicas using the nginx:latest image

Comprobar registros de pods

Get logs from the nginx-test pod

Reenvío de puertos

Forward local port 8080 to port 80 on the nginx-test pod

Desarrollo

# Clone the repository git clone https://github.com/rohitg00/kubectl-mcp-server.git cd kubectl-mcp-server # Install dependencies pip install -r requirements.txt # Install in development mode pip install -e . # Run tests python -m python_tests.test_all_features

Estructura del proyecto

├── kubectl_mcp_tool/ # Main package │ ├── __init__.py # Package initialization │ ├── cli.py # CLI entry point │ ├── mcp_server.py # MCP server implementation │ ├── mcp_kubectl_tool.py # Main kubectl MCP tool implementation │ ├── natural_language.py # Natural language processing │ ├── diagnostics.py # Diagnostics functionality │ ├── core/ # Core functionality │ ├── security/ # Security operations │ ├── monitoring/ # Monitoring functionality │ ├── utils/ # Utility functions │ └── cli/ # CLI functionality components ├── python_tests/ # Test suite │ ├── run_mcp_tests.py # Test runner script │ ├── mcp_client_simulator.py # MCP client simulator for mock testing │ ├── test_utils.py # Test utilities │ ├── test_mcp_core.py # Core MCP tests │ ├── test_mcp_security.py # Security tests │ ├── test_mcp_monitoring.py # Monitoring tests │ ├── test_mcp_nlp.py # Natural language tests │ ├── test_mcp_diagnostics.py # Diagnostics tests │ └── mcp_test_strategy.md # Test strategy documentation ├── docs/ # Documentation │ ├── README.md # Documentation overview │ ├── INSTALLATION.md # Installation guide │ ├── integration_guide.md # Integration guide │ ├── cursor/ # Cursor integration docs │ ├── windsurf/ # Windsurf integration docs │ └── claude/ # Claude integration docs ├── compatible_servers/ # Compatible MCP server implementations │ ├── cursor/ # Cursor-compatible servers │ ├── windsurf/ # Windsurf-compatible servers │ ├── minimal/ # Minimal server implementations │ └── generic/ # Generic MCP servers ├── requirements.txt # Python dependencies ├── setup.py # Package setup script ├── pyproject.toml # Project configuration ├── MANIFEST.in # Package manifest ├── LICENSE # MIT License ├── CHANGELOG.md # Version history ├── .gitignore # Git ignore file ├── install.sh # Installation script ├── publish.sh # PyPI publishing script └── start_mcp_server.sh # Server startup script

Contribuyendo

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

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. Abrir una solicitud de extracción

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

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

Un servidor de protocolo de contexto de modelo que permite a los asistentes de IA interactuar con clústeres de Kubernetes a través del lenguaje natural, lo que respalda las operaciones principales de Kubernetes, la supervisión, la seguridad y los diagnósticos.

  1. ⚠️ Known Issues
    1. Features
      1. Core Kubernetes Operations
      2. Natural Language Processing
      3. Monitoring
      4. Security
      5. Diagnostics
      6. Advanced Features
    2. Architecture
      1. Model Context Protocol (MCP) Integration
      2. Request Flow
      3. Dual Mode Operation
    3. Installation
      1. Prerequisites
      2. Global Installation
      3. Local Development Installation
      4. Verifying Installation
    4. Usage with AI Assistants
      1. Claude Desktop
      2. Cursor AI
      3. Windsurf
      4. Automatic Configuration
    5. Prerequisites
      1. Examples
        1. List Pods
        2. Deploy an Application
        3. Check Pod Logs
        4. Port Forwarding
      2. Development
        1. Project Structure
          1. Contributing
            1. License
              ID: e0r1dfpk7e