CloudWatch Logs MCP サーバー
AWS CloudWatch ログにアクセスするためのツールを提供する MCP(Model Context Protocol)サーバー。このサーバーにより、AI アシスタントはロググループを一覧表示し、AWS CloudWatch からログエントリを読み取ることができます。
利用可能なツール
リストグループ
利用可能な CloudWatch ロググループを一覧表示します。
パラメータ:
prefix(オプション):ロググループ名のプレフィックスregion(オプション): AWS リージョンaccessKeyId(オプション): AWS アクセスキー IDsecretAccessKey(オプション): AWS シークレットアクセスキーsessionToken(オプション): AWSセッショントークン
戻り値: logGroupName 、 creationTime 、 storedBytesを含むログ グループのリストを含む JSON 文字列。
ログを取得する
特定のロググループから CloudWatch ログを取得します。
パラメータ:
logGroupName(必須): ロググループの名前logStreamName(オプション): ログストリームの名前startTime(オプション): ISO 形式または相対時間での開始時刻 (例: "5m"、"1h"、"1d")endTime(オプション): ISO 形式の終了時刻filterPattern(オプション): ログのフィルターパターンregion(オプション): AWS リージョンaccessKeyId(オプション): AWS アクセスキー IDsecretAccessKey(オプション): AWS シークレットアクセスキーsessionToken(オプション): AWSセッショントークン
戻り値: timestamp 、 message 、 logStreamNameを含むログ イベントを含む JSON 文字列。
Related MCP server: CloudWatch MCP Server
設定
AWS 認証情報
AWS 認証情報が設定されていることを確認してください。AWS CLI を使用するか、環境変数を設定することで設定できます。
AWS_ACCESS_KEY_IDAWS_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 コンテナ内でサーバーを実行する場合は、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サーバーを簡単に作成できるMCP SDKのFastMCPクラスを使用して構築されています。このサーバーは、主に2つのツールを公開しています。
list_groups: 利用可能な CloudWatch ロググループを一覧表示しますget_logs: 特定のロググループからログエントリを読み取ります
各ツールは@mcp.tool()で修飾された非同期関数として実装されています。サーバーはboto3ライブラリを使用してAWS CloudWatch Logs APIとやり取りします。
ライセンス
マサチューセッツ工科大学