CloudWatch Logs

Accede a los registros de AWS CloudWatch para listar grupos de logs y leer entradas de registro.

Documentación

CloudWatch Logs MCP Server

Un servidor MCP (Model Context Protocol) que proporciona herramientas para acceder a los registros de AWS CloudWatch. Este servidor permite a los asistentes de IA listar grupos de registros y leer entradas de registros de AWS CloudWatch.

Herramientas disponibles

list_groups

Lista los grupos de registros de CloudWatch disponibles.

Parámetros:

  • prefix (opcional): Prefijo del nombre del grupo de registros
  • region (opcional): Región de AWS
  • accessKeyId (opcional): ID de clave de acceso de AWS
  • secretAccessKey (opcional): Clave de acceso secreta de AWS
  • sessionToken (opcional): Token de sesión de AWS

Devuelve: Cadena JSON con la lista de grupos de registros, incluyendo logGroupName, creationTime y storedBytes.

get_logs

Obtiene registros de CloudWatch de un grupo de registros específico.

Parámetros:

  • logGroupName (requerido): El nombre del grupo de registros
  • logStreamName (opcional): El nombre del flujo de registros
  • startTime (opcional): Hora de inicio en formato ISO o tiempo relativo (por ejemplo, "5m", "1h", "1d")
  • endTime (opcional): Hora de finalización en formato ISO
  • filterPattern (opcional): Patrón de filtro para los registros
  • region (opcional): Región de AWS
  • accessKeyId (opcional): ID de clave de acceso de AWS
  • secretAccessKey (opcional): Clave de acceso secreta de AWS
  • sessionToken (opcional): Token de sesión de AWS

Devuelve: Cadena JSON con los eventos de registro, incluyendo timestamp, message y logStreamName.

Configuración

Credenciales de AWS

Asegúrate de tener configuradas las credenciales de AWS. Puedes configurarlas usando la CLI de AWS o estableciendo variables de entorno:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

Uso con Claude Desktop

Añade lo siguiente a tu 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

Si prefieres ejecutar el servidor en un contenedor de Docker, puedes configurar un Dockerfile y usar la siguiente configuración:

{
  "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>",
      }
    }
  }
}

Detalles de implementación

Este servidor está construido usando la clase FastMCP del SDK de MCP, que proporciona una forma sencilla de crear servidores MCP. El servidor expone dos herramientas principales:

  1. list_groups: Lista los grupos de registros de CloudWatch disponibles
  2. get_logs: Lee entradas de registros de grupos de registros específicos

Cada herramienta se implementa como una función async decorada con @mcp.tool(). El servidor usa la biblioteca boto3 para interactuar con la API de AWS CloudWatch Logs.

Licencia

MIT