始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Install ADK and set up your environment
/ 50
Create API key and deploy ADK agent
/ 50
このラボでは、外部のサービス、データソース、ツール、アプリケーションをシームレスに統合できるオープン スタンダードである Model Context Protocol(MCP)について確認します。既存の MCP サーバーが提供するツールを使用して MCP を ADK エージェントに統合し、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 つの主要な統合パターンについて説明します。
このラボでは、次の方法について学びます。
こちらの手順をお読みください。ラボの時間は制限されており、一時停止することはできません。[ラボを開始] ボタンをクリックするとタイマーが開始され、Cloud リソースを利用できる時間が表示されます。
この Qwiklabs ハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。一時的な認証情報が新しく提供されるため、ラボ受講中の Google Cloud Platform へのログインおよびアクセスにはその認証情報を使用してください。
このラボを完了するには、次のものが必要です。
注: すでに個人の GCP アカウントやプロジェクトをお持ちの場合でも、そのアカウントやプロジェクトはラボでは使用しないでください。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
Google Cloud コンソール ウィンドウを選択した状態で、キーボードの G キーを押してから S キーを押して、Cloud Shell を開きます。または、Cloud コンソールの右上にある「Cloud Shell をアクティブにする」ボタン をクリックします。
[続行] をクリックします。
Cloud Shell を承認するよう求められたら、[承認] をクリックします。
Cloud Shell ターミナル パネルの右上にある「新しいウィンドウで開く」ボタン()をクリックします。
Cloud Shell ターミナルで、次のコマンドを入力して Cloud Shell エディタをホーム ディレクトリで開きます。
画面の右側に表示される追加のチュートリアルや Gemini のパネルを閉じると、コードエディタのウィンドウをより広く使用できます。
このラボの残りの部分では、このウィンドウを Cloud Shell エディタと Cloud Shell ターミナルを備えた IDE として使用できます。
Cloud Shell ターミナルで次のコマンドを実行して、ADK をインストールします。
次のコマンドを Cloud Shell ターミナルに貼り付けて、Cloud Storage バケットからファイルをコピーして解凍し、このラボのコードを含むプロジェクト ディレクトリを作成します。
次のコマンドでラボの追加要件をインストールします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このセクションでは、外部の Google マップ MCP サーバーのツールを ADK エージェントに統合する方法を説明します。これは、ADK エージェントが MCP インターフェースを公開する既存のサービスが提供する機能を使用する必要がある場合に最も一般的な統合パターンです。MCPToolset クラスをエージェントの tools リストに直接追加することで、MCP サーバーへのシームレスな接続やツールの検出を可能にし、エージェントがツールを使用できるようにする方法を確認します。これらの例は、主に adk web 開発環境内でのやり取りに焦点を当てています。
MCPToolset クラスは、MCP サーバーのツールを統合するための ADK の主要なメカニズムです。エージェントの tools リストに MCPToolset インスタンスを含めると、指定された MCP サーバーとのやり取りが自動的に処理されます。仕組みは次のとおりです。
MCPToolset は MCP サーバーへの接続を確立して管理します。これは、ローカル サーバー プロセス(標準入出力経由の通信に StdioServerParameters を使用)またはリモート サーバー(サーバー送信イベントに SseServerParams を使用)にできます。また、エージェントまたはアプリケーションが終了すると、この接続の正常なシャットダウンも処理されます。MCPToolset は MCP サーバーに利用可能なツールを問い合わせます(list_tools MCP メソッドを使用)。その後、検出された MCP ツールのスキーマを ADK 互換の BaseTool インスタンスに変換します。LlmAgent で使用できるようになります。LlmAgent がこれらのツールのいずれかを使用することを決定すると、MCPToolset は(call_tool MCP メソッドを使用して)呼び出しを MCP サーバーに透過的にプロキシし、必要な引数を送信して、サーバーのレスポンスをエージェントに返します。tool_filter パラメータを使用すると、MCP サーバーから特定のツールのサブセットを選択できます。これにより、すべてのツールをエージェントに公開する必要がなくなります。このサブセクションでは、GOOGLE_MAPS_API_KEY という名前の新しい API キーを生成します。
Google Cloud コンソールが表示されているブラウザタブを開きます(Cloud Shell エディタではありません)。
このブラウザタブで Cloud Shell ターミナル ペインを閉じて、コンソール領域を広げます。
ページ上部の検索バーで「認証情報」を検索します。検索結果から選択します。
[認証情報] ページで、ページ上部にある [+ 認証情報の作成] をクリックし、[API キー] を選択します。
[作成された API キー] ダイアログに、新しく作成された API キーが表示されます。このキーをローカルに保存して、ラボで後ほど使用できるようにします。
ダイアログ ボックスで [閉じる] をクリックします。
新しく作成されたキーは、デフォルトで「API キー 1」という名前になります。キーを選択し、名前を GOOGLE_MAPS_API_KEY に変更して、[保存] をクリックします。
このサブセクションでは、Google マップの MCPToolset を使用するようにエージェントを構成し、ルートや位置情報をシームレスに提供できるようにします。
Cloud Shell エディタのファイル エクスプローラ ペインで、adk_mcp_tools フォルダを見つけます。クリックして開きます。
ディレクトリ adk_mcp_tools/google_maps_mcp_agent に移動します。
次のコマンドをプレーン テキスト ファイルに貼り付け、YOUR_ACTUAL_API_KEY の値を、前の手順で生成して保存した Google Maps API キーに更新します。
更新されたコマンドをコピーして Cloud Shell ターミナルに貼り付け、実行して .env ファイルを書き込みます。このファイルには、このエージェント ディレクトリの認証の詳細が記載されます。
次のコマンドを実行して、.env ファイルをこのラボで使用する他のエージェント ディレクトリにコピーします。
次に、agent.py ファイルの指定された場所に次のコードを追加して、Google マップツールをエージェントに追加します。これにより、エージェントは Google マップの MCPToolset を使用して、経路や位置情報を提供できるようになります。
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 サーバーとして提供する方法を理解してください。MCP クライアントが利用可能なツールを一覧表示できるだけでなく、ADK ツールを非同期で呼び出して、MCP 準拠の形式でリクエストとレスポンスを処理できることに注目してください。
adk_mcp_server ディレクトリの agent.py ファイルをクリックします。
adk_server.py ファイルへのパスを更新します。
次に、agent.py ファイルの指定された場所に次のコードを追加して、エージェントに 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 準拠クライアントからアクセスできるようにできることを示しています。
このラボを終えると、MCPToolset クラスを使用して、外部の Model Context Protocol(MCP)ツールを ADK エージェントに統合する方法を理解できます。
MCP サーバーに接続し、エージェント内でそのツールを使用する方法、カスタム MCP サーバーを介して load_web_page などの ADK ツールを公開する方法を学びました。
これらのスキルにより、強力な外部サービスで ADK エージェントを拡張し、ウェブ開発ワークフローを強化できます。
マニュアルの最終更新日: 2025 年 9 月 3 日
ラボの最終テスト日: 2025 年 9 月 3 日
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください