CloudWatch MCP Server

by CharlieFng
2
  • Linux
  • Apple

Servidor MCP de CloudWatch

Este servidor MCP simplificado proporciona una forma optimizada de interactuar con los recursos de AWS CloudWatch mediante el protocolo MCP. Expone grupos de registros, consultas de registros y alarmas de CloudWatch como recursos y herramientas.

Características

  • Enumere todos los grupos de registros de CloudWatch con sus metadatos
  • Enumere todas las alarmas de CloudWatch con sus estados actuales
  • Consultar registros de CloudWatch mediante CloudWatch Insights en varios grupos de registros
  • Descubra los campos disponibles en múltiples grupos de registros con un esquema compartido
  • Análisis automático de JSON para el campo @message en consultas de registro
  • Comprobar si existen grupos de registros específicos
  • Obtenga información detallada sobre grupos de registros específicos
  • Filtrar alarmas por estado (todas las alarmas o solo aquellas en estado ALARMA)
  • Recuperar todas las consultas guardadas de CloudWatch Logs Insights

Prerrequisitos

  • Python 3.12 o superior
  • Credenciales de AWS configuradas (a través de variables de entorno, AWS CLI o rol de IAM)
  • MCP CLI (versión 0.1.1 o superior)
  • Boto3 (SDK de AWS para Python)

Configuración

  1. Asegúrese de tener instalado Python 3.12+.
  2. Crear un entorno virtual (opcional pero recomendado):
    python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  3. Instalar dependencias:
    pip install -r requirements.txt
  4. Configure las credenciales de AWS si aún no lo ha hecho:
    aws configure
    O bien establecer variables de entorno:
    export AWS_ACCESS_KEY_ID="your-access-key" export AWS_SECRET_ACCESS_KEY="your-secret-key" export AWS_REGION="your-region"

Estructura del proyecto

  • cloudwatch_server.py : implementación del servidor MCP para la integración de CloudWatch
  • aws_cloudwatch.py : módulo de integración simplificado de AWS CloudWatch
  • test_cloudwatch.py - Utilidad de línea de comandos para probar la integración de CloudWatch

Ejecutando el servidor

Inicie el servidor MCP:

python cloudwatch_server.py

O utilizando la CLI de MCP:

mcp run cloudwatch_server.py

Usando el servidor MCP

Recursos

El servidor expone los siguientes recursos:

  • cloudwatch://log-groups : enumera todos los grupos de registros de CloudWatch
  • cloudwatch://log-groups/{log_group_name} : obtiene información detallada sobre un grupo de registros específico
  • cloudwatch://alarms : enumera todas las alarmas de CloudWatch
  • cloudwatch://alarms/in-alarm : enumera solo las alarmas de CloudWatch que actualmente están en estado de ALARMA
  • cloudwatch://saved-queries : enumera todas las consultas guardadas de CloudWatch Logs Insights

Herramientas

El servidor proporciona las siguientes herramientas:

  • query_logs : consulta los registros de CloudWatch mediante CloudWatch Insights
    • Parámetros:
      • log_group_names : Nombre de grupo de registro único o lista de nombres de grupos de registro para consultar
      • query_string : cadena de consulta de CloudWatch Insights
      • start_time : (opcional) Hora de inicio de la consulta en milisegundos de marca de tiempo de Unix
      • end_time : (opcional) Hora de finalización de la consulta en milisegundos de marca de tiempo Unix
    • Características:
      • Analiza automáticamente JSON en el campo @message
      • Devuelve datos estructurados para mensajes JSON
      • Maneja múltiples grupos de registros en una sola consulta
  • discover_log_fields : descubre los campos disponibles en varios grupos de registros
    • Parámetros:
      • log_group_names : nombre de grupo de registros único o lista de nombres de grupos de registros para analizar
    • Características:
      • Descubre campos de manera eficiente en múltiples grupos de registros
      • Supone un esquema compartido entre grupos de registros
      • Detecta campos JSON anidados en @message
      • Identifica los tipos de campos (número, booleano, cadena, matriz)
  • log_group_exists : comprueba si existen grupos de registros de CloudWatch
    • Parámetros:
      • log_group_names : nombre de grupo de registro único o lista de nombres de grupos de registro para verificar
    • Devoluciones:
      • Diccionario que asigna cada grupo de registros a su estado de existencia
  • get_saved_queries : recupera todas las consultas guardadas de CloudWatch Logs Insights
    • No se requieren parámetros

Prueba de la integración de CloudWatch

Puede probar la integración de CloudWatch directamente utilizando el script de prueba proporcionado:

# Make the test file executable chmod +x test_cloudwatch.py # List all log groups ./test_cloudwatch.py log-groups # List all alarms ./test_cloudwatch.py alarms # Use a specific AWS profile ./test_cloudwatch.py log-groups --profile my-profile # Enable verbose logging ./test_cloudwatch.py alarms -v

Ejemplos con MCP CLI

Usando la CLI de MCP:

# List all log groups mcp inspect cloudwatch://log-groups # Get details about a specific log group mcp inspect cloudwatch://log-groups/my-log-group-name # List all alarms mcp inspect cloudwatch://alarms # List alarms currently in ALARM state mcp inspect cloudwatch://alarms/in-alarm # List all saved CloudWatch Logs Insights queries mcp inspect cloudwatch://saved-queries # Query logs from multiple log groups using CloudWatch Insights mcp call query_logs --log_group_names '["log-group-1", "log-group-2"]' --query_string "fields @timestamp, @message | limit 10" # Query logs from a single log group (still supported) mcp call query_logs --log_group_names "my-log-group" --query_string "fields @timestamp, @message | limit 10" # Discover fields across multiple log groups mcp call discover_log_fields --log_group_names '["log-group-1", "log-group-2"]' # Check if multiple log groups exist mcp call log_group_exists --log_group_names '["log-group-1", "log-group-2"]' # Get all saved CloudWatch Logs Insights queries mcp call get_saved_queries

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
F
license - not found
-
quality - not tested

Un servidor MCP simplificado que proporciona una forma optimizada de interactuar con los recursos de AWS CloudWatch (grupos de registros, consultas de registros y alarmas) a través del protocolo MCP.

  1. Características
    1. Prerrequisitos
      1. Configuración
        1. Estructura del proyecto
          1. Ejecutando el servidor
            1. Usando el servidor MCP
              1. Recursos
              2. Herramientas
            2. Prueba de la integración de CloudWatch
              1. Ejemplos con MCP CLI
                1. Licencia

                  Related MCP Servers

                  • Amazon Web Services
                    aws-mcp

                    A
                    security
                    F
                    license
                    A
                    quality
                    A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with your AWS environment. This allows for natural language querying and management of your AWS resources during conversations. Think of better Amazon Q alternative.
                    Last updated -
                    3
                    222
                    TypeScript
                    • Apple
                  • A
                    security
                    A
                    license
                    A
                    quality
                    The Seq MCP Server enables interaction with Seq's API endpoints for logging and monitoring, providing tools for managing signals, events, and alerts with extensive filtering and configuration options.
                    Last updated -
                    3
                    13
                    3
                    JavaScript
                    MIT License
                    • Apple
                  • A
                    security
                    A
                    license
                    A
                    quality
                    The MCP server provides an interface to the Datadog API, enabling seamless management of incidents, monitoring, logs, dashboards, metrics, traces, and hosts. Its extensible design allows easy integration of additional Datadog APIs for future expansions.
                    Last updated -
                    14
                    322
                    36
                    TypeScript
                    Apache 2.0
                    • Apple
                  • -
                    security
                    F
                    license
                    -
                    quality
                    An MCP server that allows AI assistants to access AWS CloudWatch logs by listing log groups and reading log entries.
                    Last updated -
                    4
                    Python

                  View all related MCP servers

                  ID: kq3vp7y75o