タイトルつけるの難しい。。
BedrockでOpenAIのResponses APIを使う場合に、サーバーサイドツールが使用できます。
クライアントサイドでのツール実行とサーバーサイドでのツール実行の違いはこんな感じ。
アプリの実装が超簡単になります!もうエージェントフレームワークいらないんじゃないかと思うぐらい!
Responses APIで使えるサーバーサイドツール
- Lambda関数
- Noteツール(AWS提供)
- Bedrock AgentCoreゲートウェイのMCPツール
やってみよう
今回はBedrock AgentCoreゲートウェイを指定してみます。GPT5.6 Lunaを使いたかったのでバージニア北部で試しました。
-
ナレッジベースができたら、AgentCoreゲートウェイを作成します

InboundAuth typeはIAMを選択します
作成したら、Gateway resource ARNをコピーします
-
Pythonのスクリプトを作成します。
uv add openai aws-bedrock-token-generatorfrom aws_bedrock_token_generator import provide_token from openai import BedrockOpenAI client = BedrockOpenAI( aws_region="us-east-1", bedrock_token_provider=lambda: provide_token(region="us-east-1") ) response = client.responses.create( model="openai.gpt-5.6-luna", tools=[ { "type": "mcp", "server_label": "agentcore_tools", "connector_id": "{AgentCoreゲートウェイのARN}", "server_description": "AgentCore Gateway providing custom tools", "require_approval": "never", } ], input="プロンプト", ) print(response.output_text)
AWSのプロファイルを指定するときは環境変数のAWS_REGIONを使うか、以下のように指定します。(面倒くさいので環境変数がおすすめ)
from botocore.session import Session
class ProfileCredentials:
def __init__(self, profile):
self._session = Session(profile=profile)
def load(self):
return self._session.get_credentials()
bedrock_token_provider=lambda: provide_token(
region="us-east-1",
aws_credentials_provider=ProfileCredentials("dev"),
)



