- はじめに
- AgentCore Gateway を IAM 認証で作成
- クライアント環境
- Kiro の MCP 設定
- 動作確認
- mcp-proxy-for-aws の仕組み
- トラブルシューティング
- まとめ
- 参考リンク
はじめに
以前の記事「Kiro (IDE) から AWS ALB ログを自然言語で直接解析する! Bedrock AgentCore Gateway × MCP」では、AgentCore Gateway と Kiro に接続するために bridge.py という Python スクリプトを作成しました。このスクリプトは Cognito 認証、動的なツール登録、引数のアンラップ、HTTP-to-Stdio 変換などを処理していました。
記事を書いた後に気づいたのですが、実は AWS 公式の mcp-proxy-for-aws ツール(2025年10月 GA)を使えば、bridge.py なしで直接接続できることがわかりました。ただし、Gateway を IAM 認証で作成する必要があります。
本記事では、mcp-proxy-for-aws を使って AgentCore Gateway に接続する方法を解説します。
Before

Cognito 認証 + bridge.py
bridge.pyで以下を実装:- Cognito トークン取得
- 動的にMCPツールを登録
- 引数のアンラップ
- MCP と HTTP の変換
After

IAM 認証 + mcp-proxy-for-aws
mcp-proxy-for-awsが自動的に処理:- IAM 認証(SigV4 署名)
- 動的にMCPツールを登録
- MCP と HTTP の変換
AgentCore Gateway を IAM 認証で作成
AgentCore Gateway を IAM 認証で作成します。ターゲットの登録や実行ロールの設定は前回のブログと同じなので割愛します。

クライアント環境
- Python 3.11 以上
- AWS CLI 設定済み(IAM 認証情報)
- uv インストール済み
- Kiro IDE インストール済み
- AgentCore Gateway の基本的な理解
uv のインストール
mcp-proxy-for-aws は uvx コマンドで実行するため、事前に uv をインストールする必要があります。
macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Homebrew (macOS):
brew install uv
インストール後、以下のコマンドで確認:
uvx --version
詳細は uv 公式ドキュメント を参照してください。
Kiro の MCP 設定
~/.kiro/settings/mcp.json に以下の設定を追加します。
{ "mcpServers": { "gateway-iam-test": { "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://gateway-iam-test-xxxxx.gateway.bedrock-agentcore.ap-northeast-1.amazonaws.com/mcp", "--service", "bedrock-agentcore", "--region", "ap-northeast-1" ], "env": { "AWS_PROFILE": "default" }, "disabled": false, "autoApprove": [] } } }
設定のポイント
- endpoint URL: Gateway の URL(
/mcpで終わる) - --service:
bedrock-agentcoreを指定 - --region: Gateway のリージョン
- AWS_PROFILE: AWS 認証情報のプロファイル
動作確認
Kiro の MCP Server ビューからツールが表示されたことを確認します。

チャットで以下のように実行できます:
2025年8月4日のALBログを取得して
実行結果:

mcp-proxy-for-aws の仕組み
mcp-proxy-for-aws は以下の処理を自動的に行います:
- SigV4 署名: AWS IAM 認証情報を使用してリクエストに署名
- MCP プロトコル変換: Stdio ↔ HTTP の変換
- ツール登録: Gateway のツールを自動的に Kiro に登録
- エラーハンドリング: 認証エラーやタイムアウトの処理
内部的な処理フロー
1. Kiro が MCP リクエストを Stdio で送信 ↓ 2. mcp-proxy-for-aws が受信 ↓ 3. AWS 認証情報を取得(環境変数または AWS_PROFILE) ↓ 4. SigV4 署名を生成 ↓ 5. HTTP リクエストに変換して Gateway に送信 ↓ 6. Gateway からのレスポンスを受信 ↓ 7. Stdio 形式に変換して Kiro に返却
トラブルシューティング
接続できない場合
- IAM 権限の確認
aws sts get-caller-identity
使用している IAM ユーザー/ロールに bedrock-agentcore:InvokeGateway 権限があるか確認してください。
よくあるエラー
SignatureDoesNotMatch
An error occurred (SignatureDoesNotMatch) when calling the InvokeGateway operation
原因: SigV4 署名が正しくない
解決方法
--service bedrock-agentcoreが指定されているか確認--regionが Gateway のリージョンと一致しているか確認- AWS 認証情報が正しいか確認
まとめ
mcp-proxy-for-aws を使用することで、以下のメリットがあります:
- コード不要:
bridge.pyのような独自スクリプトが不要 - メンテナンス性: AWS 公式ツールなので更新が保証される
- シンプル: 設定ファイルに数行追加するだけ
- セキュリティ: IAM 認証で安全にアクセス
AgentCore Gateway を Kiro で使用する場合は、IAM 認証 + mcp-proxy-for-aws の組み合わせをお勧めします。