Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
第164回 雲勉 Agent Development Kit と MCP Toolbox fo...
Search
iret.kumoben
June 20, 2025
Technology
290
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
130
第181回 雲勉 WEB制作者のちょっとした面倒をAWSで解決!Amazon S3とAWS Lambda活用術
iret
0
110
第180回 雲勉 Abuse report の調査・確認方法について
iret
0
130
第179回 雲勉 AI を活用したサポートデスク業務の改善
iret
0
180
第178回 雲勉 Amazon EKSをオンプレで! Amazon EKS Anywhere 実践構築ガイド
iret
1
150
第177回 雲勉 IdP 移行を楽に!Amazon Cognito でアプリへの影響をゼロにするアイデア
iret
0
150
第176回 雲勉 VPC 間サービス接続を考える!Private Service Connect 入門
iret
0
130
第175回 雲勉 Amazon ECS入門:コンテナ実行の基本を学ぶ
iret
0
180
第174回 雲勉 Google Agentspace × ADK Vertex AI Agent Engineにデプロイしたエージェントを呼び出す
iret
0
200
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
AIエージェントを最高のパートナーに育てる方法|評価と判断軸を育てる5つのステップ
koichiaoki
1
160
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.8k
音声コミュニティを守るAI監視基盤_ 90%以上の入力削減を支えたServerless設計と運用判断
shuheioka123
0
110
AWS FinOps Agent 結局何が得意なの?
siromi
0
170
AWS DevOps Agent スキルをつかいこなそう / Master AWS DevOps Agent Skills
kinunori
2
500
2026-09-08 そのJavaモダナイゼーション、AIに丸投げで大丈夫?IBM Bobで変わる品質と効率
yutanonaka
1
200
3人で1000GPU超を統合運用する?マルチクラウド&オンプレを跨ぐ、構築と運用のリアル!
kazukun0716
1
200
Hermes Agentで、AIが調べて記事を書くブログを作った話
blueb
0
110
「どのログを見ればいい?」 から始めた サーバーレス障害解析
y_waka1
1
150
SREへの勘違いに気づいた後の話
tomodakengo
0
160
覗いてみよう 関数型ビジュアル言語×2Dグラフィックスの世界
yohyamasaki
0
110
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
550
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
530
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
540
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
250
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 にデプロイし、動作確認ができる