Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第164回 雲勉 Agent Development Kit と MCP Toolbox fo...
Search
iret.kumoben
June 20, 2025
Technology
270
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第164回 雲勉 Agent Development Kit と MCP Toolbox for Databases で MCP 連携してみた
下記、勉強会での資料です。
https://youtu.be/u4TQpM_NAxw
iret.kumoben
June 20, 2025
More Decks by iret.kumoben
See All by iret.kumoben
第182回 雲勉 【Gemini 3.0 Pro】AI ベンチマーク徹底比較!他モデルに比べ優れている点まとめ
iret
0
110
第181回 雲勉 WEB制作者のちょっとした面倒をAWSで解決!Amazon S3とAWS Lambda活用術
iret
0
96
第180回 雲勉 Abuse report の調査・確認方法について
iret
0
120
第179回 雲勉 AI を活用したサポートデスク業務の改善
iret
0
160
第178回 雲勉 Amazon EKSをオンプレで! Amazon EKS Anywhere 実践構築ガイド
iret
1
130
第177回 雲勉 IdP 移行を楽に!Amazon Cognito でアプリへの影響をゼロにするアイデア
iret
0
130
第176回 雲勉 VPC 間サービス接続を考える!Private Service Connect 入門
iret
0
120
第175回 雲勉 Amazon ECS入門:コンテナ実行の基本を学ぶ
iret
0
160
第174回 雲勉 Google Agentspace × ADK Vertex AI Agent Engineにデプロイしたエージェントを呼び出す
iret
0
190
Other Decks in Technology
See All in Technology
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
310
StepFunctionsとGraphRAGを活用した暗黙知活用のためのRAG基盤
yakumo
0
140
PHPで作って学ぶリアルタイム音声対話AIとWebSocket入門 by ムナカタ
munakata
0
140
第67回コンピュータビジョン勉強会CVPR2026読会前編
tsukamotokenji
0
170
JAWS_ICEBERG_BASECAMP
iqbocchi
2
110
OPENLOGI Company Profile for engineer
hr01
1
75k
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
320
「守りたい体験」を渡すだけで E2E を生成させられるようになった話
hinac0
2
1k
10年目を迎えた「ABEMA」がどのように AI 活用を推進して、AI 駆動開発にシフトしているのか / How ABEMA, entering its 10th year, is promoting the use of AI and shifting toward AI-driven development
miyukki
0
370
AI時代におけるエンジニアの新たな役割──FDEとクオリアの探求/登壇資料(戸井田 裕貴)
hacobu
PRO
0
330
AI時代の開発生産性を捉え直す — 経営と現場をつなぐ「開発組織のオブザーバビリティ」— / AI Dev Ex Conference 2026
tkyowa
1
1.4k
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
1
240
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
620
Automating Front-end Workflow
addyosmani
1370
210k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
640
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
420
Prompt Engineering for Job Search
mfonobong
0
380
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
490
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Transcript
第164回 雲勉 Agent Development Kit と MCP Toolbox for
Databasesで MCP 連携してみた
講師自己紹介 2 ▪ 山際 哲哉 • DX開発事業部 モダンエンジニアリングセクション • 2025年2月
アイレットに入社 • 2025年5月に Google Cloud 資格全冠しました! • ご質問は YouTubeのコメント欄で受け付けております。 後日回答させていただきます!
アジェンダ 3 1. 本日のゴール 2. AI エージェントと MCP 3. 実践
4. まとめ
1. 本日のゴール 4
1.本日のゴール 5 ▪ Agent Development Kit ◦ AI エージェントとは何か
◦ Agent Development Kit とは何か ▪ MCP Toolbox for Databases ◦ MCP とは何か ▪ これらのツールを Google Cloud にデプロイし、動作確認を行う
2. AI エージェントと MCP 6
2.AI エージェントと MCP 7 ▪ AI エージェント • 目標を達成するために、必要なタスクを自律的に思考、アクション、観察を繰り返す
AI のこ と • Tools を使用して外部データやサービスと連携可能 会話 AI エージェント 思考 アクション 観察 Tools Tool 1 Tool 2
2.AI エージェントと MCP 8 ▪ Agent Development Kit (ADK)
• Google Cloud が提供する AI エージェントを構築するための Python ライブラリ • 特徴 https://google.github.io/adk-docs/ マルチエージェント設計 複数の専門化されたエージェントを階層的に構成し、複雑な連携と 委任が可能 豊富なモデルエコシステム Gemini や Vertex AI Model Garden のモデルや Anthropic、Meta、etc 多様なツールエコシステム 検索、コード実行などの事前構築済みツール、 MCP ツール、etc 組み込みのストリーミング機能 双方向のオーディオおよびビデオストリーミング 統合された開発者体験 CLI や Web UI により、開発、テスト、デバッグが容易
2.AI エージェントと MCP 9 MCP サーバー
MCP サーバー MCP サーバー MCP ホスト データソース データソース インターネット Web API ▪ MCP (Model Context Protocol) • LLM が外部アプリやデータソースやツールと通信する方法を標準化した仕組み
2.AI エージェントと MCP 10 ▪ MCP Toolbox for Databases
• DB 用のオープンソース MCP サーバー • エージェントが DB にアクセスできるように するツール • Google Cloud の DB サービスにも対応 https://github.com/googleapis/genai-toolbox
3. 実践 11
3.実践 12 ▪ 構築する AI エージェント • 架空のホテル の検索と詳細を質問できる
ルート エージェント 検索 エージェント 詳細 エージェント BigQuery Vertex AI Search
3.実践 13 ▪ MCP クライアント • ADK で構築したエージェント ▪ MCP
サーバー • MCP Toolbox for Databases で構築したサーバー ▪ DB • BigQuery ▪ 非構造化データ検索 • Vertex AI Search
3.実践 14 ▪ アーキテクチャ Architecture: Agent Development Kit &MCP Toolbox
for Databases Direct VPC Egress 許可された Google アカウントのみアクセス許可 上り(内向き)の制御:内部
3.実践 15 ▪ BigQuery にデータを格納する
3.実践 16 ▪ MCP Toolbox for Databases の記載 ◦ yaml
で Tools を定義する ▪ sources ◦ 操作するデータソース ▪ tools ◦ エージェントが使用するツール ▪ toolsets ◦ ツールグループ ◦ 異なるエージェントやアプリ毎に異なる セットを定義するのに役立つ sources: my-bigquery-source: kind: "bigquery" project: "PROJECT_ID" tools: search-hotels-by-location: kind: bigquery-sql source: my-bigquery-source description: | Search for hotels based on location. Example: {{ "location": "東京", }} parameters: - name: location type: string description: The location of the hotel. statement: SELECT * FROM `DATASET.hotels` WHERE location = @location; toolsets: my_first_toolset: - search-hotels-by-name - search-hotels-by-location - search-hotels-by-booked
3.実践 17 ▪ MCP Toolbox for Databases を Cloud Run
にデプロイ ◦ gcloud コマンド or コンソール上からデプロイする ◦ サービスアカウントには、以下ロールを付与 ▪ Secret Manager のシークレット アクセサー ▪ BigQuery データ閲覧者 ▪ BigQuery ユーザー gcloud run deploy toolbox \ --image $IMAGE \ --service-account toolbox-service-account \ --region asia-northeast1 \ --set-secrets "/app/tools.yaml=tools:latest" \ --args="--tools_file=/app/tools.yaml","--address=0.0.0.0","--port=8080" \ –ingress "internal"
3.実践 18 ▪ ADK でエージェントの構築 ▪ 検索エージェントの定義 ◦ ToolboxTool を使用して、
tools をエージェントに渡す from google.adk.agents import Agent from google.adk.tools.toolbox_tool import ToolboxTool toolbox = ToolboxTool("TOOLBOX_URL") tools = toolbox.get_toolset(toolset_name="my_first_toolset") bq_agent = Agent( model="gemini-2.0-flash", name="bq_agent", description=("都市内のホテルやホテル名、予約状況に関する質問に答えるエージェン ト。"), instruction=( "あなたは、特定の都市にあるホテルやホテル名、予約状況に関するユーザーの質問に 答えられる、役立つエージェントです。ツールを使って質問に答えましょう。" ), tools=tools, )
3.実践 19 ▪ ADK でエージェントの構築 ▪ 詳細エージェントの定義 ◦ VertexAiSearchTool を使用して、
tools をエージェントに渡す from google.adk.agents import Agent from google.adk.tools import VertexAiSearchTool vertex_search_tool = VertexAiSearchTool( data_store_id="DATA_STORE_ID" ) info_agent = Agent( model="gemini-2.0-flash", name="info_agent", description=("札幌ガーデンホテルの情報に関するユーザーの質問に答えるエージェント。"), instruction=( "あなたは札幌ガーデンホテルの情報に関するユーザーの質問に答えられる、役立つエージェ ントです。ツールを使って質問に答えましょう。" ), tools=[vertex_search_tool], )
3.実践 20 ▪ ADK でエージェントの構築 ▪ ルートエージェントの定義 ◦ Agent as
a Tool として定義した Agent を Tool に渡す ▪ Agent as a Tool ◦ Agent AがAgent Bを道具として 使い、Bの回答をAが受け取って ユーザーに応答 ▪ サブエージェント ◦ Agent AがAgent Bに処理を任せ、 ユーザーへの応答責任は完全にBに移る from google.adk.agents import Agent from google.adk.tools.agent_tool import AgentTool root_agent = Agent( model="gemini-2.0-flash", name="hotel_agent", description=("ホテルに関する質問に答えるエージェント。"), instruction=( "あなたはホテルに関するユーザーの質問に答えられる、役立つエージェントです。\n" "都市内のホテルやホテル名、予約状況に関する質問は bq_agent を使用します。\n" "札幌ガーデンホテルの情報に関する質問は info_agent を使用します。" ), tools=[AgentTool(agent=bq_agent), AgentTool(agent=info_agent)], )
3.実践 21 ▪ ADK を Cloud Run にデプロイ (Vertex AI
Agent Engine でも可) ◦ adk コマンドが用意されている ◦ サービスアカウントには、以下ロールを付与 ▪ Cloud Run サービス起動元 ▪ Vertex AI ユーザー ▪ ディスカバリー エンジン ユーザー ◦ Artifact Registry に push され、Cloud Run にサービスがデプロイされる adk deploy cloud_run \ --project=$GOOGLE_CLOUD_PROJECT \ --region=$GOOGLE_CLOUD_LOCATION \ --service_name=$SERVICE_NAME \ --app_name=$APP_NAME \ --with_ui \ $AGENT_PATH
3.実践 22 ▪ 動作確認
3.実践 23 ▪ 動作確認 ▪ MCP サーバーを経由して、BigQueryのデータを取得してきた
3.実践 24 ▪ 動作確認
3.実践 25 ▪ 動作確認 ▪ 他の定義した Tool も使用して、BigQueryのデータを取得してきた
3.実践 26 ▪ 動作確認
3.実践 27 ▪ 動作確認 ▪ Vertex AI Search を使用して、ドキュメントから検索して回答してくれた
3.実践 28 ▪ 評価 ▪ Tool の使用や最終応答の評価を行うことができる ▪ Json 形式でテストファイルを記述
[ { "name": "東京のホテル検索", "data": [ { "query": "東京のホテルを検索してください", "expected_tool_use": [{"tool_name": "bq_agent", "tool_input": {"request": "東京のホテルを検索してください"}}], "expected_intermediate_agent_responses": [], "reference": "デザイナーズホテル東京とホテル東京駅前と東 京ベイホテルがあります。" } ], "initial_session": { "state": {}, "app_name": "hotels", "user_id": "user" } ]
3.実践 29 ▪ 評価 ▪ テスト結果が表示されて、ログに詳細の結果が表示される
4. まとめ 30
4.まとめ 31 ▪ Agent Development Kit を使用すると、簡単に AI エージェントを構築できる
◦ Cloud Run や Vertex AI Agent Engine にデプロイできる ▪ MCP Toolbox for Databases を使用すると、簡単に DB の操作ができる MCP サーバーを構築できる ▪ これらのツールを Google Cloud にデプロイし、動作確認ができる