Modify an ADK Agent to use MCP

進行状況を確認

/ 100

このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。

GML016

注: このラボでは、一貫した高パフォーマンスのエクスペリエンスを確保するため、一部のモデルのリクエストに対してキャッシュに保存された回答が提供される場合があります。 Google Cloud セルフペース ラボ

概要

大規模言語モデル(LLM)は強力な機能を備えていますが、2 つの大きな制限があります。1 つ目は、知識がトレーニング時に得たものに限定されること。2 つ目は、外部とやり取りしてリアルタイム データにアクセスしたり、会議の予約や顧客レコードの更新などのアクションを実行したりできないことです。

その点をカバーするのが、Model Context Protocol(MCP) です。MCP は、LLM の制限を解決するために設計されたオープン標準です。

MCP のメリット

MCP は、LLM が外部のデータ、アプリケーション、サービスと通信するための標準化された安全な「言語」を提供します。また、AI エージェントが静的な知識を超えて動的なエージェントへと変容するための橋渡しをします。MCP を使用することで、AI エージェントは最新の情報を取得してアクションを実行できるようになるため、精度と実用性が向上し、自動化が促進されます。

このラボでは、Agent Development Kit(ADK)をインストールする手順、MCP を使用するように既存の ADK エージェントに変更を加える手順、更新されたエージェントをデプロイしてコマンドライン インターフェース経由でインタラクティブ セッションを初期化する手順について説明します。

Gemini Enterprise Agent Ready(GEAR)プログラムの他のコンテンツもご確認ください。

目標

このラボでは、次のタスクの実行方法について学びます。

  • Agent Development Kit(ADK)をインストールし、プロジェクトの仮想環境を作成する。
  • 通貨エージェント システム(「変更前」の状態)をテストする。
  • MCP サーバーを使用するようにエージェントに変更を加える。
  • MCP サーバーとエージェントを再起動して変更を反映する。
  • MCP サーバーに加えられた変更(「変更後」)を確認する。

設定と要件

  • ラボの時間は記録されており、一時停止できません。[開始] をクリックするとタイマーが開始されます。
  • ラボで使用する IDE には、gcloud SDK が事前に構成されています。
  • ターミナルを使用してコマンドを実行し、[進行状況を確認] をクリックして作業を確認してください。

環境を構成して関連する依存関係をインストールする

  1. ターミナルで次のコマンドを実行し、このラボのコードファイルを Cloud Storage バケットからコピーします。

    gcloud storage cp -r gs://{{{project_0.project_id| YOUR_GCP_PROJECT_ID}}}-bucket/currency-agent .
  2. 次のコマンドを使用して、環境を設定し、currency-agent ディレクトリに .env ファイルを作成します。

    cd currency-agent cp /home/student/keys.json . uv venv --python 3.12 source .venv/bin/activate uv sync touch .env echo "GOOGLE_CLOUD_PROJECT={{{ project_0.project_id }}}" >> .env echo "GOOGLE_CLOUD_LOCATION=global" >> .env echo "GOOGLE_GENAI_USE_ENTERPRISE=True" >> .env echo "MODEL={{{project_0.startup_script.gemini_flash_model_id | gemini_flash_model_id}}}" >> .env

タスク 1. Agent Development Kit(ADK)をインストールする

  1. 新しいターミナル(メニューバーで [ターミナル] > [新しいターミナル] を選択)で、次のコマンドを使用して MCP サーバーを起動します。

    cd currency-agent uv run mcp-server/server.py
  2. 新しいターミナル(メニューバーで [ターミナル] > [新しいターミナル] を選択)で、次のコマンドを使用して A2A サーバーを起動します(ポート 10000 で起動します)。

    cd currency-agent uv run uvicorn currency_agent.agent:a2a_app --host localhost --port 10000

タスク 2. ベースライン エージェント(「変更前」)を実行する

  1. 最初のターミナル インスタンスで、次のコマンドを使用して既存の通貨エージェントを起動します。

    adk run currency_agent 注: エージェントの起動時にタイムアウト エラー(asyncio.exceptions.CancelledError など)が発生した場合は、MCP サーバー(タスク 1、ステップ 1)と A2A サーバー(タスク 1、ステップ 2)の両方がそれぞれのターミナルタブでエラーなく実行されていることを確認してください。
  2. ターミナルに [user]: プロンプトが表示されるまで待ってから、次のプロンプトを入力してエージェントとやり取りします。

    What's the exchange rate between USD and EUR?

エージェントから、米ドルとユーロのリアルタイムの為替レートが提示されます。

  1. 別のプロンプトを試してみます。

    What's the exchange rate between USD and CNY?

エージェントから、米ドルと中国人民元のリアルタイムの為替レートが提示されます。

  1. 次のようにプロンプトを入力して、エージェントとやり取りします。

    What's the price of Bitcoin?

その回答から、エージェントが提示できるのは法定通貨に関する情報に限られることがわかります(暗号通貨に関する最新データは提供されません)。

タスク 3. エージェントに変更を加える

このタスクでは、Model Context Protocol(MCP)サーバーを使用できるように通貨エージェントに変更を加えます。その目的は、エージェントが通常アクセスできないレートを取得するために、(一般公開されている Coinbase API を介して)別の「通貨サーバー」を呼び出すことです。

  1. 左側のペインでファイル エクスプローラ アイコンをクリックし、currency-agent/mcp-server プロジェクト フォルダに移動します。
エクスプローラ アイコン
  1. ファイル エクスプローラで、mcp-server ディレクトリ内の server.py ファイルを開き、53 行目に次のコードを挿入して、変更を保存します。

    @mcp.tool() def get_crypto_price(currency_pair: str = "BTC-USD") -> dict: """Get the current price of a cryptocurrency pair.""" # No API key required for this public endpoint url = f"https://api.coinbase.com/v2/prices/{currency_pair}/spot" response = httpx.get(url) return response.json()["data"]

タスク 4. MCP サーバーと A2A サーバーを再起動する

  1. MCP サーバーが実行されているターミナル インスタンスに切り替えます。

  2. Ctrl+C キーを押してサーバーを停止します。

  3. 同じターミナルで、次のコマンドを実行して MCP サーバーを再起動します。

    uv run mcp-server/server.py
  4. A2A サーバーが実行されているターミナル インスタンスに切り替えます。

  5. Ctrl+C キーを押してサーバーを停止します。

  6. 同じターミナルで、次のコマンドを実行してエージェントを再起動します。

    uv run uvicorn currency_agent.agent:a2a_app --host localhost --port 10000

タスク 5. 更新したエージェント(「変更後」)を実行してテストする

  1. currency_agent が以前に実行されていたターミナル インスタンスに切り替えます。

  2. exit」と入力して、元のセッションを終了します。

  3. 次のコマンドを実行し、エージェントを再実行してテストします。

    adk run --save_session currency_agent 注: Python バージョンの依存関係に関する警告は無視して構いません。
  4. 次のプロンプトを入力して、エージェントとやり取りしてみます。

    Use the get_crypto_price tool to get me the current price of Bitcoin.

エージェントは get_crypto_price ツールに(MCP 経由で)アクセスできるようになっているため、法定通貨だけでなく、暗号通貨に関する質問にも回答できます。

注: 429 割り当てエラーが発生した場合は、1 分待ってからリクエストを再試行してください。
  1. exit」と入力し、セッション ID を求められたら「1」と入力して、アクティビティ トラッキングを正常に完了させます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

MCP を使用するように ADK エージェントに変更を加える

お疲れさまでした

ADK エージェントをデプロイし、Model Context Protocol(MCP)サーバーを使用するように変更を加えることができました。

マニュアルの最終更新日: 2026 年 5 月 22 日

ラボの最終テスト日: 2026 年 5 月 22 日

Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボを実行するには、シークレット モードまたはシークレット ブラウジング ウィンドウを使用することをおすすめします。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。