記事公開日
Claude × Bedrockで「WebSearchが使えない」問題をAgentCoreのウェブ検索ツールで解消

この記事のポイント
Amazon Bedrock経由のClaudeでは、Anthropic公式APIのWeb検索が使えません。この制約を公式ドキュメントで確認したうえで、Amazon Bedrock AgentCore Gatewayのウェブ検索ツールをMCPサーバーとして追加し、Claude DesktopからWeb検索を実現する手順を紹介します。
- Bedrock経由ではWeb検索が非対応:
「Server-side tools (code execution, web search, web fetch, advisor)」が非対応機能として公式に明記されています。 - AgentCore Gatewayのウェブ検索コネクターで代替:
検索用のAPIやLambda関数を自前で用意せず、AWSの環境の中で完結してWeb検索を追加できます。 - 認証とバージョンに注意:
JWT(Cognito)認証用のクライアント作成と、コンソールでは選べない最新コネクターバージョン1.3.0への更新がポイントです。
▼ 無料ダウンロード資料
Claude 導入チェックリスト(情報システム・セキュリティ部門向け)
プラン選定・監査ログ・SSO・テナント制限・コスト管理・運用ポリシーまで、Claude / Claude Code を組織へ安全に導入するための確認項目を6カテゴリで整理。導入プロジェクトの進捗管理・監査証跡としてそのままご活用いただけます。
はじめに
こんにちは。DXソリューション営業本部の松榮です。
ClaudeをAmazon Bedrock経由で導入する際に懸念点として挙げられるのが、Anthropic公式APIでは使えるClaudeの「Web検索」が、Amazon Bedrock経由では使えないという点です。
本記事では、まずこの制約を公式ドキュメントで裏付けたうえで、代替手段としてAmazon Bedrock AgentCoreを使ってWeb検索を実現する流れを紹介します。Claude apps gatewayなどのゲートウェイを挟まず、Claude DesktopからBedrockへ直接接続している構成が対象です。検証には、Amazon Bedrockを推論に使うClaude Desktop(サードパーティ推論)を使います。
Bedrock経由のClaudeではWeb検索が使えない
Anthropic公式APIには、Claudeが必要に応じてWebを検索し、出典付きで回答してくれる「Web search tool」があります。ツール定義に web_search を1つ加えるだけで使えるため、最新情報が必要なチャットボットや調査エージェントでは重宝します。
参照:Web search tool - Anthropic
ところが、同じClaudeをAmazon Bedrock経由で使うと、このツールは利用できません。以下、公式ドキュメントの記載を確認します。
根拠1:BedrockのClaude公式ガイドの「非対応機能」一覧
Anthropicの「Claude in Amazon Bedrock(Opus 4.7以降)」のページには、Features not supported(非対応機能)として次の項目が明記されています。
Server-side tools (code execution, web search, web fetch, advisor)
つまり、web search は非対応機能として名前が挙げられています。
参照:Claude in Amazon Bedrock (Opus 4.7 and later) - Anthropic
根拠2:従来のInvokeModel/Converse版のガイドでも同じ
「Claude on Amazon Bedrock(Opus 4.6以前)」のページ(InvokeModel / Converse API向け)でも、Features not supported に全く同じ一文があります。
Server-side tools (code execution, web search, web fetch, advisor)
新旧どちらのBedrock連携でも、Web検索は使えないということです。
参照:Claude on Amazon Bedrock (Opus 4.6 and earlier) - Anthropic
根拠3:Web search tool側の「対応プラットフォーム」にBedrockがない
Web search toolのドキュメント側でも確認できます。対応プラットフォームとして挙げられているのは次のとおりで、Amazon Bedrockは含まれていません。
- Claude API
- Claude Platform on AWS
- Claude Models on Google Cloud(Anthropic managed / Google managed)
- Microsoft Foundry
参照:Web search tool(Availability)- Anthropic
Web検索は「サーバーサイドツール」
Web searchは「サーバーサイドツール」、つまりAnthropicのAPI側が検索を実行して、結果をClaudeに渡す仕組みです。Bedrockでは、このタイプのツールは、Web searchのほかにCode executionやWeb fetchも非対応とされています。
なお、Bedrockでも自分で定義するツール(クライアントサイドのツール)は使えます。Tool use、Bashツール、Computer use、Memoryツールなどは対応機能として挙げられています。そのため「検索の部分を自前で用意してClaudeに呼ばせる」ことは可能です。
参照:Claude in Amazon Bedrock(Supported feature highlights)- Anthropic
補足:AWSでWeb検索を使いたい場合の選択肢
AWS上でClaudeのWeb検索をそのまま使いたい場合は、AnthropicがAWS上で運用する「Claude Platform on AWS」であれば対応しています(上の根拠3のとおりです)。ただし、Bedrockとは別のサービスであり、課金や運用もBedrockとは異なります。「Bedrockの枠内で完結させたい」場合には、次に紹介する自前の実装が選択肢になります。
参照:Claude Platform on AWS - Anthropic
検索機能はMCPサーバーで追加できる
Bedrockで使えるのは自分で定義するツールなので、検索機能は、MCP(Model Context Protocol)のサーバーとして用意して、Claudeに追加します。
今回使うClaude Desktopのサードパーティ推論(Amazon BedrockやGoogle Cloudなど、自分で設定したプロバイダーで推論を行うモード)では、設定画面から、組織で配信するMCPサーバーとして、リモート(HTTP/SSE)またはローカル(stdioコマンド)のサーバーを追加できます。つまり、検索ツールを公開するMCPサーバーを追加すれば、Bedrock経由でもWeb検索ができるようになります。
参照:Configuration reference(managedMcpServers)- Claude Desktop on 3P
Amazon Bedrock AgentCoreで検索ツールを用意する
そこで登場するのがAmazon Bedrock AgentCoreです。AWSの公式ドキュメントでは、AgentCoreは「あらゆるフレームワーク・基盤モデルを使って、エージェントを安全に大規模構築・デプロイ・運用するためのエージェント基盤」と説明されています。サービスは、必要なものだけを組み合わせて使えるモジュール構成です。
| サービス | 概要 |
|---|---|
| Runtime | エージェントやツールをデプロイ・スケールさせるサーバーレス実行環境 |
| Gateway | 既存のAPIやLambda関数をMCP互換のツールに変換して、エージェントに提供する |
| Browser | エージェントがWebサイトを操作・情報抽出できる、クラウド上のブラウザ環境 |
| Code Interpreter | エージェントがコードを実行するための隔離されたサンドボックス |
| Memory | 短期・長期の記憶を持たせる仕組み |
| Identity | エージェントの認証・認可管理 |
| Observability | エージェントの動作の追跡・監視 |
この中で、今回の用途に近いのがGatewayです。AWSのドキュメントでは、Gatewayは「APIやLambda関数、既存のサービスをMCP互換のツールに変換し、エージェントから使えるようにする」ものと説明されています。検索を行うAPIやLambda関数をMCPツールとして公開することもできますが、Gatewayには検索用のコネクターも用意されています。今回はこれを使い、先ほどの「検索ツールを公開するMCPサーバー」として、Claudeに追加します。
参照:Core services in Amazon Bedrock AgentCore - AWS
AgentCore Gatewayを作成する
ここからは、実際にAWSのコンソールでGatewayを作成していきます。
このコネクターをターゲットとして追加すると、検索結果(スニペット、出典URL、タイトル、公開日など)を返すMCPツールとして使えます。
参照:Announcing Web Search on Amazon Bedrock AgentCore - AWS News Blog
ステップ1:ゲートウェイの詳細を定義
AgentCoreのコンソールで[ゲートウェイ]を開き、[ゲートウェイを作成]を選びます。最初の画面では、ゲートウェイ名を入力します。IAMアクセス許可は、「デフォルトロールを作成」を選びます。
ステップ2:インバウンドIDを設定
2つ目のステップでは、「このゲートウェイにアクセスできるユーザーを制御するゲートキーパー」にあたる、インバウンドIDを設定します。インバウンド認証タイプには、次の4つが用意されています。
- IAM許可を使用
- JSON Web Tokens(JWT)を使用
- 認可なし
- 認証のみ
今回は「JSON Web Tokens(JWT)を使用」を選びました。JWTスキーマ設定は、「Cognitoを利用した設定のクイック作成(推奨)」を選んでいます。この場合、Cognitoを認証基盤として、必要な設定をコンソールが代わりに作成してくれます。すでに使っている認証基盤がある場合は、「既存のIDプロバイダーの設定を使用」を選びます。
ステップ3:ターゲットを追加
3つ目のステップでは、ターゲットを追加します。ターゲットとは、ゲートウェイの一部として1つ以上のツールを定義するエンドポイントのことです。1つのゲートウェイに、複数のターゲットを定義できます。
まず、ターゲットプロトコルを選びます。選択肢は次の4つで、今回は「MCPターゲット」を選んでいます。
- MCPターゲット:MCPサーバー、APIゲートウェイ、Lambda、REST APIをMCPツールとして定義する
- 推論ターゲット(新規):LLMを呼び出す
- エージェントターゲット(新規):AgentCore RuntimeやA2Aなどのエンドポイントにルーティングする
- カスタムターゲット(新規):HTTPエンドポイントやメモリターゲットに接続する
ターゲット名を入力します。パススルーは、デフォルトの「パススルーを使用しない」のままにします。この場合、複数のMCPエンティティが集約され、単一の統合MCPサーバーとして公開されます。
画面を下にスクロールして、ターゲットタイプを選びます。選択肢は、MCPサーバー、Lambda ARN、REST API、APIゲートウェイ、コネクターの5つです。ここで 「コネクター(新規)」 を選ぶと、統合プロバイダーから事前設定済みのターゲットを使えます。
事前設定済みのターゲットには、次の4つが表示されます。今回は 「ウェブ検索ツール(新規)」 を選びます。
- ナレッジベース(KB)
- ウェブ検索ツール
- Step Functions
- その他のインテグレーション
選択すると、リンク、スニペット、メタデータを含むランク付けされたウェブ検索結果を取得できる、と説明されています。
バージョンは「v1.2」を選んでいます。画面の案内によると、v1.2にはドメインフィルタリングが含まれていて、追加設定セクションで、含めるドメインと除外するドメインを設定できます。アウトバウンド認証設定は「IAMロール」が選ばれていました(OAuthクライアント、APIキー、認証なしは選べない状態でした)。
補足:コンソールで選べるのはv1.2まで、最新は1.3.0
ここで1つ注意点があります。作成画面のバージョンの選択肢は「v1.2」までですが、実際の最新バージョンは1.3.0です。
AWSの公式ドキュメント(Connector versions)には、ウェブ検索ツールのバージョンが次のように載っています。デフォルトバージョンは1.3.0です。
| バージョン | 公開日 | 変更内容 |
|---|---|---|
| 1.3.0 | 2026-10-19 | tools/list にMCPツールのアノテーション(タイトル「Web Search」、readOnlyHint: true、openWorldHint: true)を追加。読み取り専用のツールだけを絞り込むMCPクライアントからも、ツールを一覧・呼び出しできるようになる。入力スキーマと結果は1.2.0と同じ |
| 1.2.0 | 2026-07-20 | リクエスト単位のフィルター(ドメインの含める/除外リスト、公開日の範囲指定)を追加 |
| 1.1.0 | 2026-06-15 | structuredContent と publishedDate を追加、スニペット抽出を改善 |
公式ドキュメントによると、バージョンを指定せずに作成したターゲットは、そのコネクターのデフォルトバージョン(現在は1.3.0)になります。一方、すでにあるターゲットは、コネクターのデフォルトが変わっても、作成時のバージョンのままです。新しいバージョンにするには、ターゲットを更新するときにバージョンを指定します。今回の更新の手順は、ゲートウェイを作成したあとの「補足」で説明します。
参照:Connector versions - AWS
ステップ4:確認して作成
最後のステップで設定内容を確認し、[ゲートウェイを作成]で作成します。作成後は、ゲートウェイの詳細画面でエンドポイントURLや、追加したターゲットを確認できます。このURLが、のちほどClaudeから接続するときの接続先になります。
補足:作成後にバージョンを1.3.0に上げる(CloudShell)
ゲートウェイを作成したあと、作成画面では選べなかった1.3.0に、AWS CloudShellで次のコマンドを実行して上げます。<> の部分は、自分の環境の値に置き換えます。
aws bedrock-agentcore-control update-gateway-target \
--gateway-identifier "<ゲートウェイID>" \
--target-id "<ターゲットID>" \
--name "<ターゲット名>" \
--target-configuration '{
"mcp": {
"connector": {
"source": {
"connectorId": "web-search",
"version": "1.3.0"
},
"configurations": [
{
"name": "WebSearch",
"parameterValues": {}
}
]
}
}
}' \
--credential-provider-configurations '[{"credentialProviderType": "GATEWAY_IAM_ROLE"}]' \
--region "<リージョン>"
参照:UpdateGatewayTarget - Amazon Bedrock AgentCore Control API Reference
実行後、ターゲットの詳細画面でコネクタバージョンが「1.3.0」に変わっていることを確認できます。
推論設定でコネクタ(MCPサーバー)を追加する
Gatewayの準備ができたので、次はClaudeからこのウェブ検索を使えるようにします。ここでは、推論にAmazon Bedrockを使っている Claude Desktop(サードパーティ推論) の設定画面で、MCPサーバーとしてGatewayを追加します。
事前準備:Claude Desktop用のCognitoクライアントを作成する
GatewayのインバウンドIDは、JWT(Cognito)にしています。そのため、Claude DesktopからGatewayに接続するときは、OAuthでサインインします。このサインインに使うクライアントを、Cognitoで先に作っておきます。
Claude Desktopの公式ドキュメントでは、自分で登録したクライアントを使う場合(「独自クライアントを使用」)、次のとおりに登録するよう案内されています。
- パブリックなOAuthクライアント(ネイティブまたはデスクトップアプリの種類)
- リダイレクトURI:
http://127.0.0.1:53280/callback - シークレットなし
参照:Set up sign-in for managed MCP servers - Claude Desktop on 3P
1. アプリケーションクライアントの画面を開く
AWSコンソールでAmazon Cognitoを開き、ステップ2のクイック作成で作られたユーザープールを選びます。左のメニューの「アプリケーション」の中にある「アプリケーションクライアント」を選びます。
2. アプリケーションクライアントを作成する
一覧には、Gatewayの作成時に自動で作られたクライアントが表示されます。右上の「アプリケーションクライアントを作成」を選びます。
3. アプリケーションタイプと名前、リターンURLを設定する
作成画面で、次のように設定します。
| 項目 | 値 |
|---|---|
| アプリケーションタイプ | モバイルアプリ |
| アプリケーションに名前を付ける | 任意の名前 |
| リターンURL | http://127.0.0.1:53280/callback |
アプリケーションタイプには、「従来のウェブアプリケーション」「シングルページアプリケーション(SPA)」「モバイルアプリ」「Machine to Machineアプリケーション」の4つが並んでいます。公式ドキュメントが案内するシークレットなしのネイティブなクライアントに合わせて、「モバイルアプリ」を選びます。
リターンURLの入力欄には、HTTPSが必須で、テスト目的の http://localhost、http://127.0.0.1、http://[::1] だけが例外であるという注意書きがあります。上の http://127.0.0.1:53280/callback は、この例外にあたります。
4. クライアントIDを控える
画面右下の「アプリケーションクライアントを作成」を押して、作成します。作成後、一覧に表示される「クライアントID」を控えておきます。このIDを、次の手順5と、あとの手順3で入力します。
5. Gatewayに、このクライアントを許可する
作成したクライアントを、Gatewayのインバウンド認証で許可します。ステップ2のクイック作成では、自動で作られたクライアントだけが許可されているためです。
- AgentCoreのコンソールで、作成したGatewayの詳細画面を開きます。
- インバウンド認証の設定で、「編集」を押します。
- 「クライアントを追加」を押します。
- 控えておいたクライアントIDを入力します。
- 保存します。
手順1:「推論設定」を開く
画面左下のアカウント表示をクリックすると、メニューが開きます。メニューの中の「推論設定」(AWSのアイコンが付いた項目)を選びます。アカウント名の下に「Bedrock」と表示されていることで、Bedrock経由で使っていることが分かります。
手順2:コネクタの「MCPサーバー」を開く
「サードパーティ推論の設定」画面が開きます。左のメニューから「コネクタ」を選ぶと、MCPサーバーの設定が表示されます。
「管理されたMCPサーバー」は、組織から配信するMCPサーバーを登録する項目です。リモート(HTTP/SSE)またはローカル(stdioコマンド)のサーバーを追加できます。右上の「サーバーを追加」から、追加を始めます。
手順3:GatewayをMCPサーバーとして追加
「サーバーを追加」を押して、表示される選択肢から「空白」を選びます。すると、次のような入力画面が表示されます。
この画面で、先ほど作成したGatewayをMCPサーバーとして登録します。入力する内容は次のとおりです。
| 項目 | 値 |
|---|---|
| 名前 | 任意の名前(この記事では agentcore-web-search) |
| トランスポート | Streamable HTTP |
| URL | https://<gateway-id>.gateway.bedrock-agentcore.ap-northeast-1.amazonaws.com/mcp(Gatewayの詳細画面、または get-gateway の gatewayUrl をそのまま入力) |
| OAuth | 独自クライアントを使用 |
| クライアントID | 事前準備で作成した、Claude Desktop用のCognitoクライアントのID(<client-id>) |
| その他 | 空欄(シークレット、認可サーバー、スコープなど) |
OAuthは「独自クライアントを使用」を選びます。選ぶと、クライアントID、クライアントシークレット、クライアントシークレットヘルパースクリプト、認可サーバーなどの入力欄が表示されます。今回入力するのはクライアントIDだけで、ほかは空欄のままにします。
手順4:接続を確認する
追加すると、接続テストが実行されます。「接続完了」と表示されれば成功です(今回は100msでした)。表示される内容は次のとおりです。
- サーバー:手順3で入力した名前(この記事では
agentcore-web-search) - トランスポート:
http - 公開ツール:
<ターゲット名>___WebSearch
公開ツールの名前は、Gatewayで作成したターゲットの名前と、ウェブ検索のツール名 WebSearch を ___(アンダースコア3つ)でつないだものです。ウェブ検索ツールがClaudeから呼び出せる状態になっていることが分かります。
接続テストをもう一度行いたいときは「再テスト」、保存したサインイン情報を消したいときは「サインイン情報を削除」を使います。また、画面には「デフォルトの状態」(各ユーザーにとって、このコネクタを最初からオンにするかオフにするか)や、Windows・macOS・Linuxごとの設定も用意されています。
最後に、画面下の「変更を保存」「変更を適用」で、設定を反映します。
Claudeで実際にWeb検索してみる
設定が終わったので、Bedrock経由のClaude Desktopで、実際にWeb検索をさせてみます。
コネクタが追加されたことを確認する
左メニューの「カスタマイズ」を開き、「コネクタ」のタブを選びます。手順3で登録した agentcore-web-search が、種類「Web」「カスタム」として一覧に表示され、ステータスにチェックが付いていれば、利用できる状態です。
質問して、ツールの使用を承認する
新しいチャットで、次のように質問しました。
Web検索して、AWS Bedrock AgentCore の Web Search Tool の概要を教えて
すると、Claudeが検索を始める前に、ツールの使用の承認を求める画面が表示されました。
画面には、「Claudeがagentcore-web-searchのSearching the webを使用します」と表示され、Claudeが作った検索の入力内容が次のように出ています。
{
"query": "AWS Bedrock AgentCore Web Search Tool overview 2025",
"maxResults": 10
}
このツールが受け取る入力は、maxResults、query、filters の3つと表示されています。filters は、コネクターのバージョン1.2.0以降で使えるリクエスト単位のフィルター(ドメインや公開日の絞り込み)にあたります。
承認の選択肢は、「拒否」「常に許可」「一度だけ許可」の3つです。許可すると、Gatewayを通して検索が実行されます。
参照:Input schema(Web Search Tool)- AWS
検索結果をもとに回答が返ってくる
許可すると、Claudeの回答の上に「読み込まれたツール, ウェブを検索しました」と表示され、検索結果をもとにした回答が返ってきました。
回答では、AgentCoreのWeb Search Toolを次のように説明しています。
- AIエージェントが、モデルの学習データの範囲を超えて、リアルタイムのウェブ情報にアクセスできるようにする、フルマネージドのツールであること
- 2026年6月に一般提供(GA)が開始されたこと
- MCPに準拠した組み込みコネクターとして提供され、エージェントは
tools/listでツールを見つけて、ほかのMCPツールと同様に呼び出せること
この内容は、ここまでに確認したAWSの公式ドキュメントや発表(2026年6月)の内容と合っています。
回答の最後には、参照した情報源(Sources)が、リンク付きで5件表示されました。AWSの発表のブログ記事、技術ブログ、What's New、公式ドキュメントなどです。
AWSのドキュメントでは、ウェブ検索ツールの検索結果を利用者向けの出力に使う場合は、結果に付いている出典のリンクを保持して表示することが求められています。
参照:Acceptable use(Web Search Tool)- AWS
まとめ
今回の検証で確認できたことは、次のとおりです。
| 確認したこと | 結果 |
|---|---|
| Bedrock経由のClaudeで、公式のWeb検索(WebSearch)が使えるか | 使えない。公式ドキュメントに非対応と明記されている |
| AgentCore Gatewayのウェブ検索ツールを、MCPサーバーとして追加できるか | 追加できた。「接続完了」と表示され、ツールが公開された |
| 追加したコネクタから、実際にWeb検索できるか | できた。承認すると検索が実行され、出典のリンク付きで回答が返ってきた |
Bedrock経由のClaudeでは、公式のWeb検索が使えません。ただし、AgentCore Gatewayにウェブ検索ツールのコネクターを追加し、MCPサーバーとして登録すれば、Web検索ができるようになります。検索APIやLambda関数を自前で用意する必要がなく、AWSの環境の中で完結できる点が利点です。公式ドキュメントでも、検索のクエリはAWSの外へ出ないとされています。
参照:Private by design(Web Search Tool)- AWS
注意点
構築の中で、注意が必要だった点をまとめます。
- コネクターのバージョン: Gatewayの作成画面で選べるのはv1.2までですが、最新は1.3.0です。今回は、作成後にCloudShellでコマンドを実行して、1.3.0に更新しました。
- 認証: Gatewayのインバウンド認証はJWT(Cognito)にしました。Claude Desktopから接続するには、Claude Desktop用のCognitoクライアントを作成し、そのIDを、Gatewayの許可クライアントとMCPサーバーの設定の両方に入力する必要があります。
- 料金とリージョン: ウェブ検索ツールは従量課金で、AWSの発表(2026年6月16日)では、1,000クエリあたり7ドルとされています。最新の料金は、AgentCoreの料金ページで確認してください。提供リージョンは公式ドキュメントで確認してください。今回は東京リージョンで利用しました。
参照:Announcing Web Search on Amazon Bedrock AgentCore - AWS News Blog
次回は、Claude apps gateway経由で接続したBedrockでも、AgentCoreのウェブ検索を使えるかを検証します。
QESでは、ガバナンス整備・セキュアな利用環境構築・利活用コンサルティング・セキュリティレビューまで、Claude / Claude Code の組織導入を一貫して支援しています。AWS(Amazon Bedrock)経由での提供にも対応しています。支援内容は下記のサービスページ、および無料の「Claude 導入チェックリスト」をご覧いただくか、お問い合わせフォームよりお気軽にご相談ください。
▼ 無料ダウンロード資料
Claude 導入チェックリスト(情報システム・セキュリティ部門向け)
プラン選定・監査ログ・SSO・テナント制限・コスト管理・運用ポリシーまで、Claude / Claude Code を安全に導入するための確認項目を6カテゴリで整理。導入プロジェクトの進捗管理・監査証跡としてそのままご活用いただけます。
※Amazon Web Services、"Powered by Amazon Web Services"ロゴ、およびブログで使用されるその他のAWS商標は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。
※このブログで参照されている、Anthropic、Claude、Claude Code、Claude Cowork は、Anthropic, PBCの米国およびその他の国における商標または登録商標です。


