AWS MCP Server が GA になったので従来の OSS 版から移行してみた

記事タイトルとURLをコピーする

アプリケーションサービス部の山本です。

はじめに

2026年5月6日、AWS MCP Server が一般提供開始(GA)になりました。

これまで AWS × MCP といえば、awslabs/mcp リポジトリで公開されている ローカル実行型の OSS サーバー群 を個別にインストールして使うスタイルでした。今回 GA になった AWS MCP Server は、それらを統合した AWS がホストするマネージドリモート MCP サーバー です。

本記事では以下を解説します。

  1. AWS の MCP サーバーがどう進化してきたか(時系列)
  2. GA で何が変わったのか
  3. 従来の OSS サーバー群と AWS MCP Server の違い
  4. セットアップ方法(Kiro / Claude Code 向け)
  5. 実際に使ってみた様子(スクリーンショット付き)

AWS MCP サーバーの進化の流れ

Phase 1: OSS ローカルサーバー群(2025年前半〜)

AWS は awslabs/mcp リポジトリで、用途別の MCP サーバーを OSS として公開してきました。

サーバー名 用途
aws-documentation-mcp-server AWS ドキュメント検索
aws-serverless-mcp-server Lambda / API Gateway のベストプラクティス
aws-cloud-control-api-mcp-server CloudFormation リソースの CRUD
aws-cdk-mcp-server CDK プロジェクトの構築支援
aws-cost-analysis-mcp-server コスト分析
その他多数 EKS, ECS, DynamoDB, etc.

これらは ローカルで uvxnpx で起動 するスタイルです。ドキュメント検索だけなら認証不要、API 操作系はローカルの AWS 認証情報を直接使います。

メリット:

  • 必要なものだけ選んでインストールできる
  • 認証がシンプル(ローカルの credentials をそのまま使う)

課題:

  • サーバーごとにインストール・更新が必要
  • ツール数が多くなるとエージェントのコンテキストを圧迫
  • 監査やアクセス制御の仕組みがない
  • サーバー間の連携ができない

Phase 2: AWS MCP Server プレビュー(2025年12月 re:Invent)

re:Invent 2025 で AWS MCP Server のプレビューが発表されました。

コンセプトは「1つのリモートサーバーで、ドキュメント検索も AWS API 実行もまとめて提供する」というもの。ローカルには軽量プロキシ(mcp-proxy-for-aws)だけを置き、実際の処理は AWS 側で行います。

Phase 3: GA(2026年5月)← 今ここ

プレビューから以下が追加・改善されて GA になりました。

GA で追加された新機能

run_script ツール — 複数の処理をまとめて安全に実行

The run_script tool lets the agent write a short Python script that runs server-side in a sandboxed environment. The sandbox inherits your IAM permissions but has no network access — AWS News Blog

従来、エージェントが「EC2 インスタンスの一覧を取得して、タグの付いていないものだけ抽出する」といった処理をする場合、API を1つずつ呼んでは結果を確認し、また次の API を呼ぶ…という往復が必要でした。

run_script は、こうした一連の処理を AWS 側の隔離された実行環境で一括実行 できる機能です。

  • ユーザーの IAM 権限の範囲内でのみ動作
  • 外部ネットワークへの通信は遮断
  • ローカル PC のファイルやシェルには一切アクセスしない

「必要な権限だけ持った、外部と隔離された作業スペース」で処理が完結するため、セキュリティを担保しつつ作業効率を大幅に向上できます。

② Skills — AWS サービスチーム公式のベストプラクティス

Skills provide curated guidance and best practices for the tasks where agents most commonly make mistakes. Skills are contributed and maintained by AWS service teams. — AWS News Blog

AI エージェントは汎用的な知識を持っていますが、「このサービスはこう使うのが正解」という AWS 固有のノウハウは、モデルの学習時期によっては古い場合があります。

Skills は、AWS の各サービスチームが作成・メンテナンスしている タスク別のガイダンス です。エージェントは作業の文脈に応じて必要な Skill を自動的に参照し、最新のベストプラクティスに沿った提案を行います。

提供される Skill の例:

  • サービス選定ガイド(DynamoDB vs Aurora vs DSQL の判断基準)
  • 構築手順(S3 Tables の作成、Glue ETL パイプラインの設計)
  • トラブルシューティング(CloudFormation デプロイ失敗の診断フロー)
  • SDK 利用ガイド(言語別のよくあるミスと正しいパターン)

以前は「Agent SOPs」という名称でしたが、より体系化されて Skills として再設計されました。

参考: Skills - Agent Toolkit for AWS

③ IAM コンテキストキー — 既存の権限管理の仕組みにそのまま統合

The AWS MCP Server now supports IAM context keys, so you no longer need a separate IAM permission to use the server and can express fine-grained access in a standard IAM policy. — AWS News Blog

プレビュー時は、AWS MCP Server を利用するために専用の IAM アクション(aws-mcp:InvokeMcp 等)を許可する必要がありました。

GA では、この専用権限が撤廃されました。代わりに、MCP Server 経由のリクエストには自動的にコンテキストキー(aws:ViaAWSMCPService)が付与されます。これにより、既存の IAM ポリシーに条件を追加するだけで「エージェント経由の操作は読み取りのみ許可」「特定リソースの削除は禁止」といった制御が可能です。具体的なポリシーの書き方は後述の「IAM によるアクセス制御」で紹介します。

新たな権限設計を一から行う必要がなく、既存のガバナンス体制にそのまま組み込めます。

参考: Setting up the AWS MCP Server - Step 4: Understand IAM authorization

④ ドキュメント検索の認証不要化

Documentation retrieval no longer requires authentication. — AWS News Blog

ドキュメント検索機能に限り、AWS の認証情報なしで利用できるようになりました。「まず触ってみる」段階での導入ハードルが下がり、チーム内での検証がしやすくなっています。

補足: 認証なしで使えるか試してみた

「ドキュメント検索だけなら認証不要」とのことなので、AWS_PROFILE を外して接続を試みました。

結果:

  • env から AWS_PROFILE を削除 → ローカルのデフォルト認証情報(~/.aws 配下)が使われ、全ツールが動作してしまった
  • 存在しないプロファイルや空のクレデンシャルを指定 → プロキシ自体が起動しなかった

mcp-proxy-for-aws は起動時に SigV4 署名用の認証情報を解決しようとするため、有効な認証情報がないとプロキシが立ち上がりません。つまり現時点では 「ドキュメント検索だけ認証なしで使う」という構成は、プロキシ経由では実現できません

サーバー側の仕様としては認証不要ですが、クライアント(プロキシ)側の制約で、何らかの有効な AWS 認証情報は必要です。今後プロキシ側が対応すれば変わるかもしれません。

⑤ トークン効率の改善

We have also reduced the number of tokens required per interaction, which matters for complex, multi-step workflows. — AWS News Blog

1回のやり取りで消費するトークン数(AI が処理するデータ量)が削減されました。複雑なマルチステップの作業において、処理速度の向上と AI 利用コストの削減が期待できます。

⑥ CloudWatch メトリクス / CloudTrail 対応 — 運用の可視化と監査

Amazon CloudWatch metrics published under the AWS-MCP namespace let you observe MCP server calls separately from direct human calls. Amazon CloudTrail captures all API calls for a complete record. — AWS News Blog

  • CloudWatch メトリクス: AWS-MCP 名前空間で、エージェント経由の呼び出し回数・エラー率を監視できます。人間による直接操作とは別に集計されるため、エージェントの利用状況を定量的に把握できます。
  • CloudTrail: MCP Server 経由の全 API 呼び出しが記録されます。「いつ、誰の認証情報で、どの API が呼ばれたか」を追跡でき、社内のコンプライアンス要件や監査対応に活用できます。

参考: AWS MCP Server CloudWatch metrics

従来の Documentation MCP Server との比較

私がこれまで使っていた awslabs.aws-documentation-mcp-server と、新しい AWS MCP Server を比較します。

観点 aws-documentation-mcp-server(従来) AWS MCP Server(GA)
実行場所 ローカル(uvx で起動) AWS ホスト(リモート)
ローカルに必要なもの Python + サーバー本体 mcp-proxy-for-aws(軽量プロキシ)のみ
提供ツール ドキュメント検索のみ(3ツール) ドキュメント検索 + AWS API 実行 + スクリプト実行 + Skills(11ツール)
認証 不要 IAM 認証(SigV4)。ドキュメント検索のみなら不要だが、プロファイルは必要。
AWS API 操作 ❌ できない ✅ 15,000+ の API を実行可能
サンドボックス実行 run_script で Python 実行
ベストプラクティス ✅ Skills で提供
監査 ✅ CloudTrail / CloudWatch
アクセス制御 ✅ IAM コンテキストキーで制御
更新 uvx で最新版を取得 AWS 側で自動更新
コスト 無料 MCP Server 自体は無料(作成したリソースのみ課金)

提供ツール一覧

AWS MCP Server が提供するツールは以下の通りです(公式ドキュメントより)。

Knowledge Tools(ドキュメント・ナレッジ系):

ツール名 説明
search_documentation AWS ドキュメントを検索(認証不要)
read_documentation AWS ドキュメントページを取得(認証不要)
recommend ドキュメントページの関連コンテンツを推薦
retrieve_skill AWS サービスチームが管理するキュレーション済みガイダンス(Skills)を取得
list_regions 全 AWS リージョン一覧を取得
get_regional_availability リージョン別のサービス利用可否を確認

API Tools(AWS 操作系):

ツール名 説明
call_aws AWS CLI コマンドを実行(15,000+ API 対応、新 API は数日以内にサポート)
suggest_aws_commands 自然言語から AWS CLI コマンドを提案
run_script サンドボックス環境で Python スクリプトをサーバーサイド実行
get_presigned_url S3 のアップロード/ダウンロード用署名付き URL を生成
get_tasks 長時間実行タスクのステータスをポーリング

従来の Documentation MCP Server が提供していた search_documentationread_documentationrecommendすべて AWS MCP Server に含まれています。つまり完全な上位互換です。

セットアップ方法

前提条件

  • uv がインストール済み(uvx コマンドが使える)
  • AWS 認証情報が設定済み(aws sso loginaws login

Step 1: 既存の Documentation MCP Server を無効化

AWS MCP Server と併用するとツールが重複してエージェントが混乱するため、従来のサーバーを無効化します。

Step 2: MCP 設定に AWS MCP Server を追加

Kiro の場合(~/.kiro/settings/mcp.json):

{
  "mcpServers": {
    "aws-mcp": {
      "command": "uvx",
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://aws-mcp.us-east-1.api.aws/mcp",
        "--metadata", "AWS_REGION=ap-northeast-1"
      ],
      "env": {
        "AWS_PROFILE": "your-profile-name"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

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"]}'

設定のポイント

パラメータ 説明
mcp-proxy-for-aws@latest ローカルで動くプロキシ。SigV4 署名を処理して AWS MCP Server に転送する
https://aws-mcp.us-east-1.api.aws/mcp AWS MCP Server のエンドポイント。us-east-1eu-central-1 を選択
--metadata AWS_REGION=ap-northeast-1 AWS API 操作のデフォルトリージョン。エンドポイントのリージョンとは別
AWS_PROFILE 使用する AWS プロファイル

エンドポイントのリージョン ≠ 操作対象リージョン という点に注意してください。エンドポイントは MCP サーバー自体の場所、AWS_REGIONcall_aws で操作する先のリージョンです。

Step 3: 接続テスト

Kiro を再起動して、以下のように聞いてみます。

「S3 バケットの一覧を教えて」

エージェントが call_aws ツールを使って S3 の ListBuckets を呼び出せれば成功です。

実際に使ってみた

上記のセットアップを行った後、Kiro で各ツールを試してみました。

MCP Servers 一覧

設定後、Kiro の MCP Servers パネルに aws-mcp が表示されます。

call_aws ツール(要認証)

自然言語で AWS リソースの状態を確認できます。

S3 バケットの一覧を教えて

EC2 インスタンスの状態を確認して

search_documentation / read_documentation ツール(認証不要)

ドキュメント検索は認証なしでも動作します。

AWS ドキュメントから AWS MCP Server の仕様を教えて

run_script ツール(要認証)

複数の API 呼び出しを組み合わせた処理を、AWS 側のサンドボックスで一括実行します。

全リージョンの S3 バケット数を集計して

retrieve_skill

エージェントが Skill を参照して、ベストプラクティスに沿った回答を生成します。

IAM によるアクセス制御

AWS MCP Server 経由のリクエストには、以下の IAM コンテキストキーが自動付与されます。

  • aws:ViaAWSMCPServicetrue(AWS マネージド MCP サーバー経由であることを示す)
  • aws:CalledViaAWSMCPaws-mcp.amazonaws.com

これを使って「エージェントには読み取りだけ許可、削除は禁止」といった制御ができます。

{
  "Effect": "Deny",
  "Action": ["s3:DeleteBucket", "s3:DeleteObject", "ec2:TerminateInstances"],
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "aws:CalledViaAWSMCP": "aws-mcp.amazonaws.com"
    }
  }
}

料金

  • AWS MCP Server 自体: 無料
  • 課金されるのは call_awsrun_script で作成した AWS リソースとデータ転送のみ

従来の Documentation MCP Server も無料だったので、コスト面でのデメリットはありません。

まとめ

従来(OSS ローカル群) AWS MCP Server(GA)
管理 サーバーごとに個別管理 1つのエンドポイントに統合
できること サーバーごとに限定的 ドキュメント + API + スクリプト + Skills
セキュリティ ローカル credentials を直接使用 IAM コンテキストキーで人間/エージェントを分離
監査 なし CloudTrail + CloudWatch
更新 手動 AWS 側で自動

AWS MCP Server は、これまでバラバラだった OSS サーバー群の機能を 1つのマネージドサービスに統合 し、エンタープライズ向けのガバナンス機能を追加したものです。

ドキュメント検索だけ使っていた人も、AWS API 操作やベストプラクティスの Skills が追加コストなしで使えるようになるので、乗り換えを検討する価値は十分あります。

ただし、現時点ではエンドポイントが us-east-1eu-central-1 のみです。東京リージョンのエンドポイントが追加されるまでは、レイテンシが気になる場面があるかもしれません(操作対象リージョンは東京を指定できるので、実用上は問題ないはずです)。

参考リンク

余談

富士山は桜が綺麗でした。

山本 哲也 (記事一覧)

多分インフラエンジニアです。データ分析に興味あります。

山を走るのが趣味です。今年は 100 マイルレース完走します。