コンテンツにスキップ

モデルコンテキストプロトコル(MCP)

ADKでサポートPythonGoJava

モデルコンテキストプロトコル(MCP)は、GeminiやClaudeのような大規模言語モデル(LLM)が、外部のアプリケーション、データソース、ツールとどのように通信するかを標準化するために設計されたオープンスタンダードです。LLMがコンテキストを取得し、アクションを実行し、様々なシステムと対話する方法を簡素化する、普遍的な接続メカニズムだとお考えください。

MCPの仕組み

MCPはクライアント/サーバーアーキテクチャに従い、データ(リソース)、インタラクティブなテンプレート(プロンプト)、実行可能な関数(ツール)がMCPサーバーによってどのように公開され、MCPクライアント(LLMホストアプリケーションまたはAIエージェント)によってどのように利用されるかを定義します。

ADKにおけるMCPツール

ADKは、MCPサービスを呼び出すツールを構築しようとしている場合でも、他の開発者やエージェントがあなたのツールと対話できるようにMCPサーバーを公開しようとしている場合でも、エージェントでMCPツールを使用および利用するのに役立ちます。

ADKをMCPサーバーと一緒に使用するのに役立つコードサンプルと設計パターンについては、MCPツールドキュメントを参照してください。これには以下が含まれます:

  • ADK内での既存MCPサーバーの利用:ADKエージェントはMCPクライアントとして機能し、外部のMCPサーバーから提供されるツールを使用できます。
  • MCPサーバーを介したADKツールの公開:ADKツールをラップし、任意のMCPクライアントからアクセスできるようにするMCPサーバーの構築方法。

データベース向けMCP Toolbox

データベース向けMCP Toolboxは、バックエンドのデータソースを、事前構築済みですぐに本番環境で利用できるツールセットとして安全に公開する、オープンソースのMCPサーバーです。これは普遍的な抽象化レイヤーとして機能し、ADKエージェントが組み込みのサポートにより、多種多様なデータベースから安全に情報をクエリ、分析、取得できるようにします。

MCP Toolboxサーバーには包括的なコネクタライブラリが含まれており、エージェントが複雑なデータ資産と安全に対話できることを保証します。

対応データソース

MCP Toolboxは、以下のデータベースおよびデータプラットフォーム向けに、すぐに使えるツールセットを提供します。

Google Cloud

リレーショナル & SQLデータベース

NoSQL & キーバリューストア

グラフデータベース

  • Neo4j(Cypherクエリとスキーマ検査ツールを含む)
  • Dgraph

データプラットフォーム & フェデレーション

  • Looker(Looker API経由でのLookの実行、クエリ、ダッシュボード構築用)
  • Trino(複数ソースにまたがるフェデレーションクエリ実行用)

その他

ドキュメント

ADKとデータベース向けMCP Toolboxを連携して使用する方法については、データベース向けMCP Toolboxのドキュメントを参照してください。データベース向けMCP Toolboxの開始にあたり、ブログ投稿チュートリアル:データベース向けMCP Toolbox - BigQueryデータセットの公開とCodelabデータベース向けMCP Toolbox:BigQueryデータセットをMCPクライアントで利用可能にするも利用できます。

GenAI Toolbox

ADKエージェントとFastMCPサーバー

FastMCPは、複雑なMCPプロトコルの詳細やサーバー管理をすべて処理するため、あなたは優れたツールの構築に集中できます。これは高レベルでPythonらしい(Pythonic)設計になっており、ほとんどの場合、関数にデコレーターを付けるだけで済みます。

Cloud Run上で実行されるFastMCPサーバーとADKを連携させる方法については、MCPツールドキュメントを参照してください。

Google Cloud Genmedia向けMCPサーバー

Genmediaサービス向けMCPツールは、Imagen、Veo、Chirp 3 HDボイス、LyriaといったGoogle Cloudの生成メディアサービスをAIアプリケーションに統合できるようにする、オープンソースのMCPサーバーセットです。

Agent Development Kit(ADK)とGenkitは、これらのMCPツールに対する組み込みサポートを提供し、AIエージェントが生成メディアのワークフローを効果的にオーケストレーションできるようにします。実装ガイダンスについては、ADKサンプルエージェントおよびGenkitサンプルを参照してください。