/ Diretório / Playground / AWS Labs MCP
● Oficial awslabs 🔑 Requer sua chave

AWS Labs MCP

por awslabs · awslabs/mcp

Coleção oficial AWS Labs — um MCP por serviço (S3, Lambda, CloudFormation, ECS, RDS, CloudWatch). Somente leitura por padrão.

Suite MCP AWS Labs. Em vez de um único servidor gigante, a AWS oferece uma família: aws-api (estilo CLI geral), além de servidores especializados para S3, Lambda, CloudFormation, ECS, RDS, CloudWatch, Cost Explorer e muito mais. Tudo é somente leitura; escritas exigem aceitar explicitamente via flags de ambiente.

Por que usar

Principais recursos

Demo ao vivo

Como fica na prática

aws.replay ▶ pronto
0/0

Instalar

Escolha seu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  }
}

Abra Claude Desktop → Settings → Developer → Edit Config. Reinicie após salvar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  }
}

Cursor usa o mesmo esquema mcpServers que o Claude Desktop. Config de projeto vence a global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  }
}

Clique no ícone MCP Servers na barra lateral do Cline, depois "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "aws": {
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  }
}

Mesmo formato do Claude Desktop. Reinicie o Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "aws",
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server"
      ]
    }
  ]
}

O Continue usa um array de objetos de servidor em vez de um map.

~/.config/zed/settings.json
{
  "context_servers": {
    "aws": {
      "command": {
        "path": "uvx",
        "args": [
          "awslabs.aws-api-mcp-server"
        ]
      }
    }
  }
}

Adicione em context_servers. Zed recarrega automaticamente ao salvar.

claude mcp add aws -- uvx awslabs.aws-api-mcp-server

Uma linha só. Verifique com claude mcp list. Remova com claude mcp remove.

Casos de uso

Usos do mundo real: AWS Labs MCP

Fazer triagem de um alarme CloudWatch correlacionando logs, métricas e deploys recentes

👤 Engenheiros SRE e on-call ⏱ ~15 min intermediate

Quando usar: Um alarme acabou de disparar e você quer ir de 'qual serviço, qual deploy, qual linha de log' sem abrir abas no console.

Pré-requisitos
  • Credenciais AWS com leitura de CloudWatch + CloudFormationaws sso login com uma função que tenha a política gerenciada ReadOnlyAccess
  • Servidor aws-cloudwatch-mcp em execuçãouvx awslabs.cloudwatch-mcp-server — ou instale o pacote
Fluxo
  1. Obtenha os detalhes do alarme e recursos afetados
    Descreva o alarme CloudWatch 'prod-api-5xx-high'. Qual recurso ele monitora, qual é o limite, qual é o estado atual?✓ Copiado
    → Configuração do alarme mais histórico de estado (quando mudou)
  2. Consulte logs em torno da violação
    Execute uma consulta Logs Insights sobre o grupo de logs /aws/ecs/prod-api de 10 minutos antes do alarme disparar até agora. Encontre linhas de log de nível ERROR agrupadas por template de mensagem.✓ Copiado
    → Templates de erro principais com contagens
  3. Correlacione com deploys recentes
    Liste os deploys CodeDeploy para o serviço prod-api nas últimas 6 horas. Algum tempo de deploy se correlaciona com o pico de erro?✓ Copiado
    → Linha do tempo de deploy alinhada com o início do erro

Resultado: Uma hipótese concreta como 'deploy abc123 às 14:22 UTC se correlaciona com o início de 5xx às 14:23' com as evidências para respaldar.

Armadilhas
  • Consultas Logs Insights contra um grande grupo de logs sem uma janela de tempo custam dinheiro real — Sempre inclua limites de @timestamp mais estreitos que 1 hora; o MCP não impedirá que você seja faturado $$$
  • Recursos entre contas precisam do perfil de credencial correto — Defina a variável de ambiente AWS_PROFILE por invocação de servidor; não assuma que o perfil padrão é o que você quer
Combine com: sentry · github

Auditar um bucket S3 para objetos públicos e status de criptografia

👤 Engenheiros de segurança, revisores de conformidade ⏱ ~20 min intermediate

Quando usar: Antes de um teste de penetração ou auditoria, você quer um inventário rápido da postura do bucket.

Pré-requisitos
  • Permissões S3:List e S3:GetBucket* — Anexe a política gerenciada SecurityAudit (somente leitura)
Fluxo
  1. Liste buckets e obtenha suas políticas
    Liste todos os buckets S3 nesta conta. Para cada um, obtenha: configuração Public Access Block, ACL do bucket, política do bucket, configuração de criptografia padrão.✓ Copiado
    → Tabela de postura por bucket
  2. Sinalize buckets arriscados
    Destaque qualquer bucket onde Public Access Block está desligado, OU criptografia está desligada, OU a política do bucket contém Principal: '*'.✓ Copiado
    → Lista curta de buckets arriscados com razões
  3. Amostra alguns objetos dos buckets sinalizados
    Para cada bucket sinalizado, liste os primeiros 5 objetos e mostre suas ACLs. Algum é realmente legível em nível mundial?✓ Copiado
    → Confirmação em nível de objeto em vez de apenas em nível de bucket

Resultado: Uma lista de remediação priorizada para sua revisão de segurança.

Armadilhas
  • Políticas de bucket podem conceder acesso público mesmo quando ACLs parecem privadas — Avalie ambas; use as APIs GetPublicAccessBlock e GetBucketPolicyStatus, não apenas ACLs
Combine com: filesystem

Descubra por que a conta AWS deste mês aumentou

👤 Líderes de engenharia, operações financeiras ⏱ ~25 min intermediate

Quando usar: A conta aumentou 30% e você tem 48 horas para explicar ao departamento financeiro.

Pré-requisitos
  • Acesso à API Cost Explorer — Ative Cost Explorer no console de faturamento; conceda ce:GetCostAndUsage à sua função
Fluxo
  1. Obtenha as deltas de custo diário
    Obtenha o custo total mesclado por dia nos últimos 60 dias. Identifique qualquer dia em que o custo aumentou >20% em relação à média móvel de 7 dias.✓ Copiado
    → Série de custo diário mais dias de anomalia sinalizados
  2. Divida por serviço para a anomalia
    Para o maior dia de anomalia, divida o custo por serviço. Qual serviço causou o pico?✓ Copiado
    → Driver de nível de serviço identificado
  3. Divida ainda mais por recurso
    Para esse serviço, divida por tipo de uso e tag de recurso. Qual recurso específico é responsável?✓ Copiado
    → Culpado de nível de recurso — por exemplo, 'nat gateway em us-east-1 processou 12 TB'

Resultado: Uma resposta de um parágrafo para finanças: 'o pico foi X causado por Y; a correção é Z'.

Armadilhas
  • Cost Explorer tem até 24h de atraso — os custos de hoje ainda não estão totalmente lá — Restrinja as consultas para terminar pelo menos 1 dia atrás; observe o atraso explicitamente em sua resposta
  • Cada chamada de API Cost Explorer custa $0,01 — Não faça loop de consultas em um script sem limites; o MCP não impedirá você
Combine com: filesystem

Debugar um Lambda com falha lendo suas invocações e logs recentes

👤 Engenheiros Serverless ⏱ ~15 min intermediate

Quando usar: Um Lambda está lançando erros intermitentemente e você quer ver entradas, erros e tendências de duração.

Fluxo
  1. Descrever a função
    Descreva a função Lambda my-api-handler. Qual é o tempo de execução, memória, tempo limite, última modificação?✓ Copiado
    → Snapshot de configuração
  2. Puxe erros recentes do CloudWatch Logs
    Logs Insights: para /aws/lambda/my-api-handler nas últimas 2 horas, mostre linhas de erro com seu requestId, duração e tempo de inicialização. Agrupar por tipo de erro.✓ Copiado
    → Categorias de erro com requestIds representativos
  3. Buscar uma solicitação de ponta a ponta
    Escolha um requestId com falha. Puxe o fluxo de log completo para essa invocação — START, todos os prints, END, REPORT. Diga-me o que aconteceu.✓ Copiado
    → Narrativa de uma única invocação com tempo de inicialização a frio e causa do erro

Resultado: Causa de erro específica mais um caminho de correção (mais memória, atualização de dep, configuração de retry, etc.).

Armadilhas
  • Concorrência provisionada distorce números de inicialização a frio — Filtre linhas REPORT onde Init Duration está presente — essas são inicializações a frio; ignore-as se estiver debugando invocações quentes
Combine com: github · sentry

Detectar desvio entre pilhas CloudFormation e recursos ativos

👤 Engenheiros de plataforma, devops ⏱ ~30 min advanced

Quando usar: Você suspeita que alguém clicou no console e alterou um recurso fora de IaC.

Fluxo
  1. Liste pilhas e dispare detecção de desvio
    Liste todas as pilhas CloudFormation ATIVAS. Para cada uma, inicie uma detecção de desvio e pesquise até que todas sejam concluídas.✓ Copiado
    → Status de desvio por pilha: IN_SYNC / DRIFTED / NOT_CHECKED
  2. Investigue pilhas desviadas
    Para cada pilha com status DRIFTED, liste quais recursos desviaram e qual propriedade difere.✓ Copiado
    → Diffs de nível de recurso (por exemplo, 'SG permite 0.0.0.0/0 mas template diz 10.0.0.0/8')
  3. Decida: atualizar template ou reverter
    Para cada desvio, recomende: o estado ao vivo é intencional (atualizar o template para corresponder) ou acidental (reverter o recurso)? Baseie-se na natureza da alteração.✓ Copiado
    → Recomendação por desvio com fundamentação

Resultado: Seu IaC de volta em sincronismo com a realidade, com um log de decisão.

Armadilhas
  • A detecção de desvio não captura todas as propriedades para cada tipo de recurso — Verifique os documentos CloudFormation para obter a lista 'unsupported drift'; complemente com regras AWS Config para cobertura completa
Combine com: github

Combinações

Combine com outros MCPs para 10× de alavancagem

aws + github

Correlacionar um PR de deploy com o alarme CloudWatch resultante — identificar o commit que quebra

Alarme CloudWatch prod-latency-p99 disparou às 14:22. Encontre o PR GitHub mesclado em main mais próximo desse tempo, resuma seu diff e diga-me qual hunco provavelmente causou a regressão.✓ Copiado
aws + postgres

Para Postgres hospedado em RDS, combine observabilidade de nível AWS com acesso SQL

Alarme RDS 'cpu > 80%' em prod-db-01. Correlacione com pg_stat_statements — quais consultas rodaram mais durante o pico?✓ Copiado

Exporte inventários de recursos AWS para CSVs locais para documentos de conformidade

Exporte cada bucket S3 com sua configuração de criptografia e configurações de acesso público para /reports/s3-audit-2026-04.csv.✓ Copiado

Ferramentas

O que este MCP expõe

FerramentaEntradasQuando chamarCusto
call_aws service: str, operation: str, parameters: object Equivalente genérico da AWS CLI — qualquer serviço, qualquer operação de leitura geralmente gratuito; alguns serviços (CE) cobram por chamada
describe_stack stack_name: str Introspecção CloudFormation gratuito
detect_stack_drift / describe_stack_drift_detection_status stack_name: str Verificar desvio IaC-vs-ao vivo gratuito
list_functions / get_function / invoke_function Lambda name, payload? Gerenciar e testar Lambdas — invocar é uma operação de escrita, controlada custos de invocação por preço Lambda
list_buckets / get_object / list_objects_v2 S3 params Inventário S3 e acesso ao conteúdo preço padrão de solicitação S3
start_query / get_query_results (Logs Insights) logGroupName, queryString, startTime, endTime Análise de logs em um ou mais grupos de logs $0,005 por GB digitalizado
get_metric_data CloudWatch metric query JSON Puxas de métricas de série temporal camada gratuita se aplica
get_cost_and_usage TimePeriod, Granularity, GroupBy, Metrics Consultas Cost Explorer $0,01 por chamada de API
list_services / describe_services / list_tasks (ECS) cluster params Introspecção de cluster/serviço ECS gratuito
describe_db_instances (RDS) identifier? Inventário RDS; use postgres MCP para SQL real gratuito

Custo e limites

O que custa rodar

Cota de API
Por serviço. A maioria das chamadas describe/list são gratuitas; algumas APIs cobram por chamada (Cost Explorer $0,01, Logs Insights $0,005/GB digitalizado)
Tokens por chamada
200-2000 tokens típicos; resultados de Logs Insights podem ser grandes — sempre defina um limite de linha
Monetário
O próprio MCP é gratuito. Sua conta AWS reflete quaisquer chamadas de API que o agente faz.
Dica
Limite janelas de tempo, limite linhas de resultado, cache de saída describe-* por sessão. Um loop Logs Insights descuidado em 30 dias de logs verbosos pode digitalizar TB de dados.

Segurança

Permissões, segredos, alcance

Escopos mínimos: arn:aws:iam::aws:policy/ReadOnlyAccess (para uso somente leitura)
Armazenamento de credenciais: Cadeia de credenciais AWS padrão — variáveis de ambiente, ~/.aws/credentials, SSO ou função de instância. Nunca codifique chaves.
Saída de dados: Direto para endpoints da API AWS (regional). Nenhum terceiro.
Nunca conceda: AdministratorAccess iam:* write kms:Decrypt on sensitive keys without scoping

Solução de problemas

Erros comuns e correções

Não foi possível carregar credenciais de nenhum provedor

Execute aws sts get-caller-identity — se falhar, corrija sua configuração de CLI primeiro. O MCP usa a mesma cadeia.

Verificar: aws sts get-caller-identity
AccessDenied em uma chamada Describe

Sua função está faltando a permissão específica. Leia o erro — ele nomeia a ação ausente. Adicione à função ou mude de perfil.

Throttling: Taxa excedida

Você está atingindo limites de API de serviço (por exemplo, CloudFormation 1 req/s). Recue; a maioria dos SDKs tenta novamente automaticamente, mas loops em massa ultrapassam. Adicione sleeps explícitos em prompts de múltiplas chamadas.

uvx não consegue encontrar awslabs.<server>

Formato de nome do pacote: awslabs.<name>-mcp-server. Verifique o README do repositório awslabs/mcp para obter a lista atual — nomes foram alterados no final de 2025.

Verificar: uvx --help | head

Alternativas

AWS Labs MCP vs. outros

AlternativaQuando usarTroca
Cloudflare MCPVocê executa em Cloudflare (Workers/R2/D1) em vez de AWSNuvem diferente; não é uma substituição direta
Terraform MCP (community)Você quer fluxos de trabalho IaC-first em várias nuvensCobertura menor de debugging de estado ao vivo
Uso direto de `aws` CLI via um MCP shellVocê quer que Claude execute qualquer comando de CLI, não apenas os pré-aprovadosSuperfície de ataque muito maior; evite a menos que seja isolado

Mais

Recursos

📖 Leia o README oficial no GitHub

🐙 Ver issues abertas

🔍 Ver todos os 400+ servidores MCP e Skills