CloudWatch MCP Server

by CharlieFng
2
  • Linux
  • Apple

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

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

Ein vereinfachter MCP-Server, der eine optimierte Möglichkeit zur Interaktion mit AWS CloudWatch-Ressourcen (Protokollgruppen, Protokollabfragen und Alarme) über das MCP-Protokoll bietet.

  1. Merkmale
    1. Voraussetzungen
      1. Aufstellen
        1. Projektstruktur
          1. Ausführen des Servers
            1. Verwenden des MCP-Servers
              1. Ressourcen
              2. Werkzeuge
            2. Testen der CloudWatch-Integration
              1. Beispiele mit MCP CLI
                1. Lizenz

                  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