Ajudar a melhorar esta página
Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.
Conceitos básicos do servidor MCP do Amazon EKS
Este guia apresenta as etapas de configuração e de uso do servidor MCP do EKS com assistentes de código de IA. Você aprenderá a configurar o ambiente, estabelecer conexão com o servidor MCP e começar a gerenciar os clusters do EKS por meio de interações em linguagem natural.
nota
O servidor MCP do Amazon EKS está em versão de pré-visualização para o Amazon EKS e está sujeito a alterações.
Pré-requisitos
Antes de começar, certifique-se de ter realizado as seguintes tarefas:
Configuração
1. Verifique os pré-requisitos do
# Check that your Python version is 3.10 or higher python3 --version # Check uv installation uv --version # Verify CLI configuration aws configure list
2. Configuração de permissões do IAM
Para se conectar ao servidor MCP do EKS, o perfil do IAM deve ter as seguintes políticas anexadas: eks-mcp:InvokeMcp (permissões necessárias para inicialização e recuperação de informações sobre as ferramentas disponíveis), eks-mcp:CallReadOnlyTool (permissões necessárias para o uso de ferramentas destinadas somente à leitura) e eks-mcp:CallPrivilegedTool (permissões necessárias para o uso de ferramentas de acesso total [gravação]). As permissões eks-mcp mencionadas fazem parte das políticas gerenciadas pela AWS de acesso destinadas somente à leitura e de acesso total disponibilizadas abaixo.
-
Abra o console do IAM
. -
No painel de navegação à esquerda, escolha Usuários, Grupos de usuários ou Perfis, dependendo da identidade à qual você deseja anexar a política e, em seguida, o nome do usuário, grupo ou perfil específico.
-
Escolha a aba Permissões.
-
Escolha Anexar políticas (ou Adicionar permissões, se for a primeira vez).
-
Na lista de políticas, pesquise e selecione a política gerenciada que você deseja anexar:
-
Operações destinadas somente à leitura: AmazonEKSMCPReadOnlyAccess
-
Escolha Anexar políticas (ou Próximo e, em seguida, Adicionar permissões para confirmar).
Ao fazer isso, a política é anexada e as permissões entram em vigor imediatamente. Você pode anexar várias políticas à mesma identidade, e cada uma pode conter diversas permissões. Para saber mais sobre essas políticas, consulte Políticas gerenciadas pela AWS para o Amazon Elastic Kubernetes Service.
3. Escolha de um assistente de IA
Escolha um dos seguintes assistentes de IA compatíveis com o MCP ou qualquer ferramenta compatível com o MCP:
Etapa 1: configuração do assistente de IA
Escolha uma das opções apresentadas a seguir para configurar o assistente de código de IA. A conclusão desta etapa configura o assistente de código de IA para usar o Proxy do MCP para AWS, que é necessário para o acesso seguro e autenticado ao servidor MCP do Amazon EKS. Isso envolve adicionar ou editar o arquivo de configuração do MCP (por exemplo, ~/.aws/amazonq/mcp.json para a CLI do Amazon Q Developer). O proxy atua como uma ponte no lado do cliente, gerenciando a autenticação SigV4 da AWS com as credenciais locais da AWS e viabilizando a descoberta dinâmica de ferramentas para interagir com servidores MCP de backend da AWS, como o servidor MCP do EKS. Para saber mais, consulte o repositório MCP Proxy for AWS
Opção A: CLI do Amazon Q Developer
A CLI do Q Developer oferece a experiência mais integrada com o servidor MCP do EKS.
1. Localize o arquivo de configuração do MCP
-
macOS/Linux:
~/.aws/q/mcp.json -
Windows:
%USERPROFILE%\.aws\q\mcp.json
2. Adicione a configuração do servidor MCP
Crie o arquivo de configuração, se ele ainda não existir. Certifique-se de substituir o marcador de região ({region}) pela região desejada.
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}" ] } } }
Aviso de segurança: --read-only para restringir o uso somente a ferramentas de leitura.
3. Verifique a configuração
Reinicie a CLI do Amazon Q Developer e verifique as ferramentas disponíveis:
q /tools
Opção B: IDE do Kiro
O Kiro é um espaço de trabalho de codificação focado em IA com suporte nativo ao MCP
1. Abra as configurações do Kiro
-
Abra o Kiro
-
Acesse Kiro → Settings e pesquise por “MCP Config”
-
Como alternativa, use o atalho
Cmd+Shift+P,(Mac) ouCtrl+Shift+P,(Windows/Linux) e pesquise por “MCP Config”
2. Adicione a configuração do servidor MCP
-
Clique em “Open Workspace MCP Config” ou “Open User MCP Config” para realizar a edição direta do arquivo de configuração.
Certifique-se de substituir o marcador de região ({region}) pela região desejada.
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}" ] } } }
Aviso de segurança: --read-only para restringir o uso somente a ferramentas de leitura.
Opção C: IDE do Cursor
O Cursor oferece suporte nativo ao MCP com uma interface gráfica de configuração.
1. Abra as configurações do Cursor
-
Abra o Cursor
-
Acesse Settings → Cursor Settings → Tools & MCP
-
Como alternativa, use o atalho
Cmd+Shift+P(Mac) ouCtrl+Shift+P(Windows) e pesquise por “MCP”
2. Adicione a configuração do servidor MCP
-
Clique em “New MCP Server”
Crie o arquivo de configuração, se ele ainda não existir. Certifique-se de substituir o marcador de região ({region}) pela região desejada.
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}" ] } } }
Aviso de segurança: --read-only para restringir o uso somente a ferramentas de leitura.
3. Reinicie o Cursor
Encerre e abra novamente o Cursor para que as alterações entrem em vigor.
4. Verifique o chat do Cursor
Acesse o painel de chat e teste o seguinte comando:
What EKS MCP tools are available?
O assistente deve exibir a lista de ferramentas de gerenciamento do EKS disponíveis.
Opção D: Cline (extensão do VS Code)
O Cline é uma extensão muito utilizada no VS Code para integrar assistência de IA ao seu editor.
1. Abra as configurações do Cline
-
Abra o Cline
-
Use o atalho
Cmd+Shift+P(Mac) ouCtrl+Shift+P(Windows) e pesquise por “MCP”
2. Adicione a configuração do servidor MCP
-
Selecione “Add Server”
-
Escolha “Open User Configuration”
Crie o arquivo de configuração, se ele ainda não existir. Certifique-se de substituir o marcador de região ({region}) pela região desejada.
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}" ] } } }
Aviso de segurança: --read-only para restringir o uso somente a ferramentas de leitura.
2. Recarregue o VS Code
Use o atalho Cmd+Shift+P ou Ctrl+Shift+P e selecione “Developer: Reload Window”
3. Verificar a configuração
Abra o Cline e pergunte:
List the available MCP tools for EKS
Etapa 2: (Opcional) criação de uma política de “gravação”
Se desejar, você pode criar uma política do IAM gerenciada pelo cliente para liberar acesso total ao servidor MCP do Amazon EKS. Esta política concede permissões para usar todas as ferramentas no servidor MCP do EKS, incluindo tanto ferramentas privilegiadas, que podem envolver operações de gravação, quanto ferramentas destinadas somente à leitura. Lembre-se de que permissões de alto risco, como ações Delete* ou o acesso irrestrito a recursos do IAM, fazem parte desta política, visto que são indispensáveis para a criação ou exclusão de recursos de cluster usando a ferramenta 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\": \"*\"}]}"
Etapa 3: verificação da configuração
Testar conexão
Faça uma pergunta simples ao seu assistente de IA para verificar a conexão:
List all EKS clusters in my {aws} account
O assistente deve exibir a lista dos clusters do EKS.
Etapa 4: execução das primeiras tarefas
Exemplo 1: conhecer seus clusters
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
Exemplo 2: verificar os recursos do 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
Exemplo 3: solucionar 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
Exemplo 4: criar recursos (se o modo “gravação” estiver habilitado)
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
Configurações comuns
Cenário 1: vários perfis da AWS
Se você trabalha com várias contas da AWS, crie configurações do servidor MCP separadas.
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" ] } } }
Cenário 2: somente leitura para ambientes de produção
Crie uma configuração destinada somente à leitura para ambientes de produção.
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" ] } } }
Cenário 3: desenvolvimento com acesso total
Para ambientes de desenvolvimento com acesso total à gravação.
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" ] } } }
Considerações
Segurança
Não transmita segredos ou informações confidenciais por meio de mecanismos de entrada permitidos:
-
Não inclua segredos ou credenciais em arquivos YAML que são aplicados com apply_yaml.
-
Não forneça informações confidenciais diretamente nos prompts enviados ao modelo.
-
Não inclua segredos em modelos do CloudFormation ou em manifestos de aplicações.
-
Evite o uso de ferramentas do servidor MCP para a criação de Kubernetes Secrets, uma vez que isso demandaria o envio de dados sigilosos ao modelo.
-
Evite o registro de dados sensíveis nos logs das aplicações que são executadas em pods do Kubernetes.
Segurança do conteúdo em YAML:
-
Use somente arquivos YAML originados de fontes seguras.
-
O servidor MCP utiliza a validação nativa da API do Kubernetes para processar o conteúdo YAML, sem contar com um mecanismo de validação próprio.
-
Audite os arquivos YAML antes de aplicá-los ao cluster.
Alternativas ao envio de segredos pelo MCP:
-
Use o AWS Secrets Manager ou o Parameter Store para armazenar informações sensíveis.
-
Configure o RBAC do Kubernetes adequadamente para as contas de serviço.
-
Adote perfis do IAM para contas de serviço (IRSA, na sigla em inglês) para permitir que os pods acessem serviços da AWS com segurança.
A seguir
Para obter uma lista completa de ferramentas e configurações, consulte Referência de configuração da ferramenta de servidor MCP do Amazon EKS.