Amazon EKS MCP Server

Amazon EKS MCP Server

El servidor Amazon EKS MCP es un servidor MCP especializado que permite a los modelos de IA generativa crear, gestionar e interactuar con clústeres de Kubernetes en AWS a través de herramientas MCP estandarizadas, seguras y extensibles.

Author: awslabs


Ver Protocolo

¿Qué es el servidor Amazon EKS MCP?

El servidor Amazon EKS MCP proporciona una interfaz API estandarizada que permite a agentes impulsados por LLM y herramientas de automatización gestionar sin problemas clústeres de AWS Elastic Kubernetes Service (EKS) y recursos de Kubernetes a través del Protocolo de Contexto del Modelo (MCP). Abstrae las complejidades específicas de AWS y las operaciones de Kubernetes detrás de herramientas de fácil descubrimiento, haciendo que la gestión nativa de la nube sea accesible tanto para asistentes de código como para aplicaciones interactivas.

Cómo Configurar

  1. Requisitos previos

    • Asegúrate de tener Python 3.10 o superior instalado (se recomienda a través de uv).
    • Configura las credenciales de AWS (a través de perfil o variables de entorno) con permisos suficientes para gestionar EKS, VPC, IAM, CloudFormation y servicios relacionados.
  2. Instalar el servidor

    • Agrega la siguiente configuración a la configuración de tu cliente MCP (p. ej., mcp.json, cline_mcp_settings.json):
      {
        "awslabs.eks-mcp-server": {
          "command": "uvx",
          "args": ["awslabs.eks-mcp-server@latest"],
          "env": {
            "AWS_PROFILE": "tu-perfil-aws",
            "AWS_REGION": "us-east-1",
            "FASTMCP_LOG_LEVEL": "ERROR"
          }
        }
      }
      
    • Ajusta AWS_PROFILE y AWS_REGION según sea necesario para tu entorno de AWS.
  3. Permisos y Seguridad

    • Las credenciales IAM deben permitir la administración completa o restringida de EKS, VPC, CloudFormation y acceso a la API de Kubernetes.
    • Puedes configurar modo de solo lectura y controles de datos sensibles usando variables de entorno o parámetros de herramientas si es necesario (consulta la documentación del servidor para configuraciones avanzadas).
  4. Iniciar el servidor

    • El cliente o orquestador MCP (p. ej., Cline, Cursor, Windsurf) lanzará el servidor EKS MCP como se especifica en tu configuración.

Cómo Usar

  1. Descubrir herramientas

    • Usa tu cliente habilitado para MCP para listar las herramientas EKS MCP disponibles (generalmente a través de tools/list o el paleta de comandos del cliente).
    • Las herramientas son comandos similares a funciones, como create_eks_cluster, apply_k8s_manifest, etc.
  2. Invocar herramientas

    • Llama a la herramienta deseada con los parámetros requeridos (ya sea de forma interactiva en chat, a través de asistentes de código o flujos automatizados).
    • Ejemplo: "Crea un nuevo clúster EKS llamado 'test-cluster' con 3 nodos en us-east-1 usando el servidor EKS MCP."
    • El cliente te pedirá argumentos para la herramienta, validará permisos/aprobaciones y ejecutará la acción solicitada.
  3. Monitoreo y Retroalimentación

    • Usa herramientas como get_pod_logs o get_cloudwatch_metrics para analizar cargas de trabajo, solucionar problemas de aplicaciones y monitorear clústeres, recibiendo resultados directamente en tu asistente de IA o aplicación.
  4. Control de Seguridad

    • Restringe operaciones habilitando modo de solo lectura o limitando acciones sensibles si tu flujo de trabajo requiere controles más estrictos.
  5. Combinar con otros servidores MCP

    • Orquesta flujos de trabajo en la nube de extremo a extremo aprovechando EKS MCP junto con herramientas para VPC, IAM, CI/CD, bases de datos o análisis de costos.

Características Clave

  • Gestión de Clústeres EKS: Crea, configura, actualiza y elimina clústeres de Amazon EKS, incluida la configuración completa de VPC y red, la orquestación de CloudFormation y las actualizaciones continuas.
  • Ciclo de Vida de Recursos de Kubernetes: Aplica, actualiza, lista o elimina manifiestos y recursos de Kubernetes usando puntos finales de herramientas bien definidos.
  • Despliegue de Aplicaciones: Genera y despliega manifiestos para cargas de trabajo en contenedores con parametrización y mejores prácticas incluidas.
  • Soporte Operativo: Accede a registros, eventos y métricas de salud del clúster en tiempo real y históricos, incluida la integración directa con CloudWatch.
  • Seguridad y Permisos: Soporte para autenticación/autorización basada en IAM, controles de acceso a datos sensibles y operación opcional en modo de solo lectura.
  • Modos Personalizables: Ajusta configuraciones del servidor (p. ej., registro, nivel de acceso, auto-aprobación) a través de la configuración o variables de entorno para que coincidan con tus requisitos de flujo de trabajo y cumplimiento.

Casos de Uso

  • Provisionamiento Automatizado de Clústeres EKS: Permite a un asistente de codificación de IA activar o desactivar clústeres EKS completos como parte de un flujo de trabajo de DevOps o pipeline CI/CD.
  • Actualizaciones Declarativas de Infraestructura: Usa interfaces impulsadas por prompts para generar y aplicar manifiestos de recursos de Kubernetes, iterando rápidamente sobre aplicaciones.
  • Despliegue de Aplicaciones Múltiples: Despliega, escala y revierte microservicios o aplicaciones web con mínima intervención manual.
  • Solución de Problemas Transparente: Recupera registros de pods, flujos de eventos y métricas de estado/clúster en lenguaje natural o entornos de cuadernos interactivos.
  • Entrenamiento, Demos y Sandboxes: Proporciona clústeres o espacios de nombres efímeros para pruebas, demostraciones y propósitos educativos, con una eliminación sencilla para control de costos.
  • Operaciones Conscientes de Seguridad: Adopta modos de solo lectura o restringidos para escenarios de aseguramiento de la calidad, auditoría o revisión, asegurando salvaguardias alrededor de recursos de producción sensibles.

FAQ

P1: ¿Puedo usar el servidor EKS MCP para gestionar clústeres en múltiples cuentas o regiones de AWS?

Sí, puedes configurar el servidor para usar diferentes perfiles y regiones de AWS. Cada instancia del servidor opera con los permisos y contexto de las credenciales/variables de entorno especificadas.

P2: ¿Cómo maneja el servidor operaciones sensibles como eliminar clústeres o modificar permisos de IAM?

Por defecto, las operaciones requieren invocación explícita y aprobación del usuario (a menos que la auto-aprobación esté habilitada). Las operaciones sensibles pueden restringirse o requerir parámetros adicionales. También está disponible un modo de solo lectura por seguridad.

P3: ¿Qué sucede si mis credenciales de AWS expiran o no tienen permisos suficientes?

El servidor reportará errores de permisos a tu cliente. Para mantener una operación ininterrumpida, asegúrate de que las credenciales sean válidas y que tus roles o usuarios de IAM tengan todos los permisos necesarios para EKS, Kubernetes y las API subyacentes de AWS.

P4: ¿Puedo ejecutar múltiples instancias del servidor EKS MCP para diferentes entornos?

Por supuesto. Cada servidor puede configurarse por separado para entornos AWS distintos (dev, staging, prod), con perfiles/regiones separados.

P5: ¿El servidor soporta definiciones de recursos de Kubernetes personalizadas (CRDs)?

Sí, siempre que se proporcionen manifiestos válidos, el servidor puede aplicar, actualizar o eliminar recursos de K8s personalizados utilizando los puntos finales de herramientas relevantes.