46
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS API MCP Serverの機能を理解して使いこなそう

Last updated at Posted at 2025-12-01

AWS API MCP Serverが手軽で便利でおすすめなので、AWS API MCP Serverができることを紹介します。

AWS API MCP Serverとは

「ap-northeast-1 の EC2インスタンスを一覧表示して」「ポート22の空いているセキュリティグループを一覧表示して」のような指示を自然言語で出すだけで、指示に対応したAWS CLIコマンドを実行してくれます。

実行例

AWS API MCP Serverの実行方法には下記の選択肢があります。

AgentCoreにデプロイする方式はIAMロールを用いて権限制御ができ、ローカルのAWS認証情報と分離できるため、他の2つの手法よりもセキュアな構成となります。詳細や設定方法はこちらのガイドを確認ください。
https://github.com/awslabs/mcp/blob/main/src/aws-api-mcp-server/DEPLOYMENT.md

つい先日、KiroやCursor、Claude Desktopと接続する場合でもIAMロールを指定できるプレビューがAWSから発表されました。(12/2時点ではバージニア州のみが対象です。)
https://aws.amazon.com/jp/about-aws/whats-new/2025/11/aws-mcp-server/

設定方法はこちらの通りです。
https://docs.aws.amazon.com/aws-mcp/latest/userguide/getting-started-aws-mcp-server.html

AWS API MCP Serverの機能

AWS API MCP Serverには、3つのtoolが実装されています。

  • call_aws
  • suggest_aws_commands
  • get_execution_plan (※experimental)

call_aws

2025年現在、ClaudeをはじめとしたLLMモデルは優秀であるため、基本的なコマンドは特にMCPを使わずとも作成してくれます。
しかしながら、AWS環境でいきなりLLMがつくったCLIコマンドをたたくのは、心配な方も多いのではないでしょうか。

そこで登場するのがcall_awsです。これは、AWS CLIコマンドを実行するtoolで、コマンドの事前検証や、問題が発生時のエラー処理もしてくれます。

項目
主要なinput - AWS CLIコマンド
主要なoutput - AWS CLIコマンド実行結果(APIレスポンスやエラーメッセージ)

image.png

事前検証では、AWS CLIコマンドのバリデーションチェックだけでなく、該当コマンドがAWS API MCP Serverに与えられているIAMポリシーの範囲内で実施可能なコマンドかどうかもチェックをしてくれます。そのため、むやみやたらにLLMの生成したAWSコマンドをたたくことを防げます。

実行は、実はAWS CLIコマンドをそのままAWS環境に連携しているのではなく、該当コマンドをMCP Server内でAPIへ変換し、そのAPIをAWS環境にリクエストとして投げております。このロジックがあるから、このMCP Serverは「AWS CLI MCP Server」ではなく「AWS API MCP Server」と名乗っているのかと思われます。(※ aws configureなど、一部例外はあります)

AWS CLIコマンドをAPIへ変換する際に、Pythonのbotocoreパッケージを活用しています。

このあたりの仕組みが気になる方は、こちらの記事もご確認ください。
https://aws.amazon.com/jp/builders-flash/202210/way-to-operate-api-2/

suggest_aws_commands

ClaudeをはじめとしたLLMモデルは優秀であるため、基本的には前述したcall_awsで事足ります。
しかしながら、指示があいまいな場合や選択肢が複数ある場合、LLMだけでは適切なAWS CLIコマンドを断定できないケースもあります。

そこでAWSは、ユーザの要望を解析し、AWS CLIコマンドを提案してくれるtoolも用意してくれました。

項目
主要なinput - ユーザのクエリ
主要なoutput - タスクを実行できる可能性が高いAWS CLIコマンド
- 各コマンドの信頼度スコア
- 各コマンドの必須パラメータ
- 各コマンドの説明

image.png

上記のケースは、「EC2インスタンスを起動する方法」にはEC2を活用する方法だけでなく、Cloud9を活用する方法があることをsuggest_aws_commandsが確認しています。しかしながら、Cloud9よりもEC2を活用する方のスコアが優れていたため、EC2を起動するAWSコマンドを選定しています。

suggest_aws_commandsの仕組みとしては、リモートのエンドポイント(https://api-mcp.global.api.aws/suggest-aws-commands)にクエリをPOSTし、その結果を表示しております。

なお、v1.0.0より前の段階では、リモートのエンドポイントは存在しておらず、AWS API MCP Serverのソースコード内に実装がありました。(リモートのエンドポイントを活用することで依存関係の排除に成功しており、起動時間の短縮にもつながっています。)

置き換わる前の実装の一部を抜粋すると、KnowledgeBaseとしてローカルでRAGを活用していたことがわかります。

詳細が気になる方は、こちらをご覧ください。

get_execution_plan

get_execution_planは、2025/12時点ではまだExperimentalな機能です。

このtoolを利用するには、環境変数EXPERIMENTAL_AGENT_SCRIPTSをTrueにする必要があります。

これによりENABLE_AGENT_SCRIPTSがTrueになり、toolがアクティブになります。
https://github.com/awslabs/mcp/blob/main/src/aws-api-mcp-server/awslabs/aws_api_mcp_server/core/common/config.py#L141

call_awsとsuggest_aws_commandsがあればすでに十分便利ではあるのですが、複雑なタスクをステップバイステップで実行計画をたてるツールも用意されています。

項目
主要なinput - 特定のscript_name
主要なoutput - タスクのステップバイステップの指示を含んだスクリプトプラン

image.png

これはregistryフォルダ配下にあるscript_nameが呼び出されることで、該当するmdファイルのコンテンツが返却されます。2025/12現在は、5つのユースケースがスクリプトとして用意されています。

script_name 詳細
application-failure-troubleshooting CloudWatchログを活用した、アプリケーション障害のトラブルシューティング
cloudtral-mutli-region-setup マルチリージョンのCloudTrailおよびCloudWatch Logs Insightsを用いた運用向上
create_amazon_aurora_db_cluster_with_instances AuroraデータベースとSecrets Managerのセッティング
lambda-timeout-debugging Lambdaの設定やCloudWatchを活用した、Lambdaタイムアウト原因調査
troubleshoot-permissions-with-cloudtrail-events AWS CloudTrailログを活用した、権限エラー診断

まだまだExperimentalなtoolですので、今後ユースケースが増加することも期待できそうですね。

registryフォルダの配下にはscripts_format.mdも格納されておりますが、こちらはスクリプト自体の仕様書となっております。

さいごに

他のAWS MCP Serversについても、過去にいくつか挙動をまとめてます。興味あればぜひご覧ください!(※2025/7時点の情報です)

46
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
46
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?