Amazon CloudWatch Logs MCP Server について
Amazon CloudWatch Logs MCP Serverは、AWS SDKを介してAIアシスタントからCloudWatch Logsを照会・管理するサーバーです。ロググループ、ストリーム、イベント、Logs Insightsの操作に対応し、読み取り専用モードも選べます。現在も開発中です。
主な機能
- 01ロググループとストリームの管理
- 02ログイベントの取得と送信
- 03CloudWatch Logs Insightsクエリの実行
- 04読み取り専用操作への制限
活用シーン
- 01ストリームや期間を指定したイベント確認
- 02複数のロググループにまたがるイベント検索
- 03Logs Insightsクエリの実行と結果取得
MCP 対応
MCPクライアント向けに、ログ管理やInsightsクエリなどのCloudWatch Logs操作をツールとして公開します。AWS認証情報とリージョンは環境変数で設定します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Amazon CloudWatch Logs MCP サーバー
Amazon CloudWatch Logs サービスを操作するためのツールを提供する Model Context Protocol(MCP)サーバーです。このサーバーを使用すると、AWS SDK を利用した標準化インターフェースを通じて、AI アシスタントが CloudWatch ログを管理できます。
注記: このプロジェクトは現在活発に開発中であり、本番環境での使用にはまだ対応していません。最初の安定版リリースまでに、機能や API が大幅に変更される可能性があります。
概要
この MCP サーバーを使用すると、AI アシスタントは Model Context Protocol を通じて Amazon CloudWatch Logs を操作できます。さまざまな CloudWatch Logs の操作を実行するための標準化インターフェースを提供し、ログデータの包括的な管理と監視を可能にします。
クイックスタート
前提条件
- CloudWatch Logs にアクセスできる AWS アカウント
- 適切な権限を持つ AWS アクセスキーとシークレットキー
- Node.js(npm でインストールする場合)または Docker
インストール
次のいずれかのインストール方法を選択してください。
オプション 1:npm パッケージ
# Install the package
npm install -g @hyorimitsu/amazon-cloudwatch-logs-mcp-server
# Configure in your AI assistant's configuration
# See Configuration section below
オプション 2:Docker イメージ
# Pull the Docker image
docker pull ghcr.io/hyorimitsu/mcp-amazon-cloudwatch-logs:latest
# Configure in your AI assistant's configuration
# See Configuration section below
オプション 3:ローカル開発ビルド
# Clone the repository
git clone https://github.com/hyorimitsu/mcp-amazon-cloudwatch-logs.git
cd mcp-amazon-cloudwatch-logs
# Install dependencies
pnpm install
# Build the project
pnpm run build
# Configure in your AI assistant's configuration
# See Configuration section below
設定
AI アシスタントの設定にサーバーを追加します。
npm でインストールする場合
{
"mcpServers": {
"amazon-cloudwatch-logs": {
"command": "amazon-cloudwatch-logs-mcp-server",
"env": {
"AWS_REGION": "us-east-1",
"AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY>",
"AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_KEY>"
}
}
}
}
Docker でインストールする場合
{
"mcpServers": {
"amazon-cloudwatch-logs": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"AWS_REGION",
"-e",
"AWS_ACCESS_KEY_ID",
"-e",
"AWS_SECRET_ACCESS_KEY",
"ghcr.io/hyorimitsu/mcp-amazon-cloudwatch-logs"
],
"env": {
"AWS_REGION": "us-east-1",
"AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY>",
"AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_KEY>"
}
}
}
}
ローカル開発ビルドの場合
{
"mcpServers": {
"amazon-cloudwatch-logs": {
"command": "node",
"args": ["/path/to/mcp-amazon-cloudwatch-logs/build/index.js"],
"env": {
"AWS_REGION": "us-east-1",
"AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY>",
"AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_KEY>"
}
}
}
}
環境変数
| 変数 | 必須 | 説明 | デフォルト |
|---|---|---|---|
| AWS_REGION | いいえ | CloudWatch Logs リソースが配置されている AWS リージョン | us-east-1 |
| AWS_ACCESS_KEY_ID | はい | 認証に使用する AWS アクセスキー ID | - |
| AWS_SECRET_ACCESS_KEY | はい | 認証に使用する AWS シークレットアクセスキー | - |
| READONLY | いいえ | "true" に設定すると、読み取り操作のみが許可されます | false |
読み取り専用モード
READONLY 環境変数を "true" に設定すると、読み取り専用モードを有効にできます。
"env": {
"AWS_REGION": "us-east-1",
"AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY>",
"AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_KEY>",
"READONLY": "true"
}
読み取り専用モードでは、次のようになります。
- READ 操作(情報を取得または照会するツール)のみが利用できます
- WRITE 操作(リソースを作成、変更、削除するツール)は無効になります
このモードは、CloudWatch Logs リソースへの変更を防ぎつつ、ログの閲覧を許可したい場合に便利です。
利用可能なツール
ロググループ操作
| ツール名 | 操作タイプ | 説明 |
|---|---|---|
| create_log_group | WRITE | 指定した名前でロググループを作成します。アカウントごとに、各リージョンで最大 1,000,000 個のロググループを作成できます。 |
| describe_log_groups | READ | 指定したロググループを一覧表示します。すべてのロググループを一覧表示するか、プレフィックスで結果を絞り込めます。結果はロググループ名の ASCII 順に並べ替えられます。 |
| delete_log_group | WRITE | 指定したロググループを削除し、そのロググループに関連付けられているアーカイブ済みのログイベントをすべて完全に削除します。 |
ログストリーム操作
| ツール名 | 操作タイプ | 説明 |
|---|---|---|
| create_log_stream | WRITE | 指定したロググループのログストリームを作成します。ログストリームは、アプリケーションインスタンスや監視対象のリソースなど、単一のソースから発生したログイベントの連続です。 |
| describe_log_streams | READ | 指定したロググループのログストリームを一覧表示します。すべてのログストリームを一覧表示するか、プレフィックスで結果を絞り込めます。また、結果の並べ替え順序も指定できます。 |
| delete_log_stream | WRITE | 指定したログストリームを削除し、そのログストリームに関連付けられているアーカイブ済みのログイベントをすべて完全に削除します。 |
ログイベント操作
| ツール名 | 操作タイプ | 説明 |
|---|---|---|
| put_log_events | WRITE | ログイベントのバッチを指定したログストリームにアップロードします。 |
| get_log_events | READ | 指定したログストリームのログイベントを一覧表示します。すべてのログイベントを一覧表示するか、時間範囲で絞り込めます。 |
| filter_log_events | READ | 指定したロググループのログイベントを一覧表示します。すべてのログイベントを一覧表示するか、フィルターパターン、時間範囲、ログストリーム名(または複数のログストリームに一致するログストリーム名のプレフィックス)のいずれかで結果を絞り込めます。 |
Insights オペレーション
| ツール名 | オペレーションの種類 | 説明 |
|---|---|---|
| start_query | READ | CloudWatch Logs Insights を使用して、1 つ以上のロググループに対するクエリを開始します。クエリ対象のロググループと時間範囲、および使用するクエリ文字列を指定します。 |
| stop_query | READ | 実行中の CloudWatch Logs Insights クエリを停止します。クエリがすでに終了している場合、指定されたクエリは実行中ではないことを示すエラーが返されます。 |
| get_query_results | READ | 指定されたクエリの結果を返します。 |
| describe_queries | READ | このアカウントでスケジュール済み、実行中、または最近実行された CloudWatch Logs Insights クエリの一覧を返します。すべてのクエリを要求するか、特定のロググループのクエリ、または特定のステータスのクエリに絞り込めます。 |
各ツールのパラメーターや使用例を含む詳しいドキュメントについては、TOOLS.mdを参照してください。
開発
このプロジェクトの開発や拡張に関する情報については、CONTRIBUTING.mdを参照してください。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については、LICENSEファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。