mcpField
C
CloudWatch Logs MCP Server

CloudWatch Logs MCP Server

ローカル
github.com/serkanh開発ツール2783 週間前に更新

CloudWatch Logs MCP Server について

CloudWatch Logs MCP Server は AWS CloudWatch のログを読み取る MCP サーバーで、AI アシスタントがロググループの一覧取得やログエントリの取得を行えます。FastMCP と boto3 を使って実装されています。

主な機能

  1. 01CloudWatch ロググループの一覧取得
  2. 02時間範囲とフィルターパターンによるログ読み取り
  3. 03呼び出しごとの AWS 資格情報とリージョンの指定
  4. 04FastMCP クラスをベースとした実装

活用シーン

  1. 01AI アシスタントによる CloudWatch 上のアプリケーションログの照会
  2. 02特定の時間帯におけるエラーの調査
  3. 03AWS ログと Claude Desktop の連携

MCP 対応

本プロジェクトは MCP サーバーであり、list_groups と get_logs の 2 つのツールを MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

CloudWatch Logs MCP サーバー

AWS CloudWatch のログにアクセスするためのツールを提供する MCP(Model Context Protocol)サーバーです。このサーバーにより、AI アシスタントは CloudWatch のロググループを一覧表示し、ログエントリを読み取ることができます。

利用可能なツール

list_groups

利用可能な CloudWatch ロググループを一覧表示します。

パラメータ:

  • prefix(省略可能): ロググループ名のプレフィックス
  • region(省略可能): AWS リージョン
  • accessKeyId(省略可能): AWS アクセスキー ID
  • secretAccessKey(省略可能): AWS シークレットアクセスキー
  • sessionToken(省略可能): AWS セッショントークン

戻り値: ロググループの一覧を含む JSON 文字列。logGroupName、creationTime、storedBytes が含まれます。

get_logs

特定のロググループから CloudWatch ログを取得します。

パラメータ:

  • logGroupName(必須): ロググループの名前
  • logStreamName(省略可能): ログストリームの名前
  • startTime(省略可能): ISO 形式または相対時間(例: "5m"、"1h"、"1d")での開始時刻
  • endTime(省略可能): ISO 形式での終了時刻
  • filterPattern(省略可能): ログのフィルターパターン
  • region(省略可能): AWS リージョン
  • accessKeyId(省略可能): AWS アクセスキー ID
  • secretAccessKey(省略可能): AWS シークレットアクセスキー
  • sessionToken(省略可能): AWS セッショントークン

戻り値: ログイベントを含む JSON 文字列。timestamp、message、logStreamName が含まれます。

セットアップ

AWS 認証情報

AWS 認証情報が設定されていることを確認してください。AWS CLI を使用するか、環境変数を設定することで構成できます:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
Claude Desktop での使用

claude_desktop_config.json に以下を追加します:

{
  "mcpServers": {
    "cloudwatch-logs": {
      "command": "python3",
      "args": ["/path/to/cloudwatch-logs-mcp/main.py"],
      "env": {
        "AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",
        "AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_ACCESS_KEY>",
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Docker

サーバーを Docker コンテナで実行したい場合は、Dockerfile を用意し、次の構成を使用できます:

{
  "mcpServers": {
    "cloudwatch-logs": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "AWS_ACCESS_KEY_ID",
        "-e",
        "AWS_SECRET_ACCESS_KEY",
        "mcp/cloudwatch-logs"
      ],
      "env": {
        "AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",
        "AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_ACCESS_KEY>",
      }
    }
  }
}

実装の詳細

このサーバーは、MCP SDK の FastMCP クラスを使用して構築されており、MCP サーバーを作成するためのシンプルな方法を提供します。サーバーは 2 つの主要なツールを公開しています:

  1. list_groups: 利用可能な CloudWatch ロググループを一覧表示します
  2. get_logs: 特定のロググループからログエントリを読み取ります

各ツールは、@mcp.tool() でデコレートされた async 関数として実装されています。サーバーは boto3 ライブラリを使用して AWS CloudWatch Logs API とやり取りします。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。