AWS MCP ProxyをCloudShellで動かす、Codex CLIで
ここではcodexを利用するがmcpなので転用は可能と思う。なお、本稿ではタイトル通りAWS CloudShellで利用できることを第一に考えてみる。CloudShellにcodexを入れる方法は以下を参照。
MCPの無い状態での問合せ
codexを起動し、以下の問合せを行う
AWSの日本のリージョンを調べて一覧を表示してください
この回答は
› AWSの日本のリージョンを調べて一覧を表示してください
• Searched AWS Regions in Asia Pacific (Tokyo) (Osaka) official list
• Searched AWS Regions and Availability Zones Asia Pacific (Tokyo) ap-northeast-1
• Searched https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
• 2026年3月2日時点で、日本にあるAWSリージョンは以下の2つです。
- ap-northeast-1 : Asia Pacific (Tokyo)
- ap-northeast-3 : Asia Pacific (Osaka)
出典:
- AWS公式ドキュメント「AWS Regions」
https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html
こんな感じである程度web検索して情報を整理してはくれるものの、精度を含め回答は微妙にイマイチな結果である事がある。AWS MCP経由では内部的にドキュメントを検索して表示するため、より安定した結果が期待できる。
MCP Proxy for AWSをクラウドシェルにセットアップする
CloudShell の必要空き容量の目安
まずCloudShellは容量がキツいので以下の容量確保からはじめる
- 最低: 300 MB
- 推奨: 1 GB 以上
aws sts get-caller-identityをcodexから通す
AIエージェントからaws sts get-caller-identityが通らないと一生使えないので、まずこれを通すわけだが、まず切り分けのために codex実行元で確認 する。CloudShellからはこれは問題なく通常通るはずだ

aws sts get-caller-identityが通っている状態
これをcodexから起動してみる
aws sts get-caller-identityを実行し結果を表示ください

大概失敗する
このように権限不足で失敗するため、これに対応しないとaws mcpはそもそも使えない。対応の1つとして、config.tomlを変更する方法を以下に示す。
config.tomlの変更
$HOME/.codex/config.tomlに以下を追加ください
sandbox_mode = "danger-full-access"
shell_environment_policy.inherit = "all"

AIに追加させてもよい
それなりに権限がでかいのである程度覚悟して使う必要がある(何でもかんでも取り付けないこと。ここではCloudShellというある程度閉じた環境なのでやっているが)
再起動して同じプロンプトを実行する

今度は正しく取得できた
ここができていないと次に進めないので、まずここから
uv/uvxをinstall
uvx は Astral社の uv に含まれるコマンド実行ランチャーであり、Pythonパッケージをインストールせずに、その場で実行するためのツールである。これをCloudShellに導入する
# 1) uv/uvx をインストール
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2) 現在のシェルで uvx を使えるようにする
export PATH="$HOME/.local/bin:$PATH"
command -v uvx

uvxが導入された
Codex に MCP サーバー登録
codex mcp add aws \
--env AWS_REGION=ap-northeast-1 \
--env AWS_DEFAULT_REGION=ap-northeast-1 \
-- $HOME/.local/bin/uvx \
mcp-proxy-for-aws@latest \
https://aws-mcp.us-east-1.api.aws/mcp \
--metadata AWS_REGION=ap-northeast-1
これで
AWSの日本のリージョンをmcp経由で調べて一覧を表示してください
と、mcp経由でと強調しておいた。すると

mcp経由での問合せに成功
なお/mcpの結果は以下の通り

/mcpの結果
もうちょっと質問してみる
mcp経由でEC2のmedium系の情報を調べてコストと共にリストしてください

よくみりゃaws.aws___call_aws({"cli_command":"aws ec2 describe-instance-typesとなっている

結果(一部)
このようにmcpからawscliを起動するものがある。これは当然awscliを実行できる権限が付いているかどうかによるのであるがCloudShellから実行する場合は大抵問題なく通る事だろう。ただし別のホストにこれを入れる場合は権限のチューニングを十分考える必要がある。
おまけ:ユーザーが意識すべきAWS MCPの関数体系
AIに放りなげるとこんな感じ
› ユーザーが意識すべきコマンドというか関数体系を整理して表示
• ユーザーが意識すべきAWS MCPの関数体系は、実質この4グループです。
1. 実AWS操作(最重要)
- aws___call_aws
- 用途: AWS CLI相当の実データ取得・操作
- 例: EC2情報取得、S3一覧、Lambda設定確認
2. ドキュメント調査
- aws___search_documentation
- aws___read_documentation
- aws___recommend
- 用途: 公式ドキュメントを検索・本文確認・関連ページ探索
3. リージョン/可用性確認
- aws___list_regions
- aws___get_regional_availability
- 用途: 利用可能リージョン、API/サービス/CFNのリージョン対応確認
4. 補助(必要時のみ)
- aws___suggest_aws_commands(自然言語からCLI候補)
- aws___retrieve_agent_sop(定型手順の取得)
補足:
- list_mcp_resources / list_mcp_resource_templates は通常ユーザーが直接使うというよ
り、接続確認やサーバー探索向けです。
Discussion