

 **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.

# Referência de ferramentas de servidor MCP do Amazon EKS
<a name="eks-mcp-tools"></a>

O servidor disponibiliza as [ferramentas do MCP](https://modelcontextprotocol.io/docs/concepts/tools) apresentadas a seguir.

**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.

## Ferramentas somente leitura
<a name="read_only_tools"></a>

Esta seção descreve as ferramentas destinadas somente à leitura disponíveis para o servidor MCP do EKS. Lembre-se de que todas as operações de leitura da API do Kubernetes podem acessar tanto:
+  **Clusters privados** (consulte [Endpoint privado do cluster](https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html#cluster-endpoint-private))
+  **Clusters públicos** 

## search\$1eks\$1documentation
<a name="search_eks_documentation"></a>

Realize pesquisas na documentação do EKS para obter informações e orientações atualizadas. Esta ferramenta fornece acesso à documentação mais recente do EKS, incluindo os novos recursos e as últimas melhorias que podem ser desconhecidos pelos agentes.

Parâmetros:
+  **query** (obrigatório): sua dúvida específica ou consulta de pesquisa relacionada à documentação, aos recursos ou às práticas recomendadas do EKS.
+  **limit** (opcional): quantidade máxima de resultados da documentação que devem ser retornados (1 a 10). Padrão: 5.

## search\$1eks\$1troubleshooting\$1guide
<a name="search_eks_troubleshooting_guide"></a>

Pesquisa no guia de solução de problemas do EKS para encontrar informações de depuração com base em uma consulta. Auxilia na identificação de problemas recorrentes e oferece instruções detalhadas para resolução.

Parâmetros:
+  **query** (obrigatório): sua dúvida específica ou descrição do problema relacionada à solução de problemas do EKS.

## describe\$1eks\$1resource
<a name="describe_eks_resource"></a>

Recupera informações detalhadas sobre um recurso específico do cluster de EKS, incluindo a configuração, o status e os metadados.

Parâmetros:
+  **cluster\$1name** (obrigatório): nome do cluster de EKS (obrigatório para recursos com escopo de cluster).
+  **resource\$1type** (obrigatório): o tipo de recurso do EKS que será descrito. Valores válidos:
+ accessentry (requer cluster\$1name e resource\$1name como principalArn).
+ addon (requer cluster\$1name e resource\$1name como nome do addon).
+ cluster (requer cluster\$1name), nodegroup (requer cluster\$1name e resource\$1name como nome do nodegroup).
+  **resource\$1name** (opcional): nome do recurso específico que será descrito (obrigatório para a maioria dos tipos de recurso).

## list\$1eks\$1resources
<a name="list_eks_resources"></a>

Lista os recursos do EKS de um determinado tipo, fornecendo um resumo de todos os recursos do tipo especificado que estão acessíveis.

Parâmetros:
+  **resource\$1type** (obrigatório): o tipo de recurso do EKS que será listado. Valores válidos:
+ accessentry (requer cluster\$1name).
+ addon (requer cluster\$1name).
+ cluster (nenhum parâmetro adicional é requerido).
+ nodegroup (requer cluster\$1name).
+  **cluster\$1name** (opcional): nome do cluster de EKS (obrigatório para recursos com escopo de cluster).

## get\$1eks\$1insights
<a name="get_eks_insights"></a>

Obtém insights e recomendações do cluster de EKS voltados para a otimização. Fornece insights acionáveis para segurança, performance e otimização de custos com base nas práticas recomendadas da AWS e na análise do cluster.

Parâmetros:
+  **cluster\$1name** (obrigatório): nome do cluster de EKS.
+  **category** (opcional): categoria opcional para filtrar os insights (por exemplo, “MISCONFIGURATION” ou “UPGRADE\$1READINESS”).
+  **insight\$1id** (opcional): ID opcional de um insight específico sobre o qual se deseja obter informações.
+  **next\$1token** (opcional): token opcional de paginação para acessar o próximo conjunto de resultados.

## get\$1eks\$1vpc\$1config
<a name="get_eks_vpc_config"></a>

Obtém as configurações da VPC de um cluster de EKS, abrangendo sub-redes, tabelas de rotas e conectividade de rede.

Parâmetros:
+  **cluster\$1name** (obrigatório): nome do cluster de EKS para o qual se deseja obter a configuração da VPC.
+  **vpc\$1id** (opcional): ID da VPC específica para consulta (como é opcional, caso não seja informado, será utilizada a VPC do cluster).

## get\$1k8s\$1events
<a name="get_k8s_events"></a>

Obtém eventos do Kubernetes relacionados a recursos específicos para solução de problemas e monitoramento.

Parâmetros:
+  **cluster\$1name** (obrigatório): nome do cluster de EKS em que o recurso está localizado.
+  **kind** (obrigatório): tipo do objeto envolvido (por exemplo, “Pod”, “Deployment” e “Service”). Deve corresponder exatamente ao tipo do recurso.
+  **name** (obrigatório): nome do objeto envolvido do qual se deseja obter os eventos.
+  **namespace** (opcional): namespace do objeto envolvido. Obrigatório para recursos vinculados a um namespace (como Pods e Deployments). Não é necessário para recursos de escopo de cluster (como Nodes e PersistentVolumes).

## get\$1pod\$1logs
<a name="get_pod_logs"></a>

Recupera logs de pods em um cluster de EKS com opções de filtragem.

Parâmetros:
+  **cluster\$1name** (obrigatório): nome do cluster de EKS em que o pod está sendo executado.
+  **namespace** (obrigatório): namespace do Kubernetes em que o pod está localizado.
+  **pod\$1name** (obrigatório): nome do pod do qual se deseja recuperar os logs.
+  **container\$1name** (opcional): nome do contêiner específico do qual se deseja obter os logs. Obrigatório apenas se o pod contiver vários contêineres.
+  **limit\$1bytes** (opcional): número máximo de bytes a serem retornados. Padrão: 10 KB (10.240 bytes).
+  **previous** (opcional): retorna os logs do contêiner anterior que foi encerrado (o padrão é “false”). Útil para obter logs de pods que estão sendo reiniciados.
+  **since\$1seconds** (opcional): retorna somente os logs mais recentes do que a quantidade de segundos definida. Útil para obter logs recentes sem recuperar todo o histórico.
+  **tail\$1lines** (opcional): número de linhas a serem retornadas do final dos logs. Padrão: 100.

## list\$1api\$1versions
<a name="list_api_versions"></a>

Lista todas as versões de API disponíveis no cluster do Kubernetes especificado.

Parâmetros:
+  **cluster\$1name** (obrigatório): nome do cluster de EKS.

## list\$1k8s\$1resources
<a name="list_k8s_resources"></a>

Lista recursos do Kubernetes de um tipo específico em um cluster de EKS.

Parâmetros:
+  **cluster\$1name** (obrigatório): nome do cluster de EKS em que os recursos estão localizados.
+  **kind** (obrigatório): o tipo dos recursos do Kubernetes a serem listados (por exemplo, “Pod”, “Service” e “Deployment”). Use a ferramenta `list_api_versions` para localizar os tipos de recursos disponíveis.
+  **api\$1version** (obrigatório): versão da API dos recursos do Kubernetes (por exemplo, “v1”, “apps/v1” e “networking.k8s.io/v1”). Use a ferramenta `list_api_versions` para localizar as versões da API disponíveis.
+  **field\$1selector** (opcional): seletor de campos para filtrar recursos (por exemplo, “metadata.name=mypod,status.phase=Running”). Usa a mesma sintaxe da sinalização “--field-selector” do kubectl.
+  **label\$1selector** (opcional): seletor de rótulos para a filtragem de recursos (por exemplo, “app=nginx,tier=frontend”). Usa a mesma sintaxe da sinalização `--selector` do kubectl.
+  **namespace** (opcional): namespace dos recursos do Kubernetes a serem listados. Se não for informado, os recursos serão listados em todos os namespaces (para recursos vinculados a um namespace).

## read\$1k8s\$1resource
<a name="read_k8s_resource"></a>

Obtém informações detalhadas sobre um recurso específico do Kubernetes em um cluster de EKS.

Parâmetros:
+  **api\$1version** (obrigatório): versão da API do recurso do Kubernetes (por exemplo, “v1”, “apps/v1” e “networking.k8s.io/v1”).
+  **cluster\$1name** (obrigatório): nome do cluster de EKS em que o recurso está localizado.
+  **kind** (obrigatório): tipo do recurso do Kubernetes (por exemplo, “Pod”, “Service” e “Deployment”).
+  **name** (obrigatório): nome do recurso do Kubernetes destinado à leitura.
+  **namespace** (opcional): namespace do recurso do Kubernetes. Obrigatório para recursos vinculados a um namespace. Não é necessário para recursos de escopo de cluster (como Nodes e PersistentVolumes).

## generate\$1app\$1manifest
<a name="generate_app_manifest"></a>

Gera manifestos padronizados de “deployment” e “service” do Kubernetes para aplicações conteinerizadas.

Parâmetros:
+  **app\$1name** (obrigatório): nome da aplicação. Usado para nomes de implantação e de serviços, bem como para rótulos.
+  **image\$1uri** (obrigatório): URI completo da imagem no ECR com uma etiqueta (por exemplo, “123456789012.dkr.ecr.region.amazonaws.com/repo:tag”). É necessário informar o caminho completo do repositório seguido da etiqueta.
+  **load\$1balancer\$1scheme** (opcional): tipo de esquema do AWS Load Balancer. Valores válidos:
+ “interno” (somente para VPC privada)
+ “voltado para a internet” (acesso público)
+ Padrão: “interno”.
+  **cpu** (opcional): solicitação de CPU para cada contêiner (por exemplo, “100 m” para 0,1 núcleos de CPU, “500 m” para meio núcleo). Padrão: “100 m”.
+  **memory** (opcional): solicitação de memória para cada contêiner (por exemplo, “128 Mi” para 128 MiB, “1 Gi” para 1 GiB). Padrão: “128 Mi”.
+  **namespace** (opcional): namespace do Kubernetes no qual a aplicação será implantada. Padrão: “padrão”.
+  **port** (opcional): porta do contêiner configurada para receber o tráfego da aplicação. Padrão: 80
+  **replicas** (opcional): número de réplicas a serem implantadas. Padrão: 2

## get\$1cloudwatch\$1logs
<a name="get_cloudwatch_logs"></a>

Realiza consultas nos logs do CloudWatch com filtros personalizados baseados nos parâmetros informados e suporte aos grupos de logs padrão para a observabilidade do cluster de EKS.

Parâmetros:
+  **cluster\$1name** (obrigatório): nome do cluster de EKS em que o recurso está localizado. Usado para criar o nome do grupo de logs do CloudWatch.
+  **resource\$1type** (obrigatório): tipo de recurso para o qual se deseja pesquisar por logs. Valores válidos: “pod”, “node”, “container” ou “cluster”. Determina o critério de filtragem dos logs.
+  **log\$1type** (obrigatório): tipo de log destinado à consulta. Valores válidos:
+ “application”: logs de aplicação e de contêiner.
+ “host”: logs do sistema no nível do nó.
+ performance”: logs de métricas de performance.
+ “control-plane”: logs do ambiente de gerenciamento do EKS.
+ “your-log-group-name”: informe diretamente um nome personalizado para o grupo de logs do CloudWatch.
+  **resource\$1name** (opcional): nome do recurso que você deseja pesquisar nos registros de log (por exemplo, o nome do pod, do nó ou do contêiner). Usado para filtrar os logs referentes a esse recurso específico.
+  **minutes** (opcional): quantidade de minutos retroativos para a busca de logs. Padrão: 15. Este parâmetro será desconsiderado caso o “start\$1time” seja informado. Use valores baixos para investigar problemas atuais e valores mais altos para realizar uma análise do histórico.
+  **start\$1time** (opcional): horário de início no formato ISO (por exemplo, “2023-01-01T00:00:00Z”). Se for fornecido, substitui o parâmetro “minutes”.
+  **end\$1time** (opcional): horário de término no formato ISO (por exemplo, “2023-01-01T01:00:00Z”). Se não for informado, o padrão é o horário atual.
+  **fields** (opcional): campos personalizados para incluir nos resultados da consulta (o padrão é “@timestamp, @message”). Use a sintaxe de campos do CloudWatch Logs Insights.
+  **filter\$1pattern** (opcional): padrão de filtragem adicional do CloudWatch Logs a ser aplicado. Usa a sintaxe do CloudWatch Logs Insights (por exemplo, “ERROR” e “field=value”).
+  **limit** (opcional): número máximo de entradas de log a serem retornadas. Use valores baixos (10 a 50) para consultas mais rápidas e valores altos (100 a 1.000) para resultados mais abrangentes. Valores mais altos podem afetar o desempenho.

## get\$1cloudwatch\$1metrics
<a name="get_cloudwatch_metrics"></a>

Obtém métricas e pontos de dados do CloudWatch para monitoramento e análise da performance de clusters de EKS. Gerencia métricas do Container Insights e métricas personalizadas, além de períodos de tempo e dimensões configuráveis.

Parâmetros:
+  **cluster\$1name** (obrigatório): nome do cluster de EKS para o qual as métricas serão obtidas.
+  **dimensions** (obrigatório): dimensões a serem utilizadas na consulta de métricas do CloudWatch, fornecidas como uma string JSON. Deve incluir as dimensões apropriadas para o tipo de recurso e a métrica (por exemplo, “\$1“ClusterName”: “my-cluster”, “PodName”: “my-pod”, “Namespace”: “default”\$1”).
+  **metric\$1name **(obrigatório): nome da métrica a ser recuperada. Exemplos comuns:
+  `cpu_usage_total`: uso total de CPU
+  `memory_rss`: uso de memória “Resident Set Size” (RSS)
+  `network_rx_bytes`: bytes de rede recebidos
+  `network_tx_bytes`: bytes de rede transmitidos
+  **namespace** (obrigatório): namespace do CloudWatch em que a métrica está armazenada. Valores comuns:
+  `"ContainerInsights"`: para métricas de contêiner
+  `"AWS/EC2"`: para métricas de instâncias do EC2
+  `"AWS/EKS"`: para métricas do ambiente de gerenciamento do EKS
+  **minutes** (opcional): quantidade de minutos retroativos para a busca de métricas. Padrão: 15. Este parâmetro será desconsiderado caso o “start\$1time” seja informado.
+  **start\$1time** (opcional): horário de início no formato ISO (por exemplo, “2023-01-01T00:00:00Z”). Se for fornecido, substitui o parâmetro “minutes”.
+  **end\$1time** (opcional): horário de término no formato ISO (por exemplo, “2023-01-01T01:00:00Z”). Se não for informado, o padrão é o horário atual.
+  **limit** (opcional): número máximo de pontos de dados a serem retornados. Valores mais altos (100 a 1.000) oferecem maior detalhamento dos dados, mas podem afetar a performance da consulta. Padrão: 50.
+  **period** (opcional): período em segundos para os pontos de dados da métrica. Valor padrão: 60 (1 minuto). Valores baixos (1 a 60) oferecem alta resolução, embora possam ter menor disponibilidade.
+  **stat** (opcional): estatística a ser usada para a agregação da métrica. Padrão: “Average”. Valores válidos:
+  `Average`: valor médio durante o período
+  `Sum:`: valor total durante o período
+  `Maximum`: valor máximo atingido no período
+  `Minimum`: valor mínimo atingido no período
+  `SampleCount`: quantidade de amostras coletadas no período

## get\$1eks\$1metrics\$1guidance
<a name="get_eks_metrics_guidance"></a>

Obtém orientações sobre métricas do CloudWatch para tipos de recursos específicos em clusters de EKS. Útil para o agente ao determinar as dimensões corretas a serem usadas com a ferramenta “get\$1cloudwatch\$1metrics”.

Parâmetros:
+  **resource\$1type** (obrigatório): tipo de recurso para o qual se deseja obter orientações relacionadas às métricas (“cluster”, “node”, “pod”, “namespace” e “service”).

## get\$1policies\$1for\$1role
<a name="get_policies_for_role"></a>

Recupera todas as políticas anexadas a um perfil do IAM especificado, incluindo a política de assumir perfil, as políticas gerenciadas e as políticas em linha.

Parâmetros:
+  **role\$1name** (obrigatório): nome do perfil do IAM para o qual se deseja obter as políticas. O perfil deve existir em sua conta da AWS.

## Ferramentas de acesso total (gravação)
<a name="full_access_tools"></a>

Esta seção descreve as ferramentas destinadas somente à leitura disponíveis para o servidor MCP do EKS. Lembre-se de que, até o momento, todas as operações de gravação da API do Kubernetes podem acessar apenas:
+  **Clusters públicos** (endpointPublicAccess=true)

## manage\$1k8s\$1resource
<a name="manage_k8s_resource"></a>

Gerencia um único recurso do Kubernetes por meio de operações de gravação (criar, atualizar, aplicar patches ou excluir).

Parâmetros:
+  **operation** (obrigatório): operação a ser realizada no recurso. Valores válidos:
+  `create:`: cria um novo recurso
+  `replace`: substitui um recurso existente
+  `patch`: atualiza campos específicos de um recurso existente
+  `delete`: exclui um recurso existente
+  **Observação**: use “read\$1k8s\$1resource” para a consulta de recursos e “list\$1k8s\$1resources” para obter uma lista com vários recursos de uma vez.
+  **cluster\$1name** (obrigatório): nome do cluster de EKS em que o recurso está localizado ou será criado.
+  **kind** (obrigatório): tipo do recurso do Kubernetes (por exemplo, “Pod”, “Service” e “Deployment”).
+  **api\$1version** (obrigatório): versão da API do recurso do Kubernetes (por exemplo, “v1”, “apps/v1” e “networking.k8s.io/v1”).
+  **body** (opcional): definição do recurso como uma string JSON. Obrigatório para operações de criação, substituição e aplicação de patches. Para a criação e a substituição, deve ser usada uma definição completa do recurso. Para a aplicação de patches, deve conter apenas os campos a serem atualizados.
+  **name** (opcional): nome do recurso do Kubernetes. Obrigatório em todas as operações, menos a operação de criação (visto que pode ser informado no próprio corpo).
+  **namespace** (opcional): namespace do recurso do Kubernetes. Obrigatório para recursos vinculados a um namespace. Não é necessário para recursos de escopo de cluster (como Nodes e PersistentVolumes).

## apply\$1yaml
<a name="apply_yaml"></a>

Aplica manifestos YAML do Kubernetes a um cluster de EKS.

Parâmetros:
+  **cluster\$1name** (obrigatório): nome do cluster de EKS em que os recursos serão criados ou atualizados.
+  **namespace** (obrigatório): namespace do Kubernetes ao qual os recursos serão aplicados. Será usado para recursos vinculados a namespaces que não especifiquem um namespace próprio.
+  **yaml\$1content** (obrigatório): conteúdo YAML a ser aplicado ao cluster. Pode conter vários documentos separados por “---”.
+  **force** (opcional): indica se os recursos devem ser atualizados caso já existam (semelhante ao “kubectl apply”). Defina como “false” para apenas criar novos recursos.

## manage\$1eks\$1stacks
<a name="manage_eks_stacks"></a>

Gerencia pilhas do CloudFormation para o EKS com operações para gerar modelos, implantar, descrever e excluir clusters de EKS e a infraestrutura subjacente. A criação do cluster normalmente demora de 15 a 20 minutos para ser concluída. Para operações de implantação e exclusão, a pilha deve ter sido criada por esta ferramenta (ou seja, marcada com a etiqueta “CreatedBy=EksMcpServer”).

Parâmetros:
+  **cluster\$1name** (obrigatório): nome do cluster de EKS (para operações de geração, implantação, descrição e exclusão). Este nome será usado para derivar o nome da pilha do CloudFormation e será incorporado aos recursos do cluster.
+  **operation** (obrigatório): operação a ser realizada. Valores válidos:
+  `generate`: gerar um modelo do CloudFormation
+  `deploy`: implantar uma pilha do CloudFormation (requer `template_content`)
+  `describe`: descrever ou ler uma pilha do CloudFormation (somente leitura)
+  `delete`: excluir uma pilha do CloudFormation
+  **template\$1content** (opcional): conteúdo do modelo do CloudFormation (para operações de implantação). Deve ser o conteúdo completo do modelo em YAML ou JSON. Fornece suporte tanto a recursos únicos quanto a conteúdo YAML de vários documentos separados por “---”.

## add\$1inline\$1policy
<a name="add_inline_policy"></a>

Adiciona uma nova política em linha a um perfil do IAM.

Parâmetros:
+  **permissions** (obrigatório): permissões a serem incluídas na política como strings JSON que representam declarações da política do IAM. Pode ser uma única string JSON ou uma matriz de strings JSON.
+  **policy\$1name** (obrigatório): Nome da política em linha a ser criada. Deve ser exclusivo dentro do perfil.
+  **role\$1name** (obrigatório): nome do perfil do IAM ao qual a política será adicionada. O perfil deve existir.