🦁

AWS MCP ProxyをCloudShellで動かす、Codex CLIで

に公開

https://aws.amazon.com/jp/about-aws/whats-new/2025/10/model-context-protocol-proxy-available/

ここではcodexを利用するがmcpなので転用は可能と思う。なお、本稿ではタイトル通りAWS CloudShellで利用できることを第一に考えてみる。CloudShellにcodexを入れる方法は以下を参照。

https://zenn.dev/catatsumuri/articles/c9f56c0a05bcff

MCPの無い状態での問合せ

codexを起動し、以下の問合せを行う

AIプロンプト
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から起動してみる

AIプロンプト
aws sts get-caller-identityを実行し結果を表示ください


大概失敗する

このように権限不足で失敗するため、これに対応しないとaws mcpはそもそも使えない。対応の1つとして、config.tomlを変更する方法を以下に示す。

config.tomlの変更

AIプロンプト
$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

これで

AIプロンプト
AWSの日本のリージョンをmcp経由で調べて一覧を表示してください

と、mcp経由でと強調しておいた。すると


mcp経由での問合せに成功

なお/mcpの結果は以下の通り


/mcpの結果

もうちょっと質問してみる

AIプロンプト
mcp経由でEC2のmedium系の情報を調べてコストと共にリストしてください


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


結果(一部)

このようにmcpからawscliを起動するものがある。これは当然awscliを実行できる権限が付いているかどうかによるのであるがCloudShellから実行する場合は大抵問題なく通る事だろう。ただし別のホストにこれを入れる場合は権限のチューニングを十分考える必要がある。

おまけ:ユーザーが意識すべきAWS MCPの関数体系

AIに放りなげるとこんな感じ

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