この記事の概要
2026年5月6日、AWS MCP ServerがGA(一般提供開始)となりました。
AIコーディングエージェントが15,000以上のAWS APIに対して、IAM認証を通じた安全なアクセスができるようになります。
既存の認証情報をそのまま使い、CloudTrailで監査証跡も残るため、エンタープライズ環境での実用に耐えうる設計になっています。
AIエージェントがAWSを「使いこなせる」時代が来た
これまでAIコーディングエージェントにAWSの作業を任せようとすると、いくつかの壁にぶつかっていました。
学習データの鮮度問題:モデルは訓練時点の知識しか持っていないため、Amazon S3 VectorsやAmazon Aurora DSQLのような新サービスを知らずに古いアプローチを提案してきます。
権限管理の難しさ:エージェントにAWSアクセスを与えると、意図せず広すぎる権限を持ったIAMポリシーが生成されがちです。
運用品質の低さ:デモでは動くが本番には持ち込めない、CliベースのIaC(CLIコマンドの羅列)を出力してしまう。
AWS MCP ServerのGAリリースはこれらの課題を一気に解決します。
なぜAIエージェント単体ではAWS作業を任せられないのか
AIエージェントがAWSに触れる際の典型的な失敗パターンを整理すると、次のようになります。
知識の陳腐化:Claude Opus 4.6の知識カットオフは2025年5月。
「S3にベクトルを保存したい」と聞いても、Amazon S3 Vectorsを知らずに「DynamoDBにBase64エンコードして…」という提案が返ってきます。
IAMポリシーの肥大化:エージェントはとりあえず動く最小のコードを書こうとするため、"Action": "*", "Resource": "*" のようなワイルドカードポリシーを平然と生成します。
IaCの質が低い:CLIコマンドを羅列するシェルスクリプトを書きがちで、CloudFormationやCDKを使った再現性・管理性の高いコードを選ばない傾向があります。
AWS MCP Serverはこれらを「ツール」として解決します。
エージェントがドキュメントを引いてAWS APIを叩き、サンドボックスでスクリプトを実行する。
これが現役のインフラSEにとってどれだけ実務的かを、以降で具体的に解説します。
AWS MCP Serverの3つのコアツールを使いこなす
AWS MCP Serverは、コンパクトな3つのツールでAIエージェントの弱点を補完します。
call_aws — 15,000以上のAWS APIを1つのツールで
# Claude CodeにAWS MCP Serverを追加するコマンド
claude mcp add-json aws-mcp --scope user \
'{"command":"uvx","args":["mcp-proxy-for-aws@latest","https://aws-mcp.us-east-1.api.aws/mcp","--metadata","AWS_REGION=ap-northeast-1"]}'
call_awsツールは、既存のIAM認証情報を使ってAWSのどのAPIでも呼び出せます。
新しいAPIがリリースされれば数日以内に対応されるため、常に最新のサービスを扱えます。
事前にuvをインストールしておく必要があります。
# uv のインストール(Mac/Linux)
curl -LsSf https://astral.sh/uv/install.sh | sh
search_documentation / read_documentation — リアルタイムでAWSドキュメントを参照
エージェントが「S3 Vectorsとは何か」を問われた際、学習データではなくその場でAWSの公式ドキュメントを取得して回答するため、情報の陳腐化が起きません。
ドキュメント取得は認証不要で動作します。
run_script — サンドボックス内でPythonを実行
# エージェントが内部で実行するPythonスクリプト(例)
import boto3
ec2 = boto3.client('ec2', region_name='ap-northeast-1')
instances = ec2.describe_instances(
Filters=[{'Name': 'instance-state-name', 'Values': ['running']}]
)
# 複数APIの結果をまとめてフィルタリング
results = []
for reservation in instances['Reservations']:
for instance in reservation['Instances']:
results.append({
'id': instance['InstanceId'],
'type': instance['InstanceType'],
'name': next((t['Value'] for t in instance.get('Tags', []) if t['Key'] == 'Name'), 'N/A')
})
print(results)
このスクリプトはサーバーサイドのサンドボックスで実行されます。
ローカルのファイルシステムにもネットワークにもアクセスできないため、エージェントが意図しない操作をするリスクを排除できます。
複数のAPIを連続呼び出ししてまとめるといった「集計処理」が一度のラウンドトリップで完了し、コンテキスト効率も向上します。
セキュリティ設計:エンタープライズ環境で使うためのポイント
IAM Context Keyによる細粒度アクセス制御
GA版で追加された最大の新機能です。aws:ViaAWSMCPServiceとaws:CalledViaAWSMCPという2つのIAM Context Keyを使うことで、「人間が直接実行した場合」と「AIエージェント経由で実行した場合」を区別できます。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"ec2:TerminateInstances",
"s3:DeleteBucket"
],
"Resource": "*",
"Condition": {
"Bool": {
"aws:CalledViaAWSMCP": "true"
}
}
}
]
}
このポリシーをSCP(サービスコントロールポリシー)として適用すれば、AIエージェントが破壊的な操作を行うことを組織レベルで禁止できます。
CloudTrail + CloudWatchによる監査証跡
AWS-MCPネームスペースのCloudWatchメトリクスで、MCP経由の呼び出しと人間による呼び出しを別々に観測できます。
CloudTrailには全APIコールが記録されるため、コンプライアンス要件への対応が容易です。
対応リージョンと料金
現時点では米国東部(バージニア北部)と欧州(フランクフルト)の2リージョンで利用可能です(いずれのリージョンからでも全AWSリージョンへのAPIコールは可能)。
AWS MCP Server自体の追加料金はなく、作成したAWSリソースと通信コストのみ発生します。
今すぐ試せる:Claude CodeでAWS MCP Serverを設定する3ステップ
Step 1: uvをインストール
curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.bashrc # または ~/.zshrc
Step 2: AWS MCP ServerをClaude Codeに追加
claude mcp add-json aws-mcp --scope user \
'{"command":"uvx","args":["mcp-proxy-for-aws@latest","https://aws-mcp.us-east-1.api.aws/mcp","--metadata","AWS_REGION=ap-northeast-1"]}'
東京リージョンの場合はAWS_REGION=ap-northeast-1を指定します。
Step 3: Claude Code内で確認
Claude Codeを起動して/mcpコマンドを実行し、aws-mcpが表示されていれば設定完了です。
あとは普通に「S3 Vectorsを使ったベクトル検索の実装方法を教えて」と質問するだけで、エージェントが最新ドキュメントを参照して回答してくれます。
Kiro、Cursor、Codexなどのほか、MCP対応クライアントであれば同様の手順で接続できます。
まとめ:AIエージェントとAWSインフラの協業が現実になった
AWS MCP ServerのGAは、「AIに作業を丸投げする」ではなく「AIと一緒に安全に作業する」ための基盤が整ったことを意味します。
ポイントを整理すると:call_awsで15,000以上のAPIを学習済み知識に頼らずリアルタイムに呼び出せる。
run_scriptでサンドボックス実行することで、ローカル環境への影響を排除しつつ複雑な集計処理をこなせる。
IAM Context Keyでエージェントの権限を人間と分けて管理でき、CloudTrailで監査証跡を確保できる。
インフラSEとして「AIにAWSの作業を任せたいけど怖い」という感覚は正しい直感でした。
AWS MCP Serverはその不安に対する、AWSなりの現実的な回答です。
まずはローカル環境のClaude CodeかKiroに接続してみてください。
新しいAWSサービスについて聞いてみた瞬間、エージェントの振る舞いが変わることを体感できるはずです。


コメント