はじめに
AWS から「AWS API MCP Server」という新しいツールが発表。
AWS API MCP Server の特徴
1. 自然言語で AWS を操作
従来は、AWSのサービスを使うためには専門的なコマンドやプログラミングの知識が必要でした。しかし、このツールを使えば:
- 「S3バケットの一覧を表示して」
- 「EC2インスタンスの状況を確認して」
- 「新しいLambda関数を作成して」
このような日本語での指示で、AI が AWS のコマンドを自動生成・実行してくれます。
実は MCP 無しでも AI エージェントに投げれば、AWS CLI コマンドを作成して実行してくれましたが、ただ質問の仕方が悪かったり、不十分な AWS CLI コマンドであったりして、何度も繰り返されるということが多かったと思います。そのため、余計な時間やコストがかかっていた点が解消できるのではないかと期待しています。
2. 幅広い AWS API に対応
AWS API MCP Server は、多くの AWS サービスの API に対応しています。
これにより、以下のような作業が簡単になります:
- トラブルシューティング: 問題が発生した際の原因調査
- アプリケーション管理: デプロイや設定変更
- サービス探索: 新しいAWSサービスの機能確認
3. セキュリティ機能
セキュリティ面でも安心です:
- IAM認証: IAM を使用した安全な認証
- 権限制御: 事前に設定された権限の範囲内でのみ操作が可能
- アクセス制限: 許可された API のみにアクセス可能
実際の使用例
従来の方法
aws s3 ls
aws ec2 describe-instances --region us-east-1
aws lambda list-functions
AWS API MCP Server 使用時
「S3バケットの一覧を表示して」
「米国東部リージョンのEC2インスタンス情報を教えて」
「Lambda関数の一覧を見せて」
AI が自然言語を理解して、適切な AWS コマンドを生成・実行してくれます。
利用開始方法
AWS API MCP Server はオープンソースとして公開されており、誰でも無料で利用できます。
パッケージをインストール
pip3 install awslabs.aws-api-mcp-server
MCP クライアントを構成
{
"mcpServers": {
"awslabs.aws-api-mcp-server": {
"command": "uvx",
"args": [
"awslabs.aws-api-mcp-server@latest"
],
"env": {
"AWS_REGION": "ap-northeast-1"
},
"disabled": false,
"autoApprove": []
}
}
}
動作確認
なんでも良いのですが、Claude Code で動作確認していきます。
「S3バケットの一覧を表示して」
AWS API MCP Server を使い結果を出力してくれました。
ただし、ここまでなら、MCP サーバ無しでもやってくれそうなシンプルな質問です。
「bedrockが含まれるオレゴンリージョンのS3バケットの一覧を表示して」
回答は返ってきましたがどうやら、bash が使われてしまったみたいですので、明示的に AWS API MCP Server を使うように指示してみます。
「bedrockが含まれるオレゴンリージョンのS3バケットの一覧をaws api mcpを利用して表示して」
もちろん bash の時とほぼ回答は変わりませんが、AWS API MCP Server を使い結果を出力してくれました。
メリット・デメリット
メリット
- 学習コストの削減: AWS コマンドを覚える必要がない
- 作業効率の向上: 自然言語での直感的な操作
- 初心者フレンドリー: 専門知識がなくても使いやすい
- セキュリティ: IAM による安全な権限管理
注意点
- 開発者プレビュー版: 本格運用前に十分なテストが必要
- AIの理解度: 複雑な指示の場合、意図通りに動作しない可能性
- 権限設定: 適切な IAM 設定が必要