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
300
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
150
第181回 雲勉 WEB制作者のちょっとした面倒をAWSで解決!Amazon S3とAWS Lambda活用術
iret
0
120
第180回 雲勉 Abuse report の調査・確認方法について
iret
0
140
第179回 雲勉 AI を活用したサポートデスク業務の改善
iret
0
180
第178回 雲勉 Amazon EKSをオンプレで! Amazon EKS Anywhere 実践構築ガイド
iret
1
160
第177回 雲勉 IdP 移行を楽に!Amazon Cognito でアプリへの影響をゼロにするアイデア
iret
0
160
第176回 雲勉 VPC 間サービス接続を考える!Private Service Connect 入門
iret
0
140
第175回 雲勉 Amazon ECS入門:コンテナ実行の基本を学ぶ
iret
0
240
第174回 雲勉 Google Agentspace × ADK Vertex AI Agent Engineにデプロイしたエージェントを呼び出す
iret
0
210
Other Decks in Technology
See All in Technology
続・ソフトウェアアーキテクトのための意思決定術: Decision Readiness, Revisited — When AI Changes the Economics of Software Architecture
snoozer05
PRO
9
2.2k
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
1
7.3k
AWSを利用する上で知っておきたい名前解決の話 2026
nagisa53
4
2.4k
【dbts2026】AIエージェントの 判断と探索を変える、 データベース エンジニアリング― 既存DBの処理と依存関係から作る、オペレーショナルオントロジー ―
shisyu_gaku
0
160
生成AI時代のIAMのマニアックな話
takuros
6
1.9k
`go get`したらELFが降ってきた件
taiyow
0
170
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
720
"AWSはちょっと苦手"でも大丈夫。AWS Blocks で手軽に作る Flutter のバックエンド #FlutterKaigi
tacck
PRO
0
150
cdkd (CDK Direct)
gotok365
3
230
公共分野での生成AI活用
toru_kubota
1
190
20261031_IoTLT_vol140_kitazaki_v1.pdf
kitazaki
0
170
AWS構成から考えるWebセキュリティ ― WordPressの構築経験から考える公開範囲と更新運用【JAWS FESTA 2026 in AKITA】
cscengineer
PRO
1
190
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
41
2.8k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
How to train your dragon (web standard)
notwaldorf
96
6.9k
Thoughts on Productivity
jonyablonski
76
5.4k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.9k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
610
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
390
The browser strikes back
jonoalderson
0
1.9k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
740
Rails Girls Zürich Keynote
gr2m
96
14k
Technical Leadership for Architectural Decision Making
baasie
3
640
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 にデプロイし、動作確認ができる