始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Install the ADK and set up your environment
/ 50
Create the API key and deploy the ADK agent
/ 50
Install the ADK and set up your environment
/ 50
Create the API key and deploy the ADK agent
/ 50
このラボでは、外部のサービス、データソース、ツール、アプリケーションとのシームレスな統合を可能にするオープン スタンダード、Model Context Protocol(MCP)について理解します。MCP を Agent Development Kit(ADK)エージェントに統合することで、既存の MCP サーバーが提供しているツールを使用して ADK ワークフローを強化する方法を学習します。さらに、独自で作成した MCP サーバーを使用して load_web_page などの ADK ツールを公開し、MCP クライアントとの幅広い統合を実現する方法も紹介します。
Model Context Protocol(MCP)とは
Model Context Protocol(MCP)は、Gemini や Claude などの大規模言語モデル(LLM)が外部のアプリケーション、データソース、ツールと通信する方法を標準化するために設計されたオープン標準です。LLM がコンテキストを取得し、アクションを実行し、さまざまなシステムとやり取りする方法を簡素化する、ユニバーサルな接続メカニズムと考えてください。
MCP では、クライアント / サーバー アーキテクチャが採用されており、データ(リソース)、インタラクティブ テンプレート(プロンプト)、アクション可能な関数(ツール)を MCP サーバーで公開する方法と、それらを MCP クライアント(LLM ホスト アプリケーションまたは AI エージェント)で使用する方法が規定されています。
このラボでは、次の 2 つの主要な統合パターンについて説明します。
このラボでは、次のタスクの実行方法について学びます。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
このラボ環境では、Vertex AI API、Routes API、Directions API がすでに有効になっています。
このセクションでは、Cloud Shell ターミナルで次のコマンドを実行します。
Cloud Shell ターミナルで次のコマンドを実行して、Cloud Storage からプロジェクト ディレクトリをコピーします。
次のコマンドを実行して、Agent Development Kit(ADK)と、サンプル アプリケーションの実行に必要なその他の依存関係をインストールします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このセクションでは、外部の Google マップ MCP サーバーのツールを ADK エージェントに統合する方法を説明します。これは、ADK エージェントが、MCP インターフェースを公開している既存のサービスから提供される機能を使用する必要がある場合に最も一般的な統合パターンです。MCPToolset クラスをエージェントの tools リストに直接追加することで、MCP サーバーへのシームレスな接続や MCP サーバーのツールの検出を可能にし、エージェントがツールを使用できるようにする方法を確認します。これらの例は、主に adk web 開発環境内でのやり取りに焦点を当てています。
MCPToolset クラスは、MCP サーバーのツールを統合するための ADK の主要なメカニズムです。エージェントの tools リストに MCPToolset インスタンスを指定すると、指定した MCP サーバーとの対話が自動的に処理されます。仕組みは次のとおりです。
MCPToolset は MCP サーバーへの接続を確立し、この接続を管理します。この接続は、ローカル サーバーでのプロセスにすることも(StdioServerParameters を使用して標準入出力による通信を行う)、リモート サーバーにすることもできます(SseServerParams を使用して Server-Sent Events を実行する)。ツールセットはまた、エージェントまたはアプリケーションが終了したときに、この接続を正常にシャットダウンさせます。MCPToolset は MCP サーバーに利用可能なツールを問い合わせます(list_tools MCP メソッドを使用)。その後、検出された MCP ツールのスキーマを ADK 対応の BaseTool インスタンスに変換します。LlmAgent で使用できるようになります。LlmAgent がこれらのツールのいずれかを使用することを決定すると、MCPToolset は(call_tool MCP メソッドを使用して)呼び出しを MCP サーバーに透過的に中継し、必要な引数を送信して、サーバーからのレスポンスをエージェントに返します。tool_filter パラメータを使用すると、MCP サーバーから特定のツールのサブセットを選択できます。これにより、すべてのツールをエージェントに公開する必要がなくなります。Google マップ MCP サーバーは、Google マップサービスと通信するために API キーを必要とします。この手順では、GOOGLE_MAPS_API_KEY という名前の新しい API キーを生成し、セキュリティのために Directions API と Routes API に制限します。
Google Cloud コンソールのブラウザタブに移動します(Cloud Shell エディタではありません)。
このブラウザタブで Cloud Shell ターミナル ペインを閉じて、コンソール領域を広げます。
ページ上部の検索バーで「認証情報」を検索します。検索結果から認証情報を選択します。
[認証情報] ページで、ページ上部にある [認証情報の作成] をクリックし、[API キー] を選択します。
[名前] に「GOOGLE_MAPS_API_KEY」と入力します。
[このキーを使用してアクセスできる API] で、次の API を選択します。
[作成] をクリックします。
[API キーを作成しました] ダイアログで、新しく作成された API キーが表示されます。ラボで後で使用できるように、このキーをコピーしてローカルに保存します。
ダイアログ ボックスで [閉じる] をクリックします。
次に、Google マップツールを使用するようにエージェントを構成します。MCPToolset を追加することで、エージェントは必要に応じて Maps API を動的に検出して呼び出すことができます。
次のコマンドをパソコンのプレーン テキスト ドキュメントに貼り付け、YOUR_ACTUAL_API_KEY の値を、前の手順で生成して保存した Google Maps API キーに更新します。
更新したコマンドをコピーして Cloud Shell ターミナルに貼り付け、実行して .env ファイルを作成します。このファイルには、このエージェント ディレクトリの認証情報が記載されています。
次のコマンドを実行して、.env ファイルをこのラボで後で使用する他のエージェント ディレクトリにコピーします。
Cloud Shell エディタのファイル エクスプローラ ペインで、adk_mcp_tools フォルダを見つけます。クリックして開きます。
ディレクトリ adk_mcp_tools/google_maps_mcp_agent に移動します。
agent.py を開き、コメント ## Add the MCPToolset の後(53 行目の後の新しい行)に次のコードを追加して、Google マップ MCP サーバーへのエージェントの接続を構成します。
ファイルを保存します。
adk_mcp_tools プロジェクト ディレクトリから、次のコマンドで Agent Development Kit 開発 UI を起動します。
出力:
ウェブ インターフェースを新しいタブで表示するには、ターミナルの出力にある http://127.0.0.1:8000 リンクをクリックします。
新しいブラウザタブが開き、ADK 開発 UI が表示されます。左側の [エージェントを選択] プルダウンから、[google_maps_mcp_agent] を選択します。
エージェントとの会話を開始し、次のプロンプトを実行します。
出力:
稲妻のマークが表示されたエージェントのチャットのふきだしの横にあるエージェントのアイコンをクリックします。稲妻のマークは関数呼び出しを表しています。このイベントのイベント インスペクタが開きます。
エージェント グラフに、さまざまなツール(レンチの絵文字(🔧)で表されています)が表示されていることに注目してください。MCPToolset を 1 つだけインポートしましたが、このツールセットには、maps_place_details や maps_directions など、ここにリストされているさまざまなツールが付属しています。
[イベント] タブで、リクエストの構造を確認できます。イベント インスペクタの上部にある矢印を使用して、エージェントの思考、関数呼び出し、回答を閲覧できます。
このエージェントへの質問が終わったら、開発 UI のブラウザタブを閉じます。
Cloud Shell ターミナル パネルに戻り、Ctrl+C キーを押してサーバーを停止します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このセクションでは、独自で作成した MCP サーバーを使用して ADK load_web_page ツールを公開する方法を学びます。このパターンを使用すると、既存の ADK ツールをラップして、標準の MCP クライアント アプリケーションに提供することができます。
Cloud Shell エディタに戻り、adk_mcp_tools/adk_mcp_server ディレクトリを選択します。
adk_server.py という名前の Python ファイルを開きます。このファイルには、カスタム MCP サーバーのロジックが含まれています。コードを確認して、ADK ツールをラップして提供する方法を確認します。
時間を取ってそのファイルの内容を確認し、コメントを読んで、コードがツールをラップして MCP サーバーとして提供していることを理解してください。MCP クライアントが、利用可能なツールを一覧表示できるだけでなく、ADK ツールを非同期で呼び出して、MCP 準拠の形式でリクエストとレスポンスを処理できることに注目してください。
adk_mcp_server ディレクトリの agent.py を開きます。
31 行目で、PATH_TO_YOUR_MCP_SERVER_SCRIPT の値を次のパスに更新して、エージェントがカスタム サーバー スクリプトに接続できるようにします。
次に、55 行目(agent.py ファイルの ## Add the MCPToolset below: と記載されている行の後)に次のコードを追加して、エージェントに MCPToolset を追加します。ADK エージェントは MCP サーバーのクライアントとして機能します。この ADK エージェントは MCPToolset を使用して adk_server.py スクリプトに接続します。
ファイルを保存します。
MCP サーバーを実行するために、Cloud Shell ターミナルで次のコマンドを実行して adk_server.py スクリプトを起動します。
出力:
Cloud Shell ターミナル ウィンドウの上部にある ボタンをクリックして、新しい Cloud Shell ターミナルタブを開きます。
Cloud Shell ターミナルで、adk_mcp_tools プロジェクト ディレクトリから次のコマンドで Agent Development Kit 開発 UI を起動します。
ウェブ インターフェースを新しいタブで表示するには、ターミナルの出力にある http://127.0.0.1:8000 リンクをクリックします。
左側の [エージェントを選択] プルダウンから、[adk_mcp_server] を選択します。
エージェントに次のようにプロンプトを入力します。
出力:
ここでは次の処理が行われます。
web_reader_mcp_client_agent)が、MCPToolset を使用して adk_server.py に接続します。call_tool リクエストを受信し、ADK load_web_page ツールを実行して結果を返します。adk_server.py ターミナルの両方からのログが表示されます。これは、ADK ツールを MCP サーバー内にカプセル化することで、ADK エージェントを含む幅広い MCP 準拠クライアントから ADK ツールにアクセスできるようになったことを示しています。
このラボでは、MCPToolset クラスを使用して、外部の Model Context Protocol(MCP)ツールを Agent Development Kit(ADK)エージェントに統合する方法を学びました。MCP サーバーに接続し、エージェント内でサーバーのツールを使用する方法、カスタム MCP サーバーを介して load_web_page などの ADK ツールを公開する方法を学びました。これらのスキルにより、強力な外部サービスで ADK エージェントを拡張し、ウェブ開発ワークフローを強化できます。
マニュアルの最終更新日: 2026 年 4 月 21 日
ラボの最終テスト日: 2026 年 4 月 21 日
Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください
ラボを開始するには、この簡単な手順を完了してください。