はじめに
2026年5月、AWS MCP Serverが一般提供(GA)されました。
MCP(Model Context Protocol)は、AIと外部システムを連携させるためのプロトコルです。AWS MCP Serverを利用することで、Claude CodeなどのAIエージェントがAWSサービスの情報を取得し、それをもとに調査や分析を行えるようになります。
これまでもAIにソースコードの解析を依頼することはできましたが、実際のAWS環境の状態やログについては、人がAWSコンソールやCLIで確認した結果をAIへ渡す必要がありました。
AWS MCP Serverを利用すると、AIがCloudWatch LogsやECS、Lambdaなどの情報を直接参照できるため、ログ取得・集計・ソース照合が会話一本で完結します。
例えば障害調査の場面では、
- CloudWatch Logsからエラーログを検索する
- エラーが発生している処理をソースコードから特定する
- 関連するAWSリソースの設定を確認する
といった作業をAIに依頼できるようになります。
本記事では、AWS MCP Serverを設定済みの環境でClaude Codeを起動し、検証用のリポジトリを対象にエラーログの調査を試してみました。
なお、AWS MCP Serverのセットアップ方法については本記事では扱いません。設定手順についてはAWS公式ドキュメントや各種解説記事をご参照ください。
AWS MCPの一般提供を開始
ここでは、「設定方法」ではなく、「実際の障害調査でどのように活用できるのか」という点に焦点を当てて紹介します。
検証環境
| 項目 | 内容 |
|---|---|
| AI | Claude Code (Sonnet 4.6) |
| MCP | AWS MCP |
| 調査対象 | CloudWatch Logs |
Claude Codeに調査依頼してみる
では実際に調査依頼してみましょう。
Claude Codeへの入力プロンプトは以下です。
/aws/lambda/my-api-functionのCloudWatchで
ERRORが出ていないか確認して、原因を調べてください
Claude Codeの回答
/aws/lambda/my-api-function で直近に複数件のERRORが確認できました。
検出されたエラー:
[ERROR] KeyError: ‘EXTERNAL_API_KEY’発生傾向:
特定の処理フローでのみ発生しており、通常のリクエストは正常に処理されています。ソースコードとの照合結果:
myapp_client.py 内で os.environ[‘EXTERNAL_API_KEY’] を参照している箇所があります。この環境変数が未設定の場合にこのエラーが発生します。Lambdaの環境変数設定を確認したところ、該当キーが設定されていませんでした
対応: Lambdaの環境変数に EXTERNAL_API_KEY を追加してください。
一つの指示でCloudWatch Log, ソース, Lambdaの設定まで確認して原因と対処法を明らかにしてくれました!
従来との比較
| Before(旧来) | After(AWS MCP Server GA) | |
|---|---|---|
| ログ取得 | コンソールで検索してコピー | run_script で直接取得・集計 |
| 発生傾向の把握 | 1件ずつ目視 | 種別・件数・パターンを自動整理 |
| ソースの照合 | エディタで手動検索 | 同一会話内でソースを参照 |
| 最終判断 | 人 | 人 |
まとめ
AWS MCPを利用することで、「CloudWatchを開いてログをコピー → Claudeに貼る」が「Claudeに聞くだけ」になりました!
コンソールとエディタを行き来していた作業が1つの会話で完結します。特に今回のように「ログを見て原因コードを特定する」という作業は、ログとソースを同時に持てるClaude Codeとの相性が良く、実務で効果を感じやすい場面だと思います。
もちろん、業務仕様の理解や最終的な判断は依然として人が行う必要がありますが、障害が発生したときに人がログを集めてAIへ渡すのではなく、AI自身が必要な情報を集め、その結果をもとに人が判断する。
今回試した範囲では、そのような開発・運用スタイルが現実的になりつつあることを実感できました。
今後は障害調査だけでなく、運用作業やシステム分析などにも活用の幅が広がりそうです。引き続き実案件の中で試しながら、どこまで任せられるのか検証していきたいと思います。
※本記事での検証は、機密情報や顧客データが一切含まれないよう完全に隔離・マスクされた「検証用の模擬環境」および「サンプルコード」を使用して実施しています。また、データがモデルの学習に利用されないよう、適切なオプトアウト設定のもとで検証を行なっています。