CloudWatch Logs

Acesse logs do AWS CloudWatch para listar grupos de logs e ler entradas de log.

Documentação

Servidor MCP CloudWatch Logs

Um servidor MCP (Model Context Protocol) que fornece ferramentas para acessar logs do AWS CloudWatch. Este servidor permite que assistentes de IA listem grupos de logs e leiam entradas de logs do AWS CloudWatch.

Ferramentas Disponíveis

list_groups

Lista os grupos de logs do CloudWatch disponíveis.

Parâmetros:

  • prefix (opcional): Prefixo do nome do grupo de logs
  • region (opcional): Região da AWS
  • accessKeyId (opcional): ID da chave de acesso da AWS
  • secretAccessKey (opcional): Chave de acesso secreta da AWS
  • sessionToken (opcional): Token de sessão da AWS

Retorna: String JSON com a lista de grupos de logs, incluindo logGroupName, creationTime e storedBytes.

get_logs

Obtém logs do CloudWatch de um grupo de logs específico.

Parâmetros:

  • logGroupName (obrigatório): O nome do grupo de logs
  • logStreamName (opcional): O nome do fluxo de logs
  • startTime (opcional): Hora de início em formato ISO ou tempo relativo (ex.: "5m", "1h", "1d")
  • endTime (opcional): Hora de término em formato ISO
  • filterPattern (opcional): Padrão de filtro para os logs
  • region (opcional): Região da AWS
  • accessKeyId (opcional): ID da chave de acesso da AWS
  • secretAccessKey (opcional): Chave de acesso secreta da AWS
  • sessionToken (opcional): Token de sessão da AWS

Retorna: String JSON com os eventos de log, incluindo timestamp, message e logStreamName.

Configuração

Credenciais da AWS

Certifique-se de ter as credenciais da AWS configuradas. Você pode configurá-las usando a CLI da AWS ou definindo variáveis de ambiente:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

Uso com Claude Desktop

Adicione o seguinte ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "cloudwatch-logs": {
      "command": "python3",
      "args": ["/path/to/cloudwatch-logs-mcp/main.py"],
      "env": {
        "AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",
        "AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_ACCESS_KEY>",
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Docker

Se preferir executar o servidor em um contêiner Docker, você pode configurar um Dockerfile e usar a seguinte configuração:

{
  "mcpServers": {
    "cloudwatch-logs": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "AWS_ACCESS_KEY_ID",
        "-e",
        "AWS_SECRET_ACCESS_KEY",
        "mcp/cloudwatch-logs"
      ],
      "env": {
        "AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",
        "AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_ACCESS_KEY>",
      }
    }
  }
}

Detalhes de Implementação

Este servidor é construído usando a classe FastMCP do SDK MCP, que fornece uma maneira simples de criar servidores MCP. O servidor expõe duas ferramentas principais:

  1. list_groups: Lista os grupos de logs do CloudWatch disponíveis
  2. get_logs: Lê entradas de logs de grupos de logs específicos

Cada ferramenta é implementada como uma função assíncrona decorada com @mcp.tool(). O servidor usa a biblioteca boto3 para interagir com a API do AWS CloudWatch Logs.

Licença

MIT