AWSからAWS MCP Serverが発表されました。
まだプレビュー版でバージニア北部リージョンでしか使用できませんが、試してみました!

これまでAWS API MCPサーバーやAWS Knowledge MCP サーバーなど、個別のMCPサーバーは存在し、使う際はそれぞれをIDEなどに登録して使用する必要がありましたが、今回のアップデートでAWS MCP Serverがそれらの窓口となり、自分で各MCPサーバーを設定しなくても自動で連携・実行してくれるようになりました。

個人的に VSCode で Amazon Q Developer を使用する際に、個別に各AWS系のMCPサーバーを接続する作業が億劫だったのですが、AWS MCP Server を登録するだけでそれぞれを自動で呼び出してくれるのは本当に助かります。

仕組み

AWS MCP Serverは、AIアシスタントからのリクエストを受け取ると、以下の3つの機能を組み合わせてタスクを実行します。

Agent SOPs

AIでよくあるハルシネーションによってAWS構築に関する嘘が出力されたことはないでしょうか?
このAgent SOPsはAWSが推奨するベストプラクティスやセキュリティガイドラインに準拠した複雑な手順(SOP)が組み込まれているため、AIモデルが推測で回答するのを防いでくれます。

使用されるツール一覧

  • retrieve_agent_sop: 現在のタスクやフローに最適なエージェントSOPを自律的に検索したり、特定のSOPに含まれるワークフロー情報を取得

Knowledge tools

AIモデルの学習データが最新のAWSアップデートを取得してくれるツール。
AIが知らない情報を受けた際に、以下のような公式情報源を自律的に検索・参照してくれるため、正確なAWS情報に基づき回答するようにできます。

  • AWS ドキュメント
  • API リファレンス
  • 最新の発表や仕様

使用されるツール一覧

  • aws___search_documentation: AWS API リファレンス、ユーザーガイド、ベストプラクティスなどの公式ドキュメント全体を対象に検索を実行
  • aws___read_documentation: 検索したドキュメントの内容を取得し、AIが理解・処理しやすい Markdown 形式に変換して提供
  • aws___recommend: 関連するトピックや、他のユーザーの閲覧傾向に基づいた推奨事項を取得し、文脈に沿った情報の補完を実施
  • aws___list_regions: 最新の AWS リージョンリストを取得
  • aws___get_regional_availability: 特定のサービス、API、SDK、または CloudFormation リソースが、指定されたリージョンで実際に利用可能かどうかを確認

API Tools による実行

実際にAWSリソースに対する操作を行うツール。
以下のようなことをやってくれます。

  • ユーザーが入力した自然言語(例:「S3バケットのリストを表示して」)を解釈し、適切なAWS APIリクエストのフォーマットに変換
  • API呼び出しを実行し、その結果(成功時の出力やエラーメッセージ)を詳細なフィードバックとしてAI or ユーザーに返却

使用されるツール一覧

  • call_aws: APIリクエストの構文チェックを行った上で、AWS IAM 認証を用いて操作を実行
  • suggest_aws_commands: AIモデルの学習データに含まれていない、新しくリリースされたサービスやAPIについて、正しい構文やヘルプ情報を取得

料金

AWS MCP サーバー自体の利用に料金は発生しません。
コストが発生するのは、MCP サーバーが操作・処理を行った AWS リソースの利用料 や データ転送量(Data Transfer) のみです。

やり方

準備

はじめに、もし既にAWSのMCPサーバーを使用している環境であれば、以下2つのMCPサーバーの設定を削除します。私はVSCodeのAmazon Qで元々使用していたため、削除します。

  • aws-api-mcp-server
  • aws-knowledge-mcp-server

また AWS CLI のインストールと、AWS認証を済ませる必要があります。

  • SSOユーザーの場合
    • aws configure sso
  • IAMユーザー
    • aws configure

さらに、まだuvをインストールしていない方は、インストールが必要です。

  • macOSとLinux
    • curl -LsSf https://astral.sh/uv/install.sh | less
  • Windows
    • powershell -c "irm https://astral.sh/uv/install.ps1 | more“

MCPクライアントを構成する

今回はVSCodeなので、Kiro CLIの設定を真似て設定します。
"--metadata", "AWS_REGION=us-west-2"の一行はオプショナルで、記載しない場合はus-east-1が設定されます。

{
  "mcpServers": {
    "aws-mcp": {
      "command": "uvx",
      "timeout": 100000,
      "transport": "stdio",
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://aws-mcp.us-east-1.api.aws/mcp",
        "--metadata", "AWS_REGION=us-west-2"
      ]
    }
  }
}

VSCodeの Amazon Q のプラグインで設定する場合は、こんな感じ。

IAM権限設定

個別でIAMポリシーを付与してIAMユーザーやロールを使用している場合は、権限追加をする必要があります。
※AdministratorAccessが付与されたアカウントであれば不要です

{
   "Version": "2012-10-17",              
   "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "aws-mcp:InvokeMCP",
                "aws-mcp:CallReadOnlyTool",
                "aws-mcp:CallReadWriteTool"
            ],
            "Resource": "*"
        }
    ]
}

接続してみる

公式ドキュメントに書いてある通り、リージョンについて聞いてみます。
利用可能な AWS リージョンは何ですか?

何も指示しなくてもちゃんとaws___list_regionsが呼び出されていますね。
試しにリソースを作成する指示を出してみます。

aws___search_documentationaws___retrieve_agent_sop が呼び出されていますね!
Agent SOP のリストも表示できました。

まとめ

これまで個別に設定が必要だった Knowledge サーバーや API サーバーが一本化されたことで、IDE やCLIでのセットアップがシンプルになりました。
ユーザーが「どのツールを使うべきか」を意識しなくても、AWS MCP Server がベストプラクティスに沿った安全かつ正確な操作を自律的に行ってくれるのは個人的にもとても嬉しいです!

参考