はじめに
Claude Desktopが登場してから、MCPを使ってAWSリソースにアクセスできないかと試行錯誤してみました。特にCloudWatchのメトリクスやアラームをClaude経由で確認できたら便利そう!と思って挑戦したのですが...結論から言うとマネコン使った方が圧倒的に楽でした。
この記事では、Windows環境で実際に試して分かったCloudWatch + MFA環境での制約や、なぜマネコンの方が現実的なのかを共有します。同じことを考えている方の参考になれば幸いです。
環境
- OS: Windows 11 Pro
- Claude Desktop: 最新版
-
AWS環境:
-
MFA(多要素認証)必須の本番相当の環境
→ここが今回の肝 -
- CloudWatchでメトリクス・アラーム・Composite Alarms・Performance Insightsを運用中
-
MFA(多要素認証)必須の本番相当の環境
- Node.js: v20.x(MCP Serverに必要)
- AWS CLI: v2.x
- PowerShell: 7.x
試したこと
1. Claude Desktop MCPの設定
まずはClaudeの公式ドキュメントに従って、MCP Serverを設定しようとしました。
Windows環境では設定ファイルは以下のパスにあります:
%APPDATA%\Claude\claude_desktop_config.json
エクスプローラーのアドレスバーに %APPDATA%\Claude を入力すると直接開けます。
初期設定を試みました:
{
"mcpServers": {
"aws-cloudwatch": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-aws"],
"env": {
"AWS_REGION": "ap-northeast-1"
}
}
}
}
Claude Desktopを再起動して、早速CloudWatchのアラーム一覧を表示しようとしました。
2. 最初の壁:認証情報が見つからない
Claude Desktopに「CloudWatchのアラーム一覧を表示して」とお願いしたところ、以下のようなエラーが:
NoCredentialsError: Unable to locate credentials
そりゃそうですよね。AWS認証情報を設定していませんでした。
3. AWS認証情報の設定を試みる
通常であれば、~/.aws/credentials に認証情報を書けばいいのですが、MFA必須環境では一時認証情報が必要ということを思い出しました。
PowerShellで一時認証情報を取得しようとしました:
# AWS CLIがインストールされているか確認
aws --version
# aws-cli/2.15.0 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
# MFAデバイスのARNとコードを使ってセッショントークンを取得
aws sts get-session-token `
--serial-number arn:aws:iam::XXXXXXXXX:mfa/YYYYYYYY `
--token-code <6桁のパスコード>
実行結果:
{
"Credentials": {
"AccessKeyId": "ASIA...",
"SecretAccessKey": "...",
"SessionToken": "FwoGZXIvYXdzEBo...(めちゃくちゃ長い)",
"Expiration": "2025-11-08T12:00:00+00:00"
}
}
この3つの値を claude_desktop_config.json に設定する必要があります。
4. 設定ファイルに一時認証情報を追加
{
"mcpServers": {
"aws-cloudwatch": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-aws"],
"env": {
"AWS_ACCESS_KEY_ID": "ASIA...",
"AWS_SECRET_ACCESS_KEY": "...",
"AWS_SESSION_TOKEN": "FwoGZXIvYXdzEBo...",
"AWS_REGION": "ap-northeast-1"
}
}
}
}
ここで問題が:
- SessionTokenが長いので、JSONファイルに貼り付けるのが大変
- コピペミスしやすい
- JSONのエスケープが必要な文字が含まれている可能性
5. Claude Desktopを再起動して再挑戦
設定を保存してClaude Desktopを再起動。タスクトレイから完全に終了させる必要があります:
- タスクトレイのClaudeアイコンを右クリック
- 「終了」を選択
- Claude Desktopを再度起動
再度「CloudWatchのアラーム一覧を表示して」とお願いしたところ...
Error: Unable to connect to MCP server
うーん。。。
この時点で日常的な利用を想定した際、下記の問題点があり、現実的ではないと判断しました。
MFA必須環境での壁
問題1: 一時認証情報の有効期限
取得したSessionTokenの有効期限は:
- デフォルト: 1時間
- 最大: 12時間(IAMユーザー設定による)
つまり、以下のサイクルが発生します:
- MFAコードを入力してSessionTokenを取得(6桁の数字が必要)
-
claude_desktop_config.jsonを開く - 3つの認証情報をコピペ(特にSessionTokenは超長い)
- JSONファイルを保存
- Claude Desktopを完全終了
- Claude Desktopを再起動
- 1〜12時間後、また最初から...
これを毎日、場合によっては1日に複数回繰り返すことになります。
問題2: エラーの原因特定が困難
Claude Desktopでエラーが出ても、詳細なログが見づらいです:
- MCP Serverの起動に失敗しているのか
- 認証情報が間違っているのか
- SessionTokenが期限切れなのか
- リージョンが間違っているのか
Windows環境では、イベントビューアーやPowerShellのログを見る必要がありますが、それも面倒です。
やってみて分かったこと
Claude Desktopの限界(Windows環境)
-
設定の更新が煩雑
- JSONファイルの編集 → 保存 → アプリ完全終了 → 再起動のサイクルが面倒
- Windowsでは設定ファイルのパスも覚えにくい
-
認証情報の管理がストレスフル
- SessionTokenが長すぎてコピペミスしやすい
- 有効期限が切れるたびに設定ファイルを編集
- 平文で保存するセキュリティリスク
-
デバッグが難しい
- エラーメッセージが不親切
- Windows特有のパス問題やPowerShell実行ポリシー問題にハマる
-
リアルタイム性の欠如
- CloudWatchの最新情報を見たいのに、認証で時間を取られる
- せっかくの対話型AIなのに「ちょっと待って、設定更新するから」となる
マネコンを使った方が現実的な理由
実際にマネコンと比較してみました:
| 項目 | Claude Desktop + MCP | AWS マネコン |
|---|---|---|
| MFA認証の頻度 | 1〜12時間ごと + 設定更新 | ブラウザセッション中は1回のみ |
| 認証の手間 | MFAコード入力→ CLI実行→ JSON編集→ 再起動 | MFAコード入力のみ |
| 視覚的な分かりやすさ | テキストベース | グラフ・ダッシュボード表示 |
| Performance Insights | 未対応 | リアルタイムグラフで確認可能 |
| Composite Alarms | テキスト表示のみ | 依存関係を視覚的に表示 |
| トラブルシューティング | エラーメッセージ頼み | 原因箇所へのリンク付き |
マネコンなら:
- ブラウザでAWSコンソールを開く
- MFAコードを入力(1回のみ、数時間有効)
- CloudWatchダッシュボードでメトリクスを確認
- 終わり
圧倒的にマネコンの方が楽でした。
無理にClaude DesktopでAWSにアクセスしようとせず、適材適所でツールを使い分けるのが賢明だと学びました。
参考リンク
同じようなことを試そうとしている方の参考になれば幸いです!
「Windowsでこうすればもっとうまくいったよ!」というアイデアがあれば、ぜひコメントで教えてください 🙌