Skip to main content
Glama
CharlieFng

CloudWatch MCP Server

by CharlieFng

CloudWatch MCP-Server

Dieser vereinfachte MCP-Server bietet eine optimierte Möglichkeit zur Interaktion mit AWS CloudWatch-Ressourcen über das MCP-Protokoll. Er stellt CloudWatch-Protokollgruppen, Protokollabfragen und Alarme als Ressourcen und Tools bereit.

Merkmale

  • Listen Sie alle CloudWatch-Protokollgruppen mit ihren Metadaten auf

  • Listen Sie alle CloudWatch-Alarme mit ihren aktuellen Zuständen auf

  • Abfragen von CloudWatch-Protokollen mit CloudWatch Insights über mehrere Protokollgruppen hinweg

  • Entdecken Sie verfügbare Felder in mehreren Protokollgruppen mit gemeinsamem Schema

  • Automatisches JSON-Parsing für das Feld „@message“ in Protokollabfragen

  • Prüfen, ob bestimmte Protokollgruppen vorhanden sind

  • Erhalten Sie detaillierte Informationen zu bestimmten Protokollgruppen

  • Filtern Sie Alarme nach Status (alle Alarme oder nur diejenigen im ALARM-Status)

  • Abrufen aller gespeicherten CloudWatch Logs Insights-Abfragen

Related MCP server: CloudWatch Logs MCP Server

Voraussetzungen

  • Python 3.12 oder höher

  • AWS-Anmeldeinformationen konfiguriert (über Umgebungsvariablen, AWS CLI oder IAM-Rolle)

  • MCP CLI (Version 0.1.1 oder höher)

  • Boto3 (AWS SDK für Python)

Aufstellen

  1. Stellen Sie sicher, dass Sie Python 3.12+ installiert haben.

  2. Erstellen Sie eine virtuelle Umgebung (optional, aber empfohlen):

    python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  3. Installieren Sie Abhängigkeiten:

    pip install -r requirements.txt
  4. Konfigurieren Sie AWS-Anmeldeinformationen, falls Sie dies noch nicht getan haben:

    aws configure

    Oder legen Sie Umgebungsvariablen fest:

    export AWS_ACCESS_KEY_ID="your-access-key" export AWS_SECRET_ACCESS_KEY="your-secret-key" export AWS_REGION="your-region"

Projektstruktur

  • cloudwatch_server.py – MCP-Serverimplementierung für die CloudWatch-Integration

  • aws_cloudwatch.py – Vereinfachtes AWS CloudWatch-Integrationsmodul

  • test_cloudwatch.py – Befehlszeilenprogramm zum Testen der CloudWatch-Integration

Ausführen des Servers

Starten Sie den MCP-Server:

python cloudwatch_server.py

Oder mithilfe der MCP-CLI:

mcp run cloudwatch_server.py

Verwenden des MCP-Servers

Ressourcen

Der Server stellt die folgenden Ressourcen bereit:

  • cloudwatch://log-groups – Listet alle CloudWatch-Protokollgruppen auf

  • cloudwatch://log-groups/{log_group_name} – Ruft detaillierte Informationen zu einer bestimmten Protokollgruppe ab

  • cloudwatch://alarms – Listet alle CloudWatch-Alarme auf

  • cloudwatch://alarms/in-alarm – Listet nur CloudWatch-Alarme auf, die sich derzeit im ALARM-Status befinden

  • cloudwatch://saved-queries – Listet alle gespeicherten CloudWatch Logs Insights-Abfragen auf

Werkzeuge

Der Server stellt die folgenden Tools bereit:

  • query_logs – Abfragen von CloudWatch-Protokollen mit CloudWatch Insights

    • Parameter:

      • log_group_names : Einzelner Protokollgruppenname oder Liste von Protokollgruppennamen zur Abfrage

      • query_string : CloudWatch Insights-Abfragezeichenfolge

      • start_time : (Optional) Startzeit für die Abfrage in Unix-Zeitstempel-Millisekunden

      • end_time : (Optional) Endzeit für die Abfrage in Unix-Zeitstempel-Millisekunden

    • Merkmale:

      • Analysiert automatisch JSON im Feld @message

      • Gibt strukturierte Daten für JSON-Nachrichten zurück

      • Verarbeitet mehrere Protokollgruppen in einer einzigen Abfrage

  • discover_log_fields – Entdecken Sie verfügbare Felder in mehreren Protokollgruppen

    • Parameter:

      • log_group_names : Einzelner Protokollgruppenname oder Liste von Protokollgruppennamen zur Analyse

    • Merkmale:

      • Effizientes Erkennen von Feldern über mehrere Protokollgruppen hinweg

      • Setzt ein gemeinsames Schema für alle Protokollgruppen voraus

      • Erkennt verschachtelte JSON-Felder in @message

      • Identifiziert Feldtypen (Zahl, Boolescher Wert, Zeichenfolge, Array)

  • log_group_exists – Überprüfen, ob CloudWatch-Protokollgruppen vorhanden sind

    • Parameter:

      • log_group_names : Einzelner Protokollgruppenname oder Liste der zu prüfenden Protokollgruppennamen

    • Widerrufsfolgen:

      • Wörterbuch, das jede Protokollgruppe ihrem Existenzstatus zuordnet

  • get_saved_queries – Alle gespeicherten CloudWatch Logs Insights-Abfragen abrufen

    • Keine Parameter erforderlich

Testen der CloudWatch-Integration

Sie können die CloudWatch-Integration direkt mit dem bereitgestellten Testskript testen:

# 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

Beispiele mit MCP CLI

Verwenden der MCP-CLI:

# 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

Lizenz

MIT

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CharlieFng/cloudwatch-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server