Ayude a mejorar esta página
Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.
Introducción al servidor MCP de Amazon EKS
En esta guía, se explican los pasos necesarios para configurar y utilizar el servidor MCP de EKS con los asistentes de código de IA. Obtendrá información sobre cómo configurar el entorno, conectarse al servidor y comenzar a administrar los clústeres de EKS mediante interacciones en lenguaje natural.
nota
El servidor MCP de Amazon EKS se encuentra en versión preliminar para Amazon EKS y está sujeto a cambios.
Requisitos previos
Antes de comenzar, asegúrese de haber realizado las siguientes tareas:
Configuración
1. Verificación de los requisitos previos de
# Check that your Python version is 3.10 or higher python3 --version # Check uv installation uv --version # Verify CLI configuration aws configure list
2. Configuración de permisos de IAM
Para conectarse al servidor MCP de EKS, el rol de IAM debe tener adjuntas las siguientes políticas: eks-mcp:InvokeMcp (permisos necesarios para la inicialización y recuperación de información sobre las herramientas disponibles), eks-mcp:CallReadOnlyTool (permisos necesarios para el uso de herramientas de solo lectura) y eks-mcp:CallPrivilegedTool (permisos necesarios para el uso de herramientas de acceso completo [escritura]). Estos permisos de eks-mcp se incluyen en las políticas administradas de AWS de solo lectura y acceso completo que se indican a continuación.
-
Abra la consola de IAM
. -
En el panel de navegación izquierdo, elija Usuarios, Grupos de usuarios o Roles en función de la identidad a la que desee adjuntar la política y, a continuación, del nombre del usuario, grupo o rol específico.
-
Elija la pestaña Permisos.
-
Elija Adjuntar políticas (o Agregar permisos si es la primera vez).
-
En la lista de políticas, busque y seleccione la política administrada que desee adjuntar:
-
Operaciones de solo lectura: AmazonEKSMCPReadOnlyAccess
-
Elija Adjuntar políticas (o Siguiente, seguido de Agregar permisos para confirmar).
De este modo, se adjunta la política y los permisos entran en vigor inmediatamente. Puede adjuntar varias políticas a la misma identidad y cada política puede incluir varios permisos. Para obtener más información sobre estas políticas, consulte Políticas administradas de AWS para Amazon Elastic Kubernetes Service.
3. Elección de un asistente de IA
Elija uno de los siguientes asistentes de IA compatibles con MCP o cualquier herramienta compatible con MCP:
Paso 1: configuración del asistente de IA
Elija una de las siguientes opciones para configurar el asistente de código de IA. Al completar este paso, se configura el asistente de código de IA para que utilice el proxy MCP para AWS, que es necesario para acceder de forma segura y autenticada al servidor MCP de Amazon EKS. Esto implica agregar o editar el archivo de configuración del MCP (por ejemplo, ~/.aws/amazonq/mcp.json para la CLI de Amazon Q Developer). El proxy actúa como un puente del cliente, gestiona la autenticación de AWS SigV4 con sus credenciales de AWS locales y permite la detección dinámica de herramientas para interactuar con los servidores MCP AWS de backend, como el servidor MCP de EKS. Para obtener más información, consulte el repositorio del proxy MCP para AWS
Opción A: CLI de Amazon Q Developer
La CLI de Q Developer proporciona la experiencia más integrada con el servidor MCP de EKS.
1. Búsqueda del archivo de configuración de MCP
-
macOS/Linux:
~/.aws/q/mcp.json -
Windows:
%USERPROFILE%\.aws\q\mcp.json
2. Adición de la configuración del servidor MCP
Cree el archivo de configuración si no existe. Asegúrese de sustituir el marcador de posición de región ({region}) por la región deseada.
Para Mac/Linux:
{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }
Para Windows:
{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }
Nota de seguridad: Se puede utilizar --read-only para permitir únicamente operaciones de herramientas de solo lectura.
3. Verificación de la configuración
Reinicie la CLI de Q Developer y, a continuación, compruebe las herramientas disponibles:
q /tools
Opción B: IDE de Kiro
Kiro es un espacio de trabajo de codificación centrado en la IA y con soporte del MCP
1. Apertura de la configuración de Kiro
-
Abra Kiro.
-
Vaya a Kiro → Settings y busque “MCP Config”.
-
O pulse
Cmd+Shift+P,(Mac) oCtrl+Shift+P,(Windows y Linux) y busque “MCP Config”.
2. Adición de la configuración del servidor MCP
-
Haga clic en “Open Workspace MCP Config” o en “Open User MCP Config” para editar el archivo de configuración de MCP directamente.
Asegúrese de sustituir el marcador de posición de región ({region}) por la región deseada.
Para Mac/Linux:
{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }
Para Windows:
{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }
Nota de seguridad: Se puede utilizar --read-only para permitir únicamente operaciones de herramientas de solo lectura.
Opción C: IDE de Cursor
Cursor proporciona soporte de MCP integrado con una interfaz de configuración gráfica.
1. Apertura de la configuración de Cursor
-
Abra Cursor.
-
Vaya a Settings → Cursor Settings → Tools & MCP
-
O pulse
Cmd+Shift+P(Mac) oCtrl+Shift+P(Windows) y busque “MCP”.
2. Adición de la configuración del servidor MCP
-
Haga clic en “New MCP Server”.
Cree el archivo de configuración si no existe. Asegúrese de sustituir el marcador de posición de región ({region}) por la región deseada.
Para Mac/Linux:
{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }
Para Windows:
{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }
Nota de seguridad: Se puede utilizar --read-only para permitir únicamente operaciones de herramientas de solo lectura.
3. Reinicio de Cursor
Cierre y vuelva a abrir Cursor para que los cambios surtan efecto.
4. Comprobación en el chat de Cursor
Abra el panel de chat e intente lo siguiente:
What EKS MCP tools are available?
Debería aparecer una lista completa de las herramientas de administración de EKS disponibles.
Opción D: Cline (extensión de VS Code)
Cline es una popular extensión de VS Code que lleva la asistencia de la IA directamente a su editor.
1. Apertura de la configuración de Cline
-
Abra Cline.
-
Pulse
Cmd+Shift+P(Mac) oCtrl+Shift+P(Windows) y busque “MCP”.
2. Adición de la configuración del servidor MCP
-
Haga clic en “Add Server”.
-
Haga clic en “Open User Configuration”.
Cree el archivo de configuración si no existe. Asegúrese de sustituir el marcador de posición de región ({region}) por la región deseada.
Para Mac/Linux:
{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }
Para Windows:
{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }
Nota de seguridad: Se puede utilizar --read-only para permitir únicamente operaciones de herramientas de solo lectura.
2. Recarga de VS Code
Pulse Cmd+Shift+P o Ctrl+Shift+P y seleccione “Developer: Reload Window”.
3. Verificación de la configuración
Abra Cline y pregunte lo siguiente:
List the available MCP tools for EKS
Paso 2 (opcional): creación de una política de “escritura”
Si lo desea, puede crear una política de IAM administrada por el cliente que proporcione acceso completo al servidor MCP de Amazon EKS. Esta política otorga permisos para usar todas las herramientas del servidor MCP de EKS, lo que incluye tanto las herramientas con privilegios que pueden implicar operaciones de escritura como las herramientas de solo lectura. Tenga en cuenta que, en esta política, se incluyen los permisos de alto riesgo (todos aquellos que contengan Delete* o un recurso de IAM sin restricciones), ya que son necesarios para configurar o desmontar los recursos del clúster en la herramienta manage_eks_stacks.
aws iam create-policy \ --policy-name EKSMcpWriteManagementPolicy \ --policy-document "{\"Version\": \"2012-10-17\", \"Statement\": [{\"Effect\": \"Allow\", \"Action\": [\"eks:DescribeCluster\", \"eks:ListClusters\", \"eks:DescribeNodegroup\", \"eks:ListNodegroups\", \"eks:DescribeAddon\", \"eks:ListAddons\", \"eks:DescribeAccessEntry\", \"eks:ListAccessEntries\", \"eks:DescribeInsight\", \"eks:ListInsights\", \"eks:AccessKubernetesApi\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"eks:CreateCluster\", \"eks:DeleteCluster\", \"eks:CreateAccessEntry\", \"eks:TagResource\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"iam:GetRole\", \"iam:ListRolePolicies\", \"iam:ListAttachedRolePolicies\", \"iam:GetRolePolicy\", \"iam:GetPolicy\", \"iam:GetPolicyVersion\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"iam:TagRole\", \"iam:CreateRole\", \"iam:AttachRolePolicy\", \"iam:PutRolePolicy\", \"iam:DetachRolePolicy\", \"iam:DeleteRole\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"iam:PassRole\"], \"Resource\": \"*\", \"Condition\": {\"StringEquals\": {\"iam:PassedToService\": [\"eks.amazonaws.com\", \"ec2.amazonaws.com\"]}}}, {\"Effect\": \"Allow\", \"Action\": [\"ec2:CreateVpc\", \"ec2:CreateSubnet\", \"ec2:CreateRouteTable\", \"ec2:CreateRoute\", \"ec2:CreateInternetGateway\", \"ec2:CreateNatGateway\", \"ec2:CreateSecurityGroup\", \"ec2:AttachInternetGateway\", \"ec2:AssociateRouteTable\", \"ec2:ModifyVpcAttribute\", \"ec2:ModifySubnetAttribute\", \"ec2:AllocateAddress\", \"ec2:CreateTags\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"ec2:DeleteVpc\", \"ec2:DeleteSubnet\", \"ec2:DisassociateRouteTable\", \"ec2:DeleteRouteTable\", \"ec2:DeleteRoute\", \"ec2:DetachInternetGateway\", \"ec2:DeleteInternetGateway\", \"ec2:DeleteNatGateway\", \"ec2:ReleaseAddress\", \"ec2:DeleteSecurityGroup\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"ec2:DescribeVpcs\", \"ec2:DescribeSubnets\", \"ec2:DescribeRouteTables\", \"ec2:DescribeInternetGateways\", \"ec2:DescribeNatGateways\", \"ec2:DescribeAddresses\", \"ec2:DescribeSecurityGroups\", \"ec2:DescribeAvailabilityZones\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"cloudformation:CreateStack\", \"cloudformation:UpdateStack\", \"cloudformation:DeleteStack\", \"cloudformation:DescribeStacks\", \"cloudformation:TagResource\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"sts:GetCallerIdentity\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"logs:StartQuery\", \"logs:GetQueryResults\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"cloudwatch:GetMetricData\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"eks-mcp:*\"], \"Resource\": \"*\"}]}"
Paso 3: comprobación de la configuración
Prueba de conexión
Haga una pregunta sencilla a su asistente de IA para verificar la conexión:
List all EKS clusters in my {aws} account
Debería aparecer una lista de los clústeres de EKS.
Paso 4: ejecución de las primeras tareas
Ejemplo 1: exploración de los clústeres
Show me all EKS clusters and their status What insights does EKS have about my production-cluster? Show me the VPC configuration for my staging cluster
Ejemplo 2: comprobación de los recursos de Kubernetes
Get the details of all the kubernetes resources deployed in my EKS cluster Show me pods that are not in Running state or pods with any restarts Get the logs from the aws-node daemonset in the last 30 minutes
Ejemplo 3: solución de problemas
Why is my nginx-ingress-controller pod failing to start? Search the EKS troubleshooting guide for pod networking issues Show me events related to the failed deployment in the staging namespace
Ejemplo 4: creación de recursos (si el modo de “escritura” está activado)
Create a new EKS cluster named demo-cluster with VPC and Auto Mode Deploy my containerized app from ECR to the production namespace with 3 replicas Generate a Kubernetes deployment YAML for my Node.js app running on port 3000
Configuraciones comunes
Escenario 1: varios perfiles de AWS
Si trabaja con varias cuentas de AWS, cree configuraciones de servidor MCP independientes.
Para Mac/Linux:
{ "mcpServers": { "eks-mcp-prod": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "production", "--region", "us-west-2" ] }, "eks-mcp-dev": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "development", "--region", "us-east-1" ] } } }
Para Windows:
{ "mcpServers": { "eks-mcp-prod": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "production", "--region", "us-west-2" ] }, "eks-mcp-dev": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "development", "--region", "us-east-1" ] } } }
Escenario 2: solo lectura para producción
Cree una configuración de solo lectura para los entornos de producción.
Para Mac/Linux:
{ "mcpServers": { "eks-mcp-prod-readonly": { "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "production", "--region", "us-west-2", "--read-only" ], "autoApprove": [ "list_k8s_resources", "get_pod_logs", "get_k8s_events" ] } } }
Para Windows:
{ "mcpServers": { "eks-mcp-prod-readonly": { "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "production", "--region", "us-west-2", "--read-only" ], "autoApprove": [ "list_k8s_resources", "get_pod_logs", "get_k8s_events" ] } } }
Escenario 3: desarrollo con acceso completo
Para entornos de desarrollo con acceso de escritura completo.
Para Mac/Linux:
{ "mcpServers": { "eks-mcp-dev-full": { "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "development", "--region", "us-east-1" ] } } }
Para Windows:
{ "mcpServers": { "eks-mcp-dev-full": { "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "development", "--region", "us-east-1" ] } } }
Consideraciones
Seguridad
No divulgue secretos ni información confidencial a través de los mecanismos de entrada permitidos:
-
No incluya secretos ni credenciales en los archivos YAML aplicados con apply_yaml.
-
No transfiera información confidencial directamente al modelo en las petición.
-
No incluya secretos en las plantillas de CloudFormation ni en los manifiestos de aplicaciones.
-
Evite usar herramientas de MCP para crear secretos de Kubernetes, ya que esto requeriría proporcionar los datos secretos al modelo.
-
Evite registrar información confidencial en los registros de las aplicaciones dentro de pods de Kubernetes.
Seguridad del contenido de YAML:
-
Utilice archivos YAML solo de orígenes fiables.
-
El servidor depende de la validación de la API de Kubernetes para el contenido de YAML y no lleva a cabo su propia validación.
-
Audite los archivos YAML antes de aplicarlos al clúster.
En lugar de transferir los secretos a través del MCP, haga lo siguiente:
-
Utilice AWS Secrets Manager o el Almacén de parámetros para almacenar información confidencial.
-
Configure el RBAC de Kubernetes adecuado para las cuentas de servicio.
-
Utilice roles de IAM para cuentas de servicio (IRSA) para acceder al servicio de AWS desde los pods.
Tema siguiente
Para una lista completa de configuraciones y herramientas, consulte Referencia de la configuración de la herramienta del servidor MCP de Amazon EKS.