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
Related MCP server: CloudWatch Logs MCP Server
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
Asegúrese de tener instalado Python 3.12+.
Crear un entorno virtual (opcional pero recomendado):
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activateInstalar dependencias:
pip install -r requirements.txtConfigure las credenciales de AWS si aún no lo ha hecho:
aws configureO 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 CloudWatchaws_cloudwatch.py: módulo de integración simplificado de AWS CloudWatchtest_cloudwatch.py- Utilidad de línea de comandos para probar la integración de CloudWatch
Ejecutando el servidor
Inicie el servidor MCP:
O utilizando la CLI de MCP:
Usando el servidor MCP
Recursos
El servidor expone los siguientes recursos:
cloudwatch://log-groups: enumera todos los grupos de registros de CloudWatchcloudwatch://log-groups/{log_group_name}: obtiene información detallada sobre un grupo de registros específicocloudwatch://alarms: enumera todas las alarmas de CloudWatchcloudwatch://alarms/in-alarm: enumera solo las alarmas de CloudWatch que actualmente están en estado de ALARMAcloudwatch://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 InsightsParámetros:
log_group_names: Nombre de grupo de registro único o lista de nombres de grupos de registro para consultarquery_string: cadena de consulta de CloudWatch Insightsstart_time: (opcional) Hora de inicio de la consulta en milisegundos de marca de tiempo de Unixend_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 registrosPará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 CloudWatchPará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 InsightsNo 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:
Ejemplos con MCP CLI
Usando la CLI de MCP:
Licencia
Instituto Tecnológico de Massachusetts (MIT)