CloudWatch MCP Server

by CharlieFng
2
  • Linux
  • Apple

CloudWatch MCP サーバー

この簡素化されたMCPサーバーは、MCPプロトコルを介してAWS CloudWatchリソースと効率的にやり取りする方法を提供します。CloudWatchのロググループ、ログクエリ、アラームをリソースおよびツールとして公開します。

特徴

  • すべての CloudWatch ロググループとそのメタデータを一覧表示する
  • すべての CloudWatch アラームとその現在の状態を一覧表示する
  • CloudWatch Insights を使用して複数のロググループにまたがって CloudWatch ログをクエリする
  • 共有スキーマを使用して複数のログ グループ間で利用可能なフィールドを検出します
  • ログクエリの@messageフィールドの自動JSON解析
  • 特定のロググループが存在するかどうかを確認する
  • 特定のロググループに関する詳細情報を取得する
  • アラームを状態別にフィルタリングする(すべてのアラーム、または ALARM 状態のアラームのみ)
  • 保存されたすべての CloudWatch Logs Insights クエリを取得する

前提条件

  • Python 3.12以上
  • AWS 認証情報が設定されている(環境変数、AWS CLI、または IAM ロール経由)
  • MCP CLI (バージョン 0.1.1 以上)
  • Boto3 (Python 用 AWS SDK)

設定

  1. Python 3.12 以降がインストールされていることを確認してください。
  2. 仮想環境を作成します (オプションですが推奨されます)。
    python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  3. 依存関係をインストールします:
    pip install -r requirements.txt
  4. AWS 認証情報をまだ設定していない場合は設定します。
    aws configure
    または環境変数を設定します。
    export AWS_ACCESS_KEY_ID="your-access-key" export AWS_SECRET_ACCESS_KEY="your-secret-key" export AWS_REGION="your-region"

プロジェクト構造

  • cloudwatch_server.py - CloudWatch 統合用の MCP サーバー実装
  • aws_cloudwatch.py - 簡素化された AWS CloudWatch 統合モジュール
  • test_cloudwatch.py - CloudWatch 統合をテストするためのコマンドライン ユーティリティ

サーバーの実行

MCP サーバーを起動します。

python cloudwatch_server.py

または、MCP CLI を使用します。

mcp run cloudwatch_server.py

MCPサーバーの使用

リソース

サーバーは次のリソースを公開します。

  • cloudwatch://log-groups - すべての CloudWatch ロググループを一覧表示します
  • cloudwatch://log-groups/{log_group_name} - 特定のロググループに関する詳細情報を取得します
  • cloudwatch://alarms - すべてのCloudWatchアラームを一覧表示します
  • cloudwatch://alarms/in-alarm - 現在 ALARM 状態にある CloudWatch アラームのみを一覧表示します
  • cloudwatch://saved-queries - 保存されたすべての CloudWatch Logs Insights クエリを一覧表示します

ツール

サーバーは次のツールを提供します。

  • query_logs - CloudWatch Insights を使用して CloudWatch ログをクエリする
    • パラメータ:
      • log_group_names : クエリする単一のロググループ名またはロググループ名のリスト
      • query_string : CloudWatch Insights クエリ文字列
      • start_time : (オプション) クエリの開始時刻(Unixタイムスタンプミリ秒)
      • end_time : (オプション) クエリの終了時刻(Unixタイムスタンプミリ秒)
    • 特徴:
      • @message フィールドの JSON を自動的に解析します
      • JSONメッセージの構造化データを返します
      • 1回のクエリで複数のロググループを処理する
  • discover_log_fields - 複数のロググループにわたって利用可能なフィールドを検出する
    • パラメータ:
      • log_group_names : 分析する単一のロググループ名またはロググループ名のリスト
    • 特徴:
      • 複数のロググループにわたってフィールドを効率的に検出します
      • ロググループ間でスキーマを共有することを想定
      • @message 内のネストされた JSON フィールドを検出します
      • フィールドタイプ(数値、ブール値、文字列、配列)を識別します
  • log_group_exists - CloudWatch ロググループが存在するかどうかを確認する
    • パラメータ:
      • log_group_names : チェックする単一のロググループ名またはロググループ名のリスト
    • 戻り値:
      • 各ロググループとその存在ステータスをマッピングする辞書
  • get_saved_queries - 保存されたすべての CloudWatch Logs Insights クエリを取得します
    • パラメータは必要ありません

CloudWatch統合のテスト

提供されているテスト スクリプトを使用して、CloudWatch 統合を直接テストできます。

# 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

MCP CLI の例

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

ライセンス

マサチューセッツ工科大学

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

MCP プロトコルを介して AWS CloudWatch リソース (ログ グループ、ログ クエリ、アラーム) と効率的に対話できる、簡素化された MCP サーバー。

  1. 特徴
    1. 前提条件
      1. 設定
        1. プロジェクト構造
          1. サーバーの実行
            1. MCPサーバーの使用
              1. リソース
              2. ツール
            2. CloudWatch統合のテスト
              1. MCP CLI の例
                1. ライセンス

                  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