1. מבוא
ב-Codelab זה, תשתמשו ב-MCP Toolbox for Databases כדי להפוך את מערכי הנתונים שלכם ב-BigQuery לזמינים.
במהלך ה-codelab, תשתמשו בגישה שלב אחר שלב באופן הבא:
- מזהים מערך נתונים ספציפי של BigQuery (הערות המוצר של Google Cloud) מתוך תוכנית מערכי הנתונים הציבוריים של BigQuery.
- מגדירים את MCP Toolbox for Databases, שמתחבר למערך הנתונים ב-BigQuery.
- פיתוח סוכן באמצעות Agent Development Kit (ADK) שישתמש ב-MCP Toolbox כדי לענות על שאילתות של המשתמש לגבי הערות על גרסאות של Google Cloud
מה תעשו
- הגדרת MCP Toolbox for Databases כדי לחשוף הערות על הגרסה של Google Cloud, מערך נתונים ציבורי של BigQuery, כממשק MCP ללקוחות MCP אחרים (סביבות פיתוח משולבות, כלים וכו').
מה תלמדו
- מעיינים במערכי נתונים ציבוריים של BigQuery ובוחרים מערך נתונים ספציפי.
- הגדרת MCP Toolbox for Databases למערך הנתונים הציבורי של BigQuery שאנחנו רוצים להפוך לזמין ללקוחות MCP.
- תכנון ופיתוח של סוכן באמצעות ערכה לפיתוח סוכנים (ADK) כדי לענות על שאילתות של משתמשים.
- בודקים את הסוכן ואת MCP Toolbox for Databases בסביבה המקומית.
מה תצטרכו
- דפדפן האינטרנט Chrome.
- סביבת פיתוח מקומית של Python.
2. לפני שמתחילים
יצירת פרויקט
- ב-מסוף Google Cloud, בדף לבחירת הפרויקט, בוחרים או יוצרים פרויקט ב-Google Cloud.
- הקפידו לוודא שהחיוב מופעל בפרויקט שלכם ב-Cloud. כך בודקים אם החיוב מופעל בפרויקט
- תשתמשו ב-Cloud Shell, סביבת שורת פקודה שפועלת ב-Google Cloud ומגיעה עם bq שנטען מראש. לוחצים על 'הפעלת Cloud Shell' בחלק העליון של מסוף Google Cloud.

- אחרי שמתחברים ל-Cloud Shell, בודקים שכבר בוצע אימות ושהפרויקט מוגדר למזהה הפרויקט באמצעות הפקודה הבאה:
gcloud auth list
- מריצים את הפקודה הבאה ב-Cloud Shell כדי לוודא שפקודת gcloud מכירה את הפרויקט.
gcloud config list project
- אם הפרויקט לא מוגדר, משתמשים בפקודה הבאה כדי להגדיר אותו:
gcloud config set project <YOUR_PROJECT_ID>
- מפעילים את ממשקי ה-API הנדרשים באמצעות הפקודה שמוצגת למטה. זה יימשך כמה דקות, אז כדאי לחכות בסבלנות.
gcloud services enable cloudresourcemanager.googleapis.com \
servicenetworking.googleapis.com \
run.googleapis.com \
cloudbuild.googleapis.com \
cloudfunctions.googleapis.com \
aiplatform.googleapis.com \
sqladmin.googleapis.com \
compute.googleapis.com
אם הפקודה תפעל בהצלחה, תוצג הודעה שדומה לזו שמופיעה בהמשך:
Operation "operations/..." finished successfully.
אפשר גם לחפש כל מוצר במסוף או להשתמש בקישור הזה במקום בפקודת gcloud.
אם פספסתם API כלשהו, תמיד תוכלו להפעיל אותו במהלך ההטמעה.
אפשר לעיין במאמרי העזרה בנושא פקודות gcloud ושימוש בהן.
3. מערך נתונים של הערות מוצר ולקוחות MCP
קודם כל, כדאי לעיין בהערות המוצר של Google Cloud שמתעדכנות באופן קבוע בדף הרשמי של הערות המוצר של Google Cloud. צילום מסך של הדף מוצג בהמשך:

יכול להיות שתרצו להירשם לכתובת ה-URL של הפיד, אבל מה אם פשוט תוכלו לשאול בצ'אט עם הסוכן על הערות הגרסה האלה? אפשר להשתמש בשאילתה פשוטה כמו 'עדכן אותי לגבי הערות מוצר של Google Cloud'.
4. MCP Toolbox למסדי נתונים
MCP Toolbox for Databases הוא שרת MCP קוד פתוח למסדי נתונים. הוא תוכנן במיוחד לשימוש ברמת הארגון ולסביבות ייצור. הוא מאפשר לכם לפתח כלים בקלות, במהירות ובאופן מאובטח יותר, כי הוא מטפל במורכבויות כמו איגום חיבורים, אימות ועוד.
ערכת הכלים עוזרת לכם ליצור כלי AI גנרטיבי שמאפשרים לסוכנים שלכם לגשת לנתונים במסד הנתונים. ארגז הכלים מספק:
- פיתוח פשוט יותר: אפשר לשלב כלים בסוכן בפחות מ-10 שורות קוד, לעשות שימוש חוזר בכלים בין כמה סוכנים או מסגרות, ולפרוס גרסאות חדשות של כלים בקלות רבה יותר.
- ביצועים טובים יותר: שיטות מומלצות כמו איגום חיבורים, אימות ועוד.
- אבטחה משופרת: אימות משולב לגישה מאובטחת יותר לנתונים
- ניראות מקצה לקצה: מדדים ומעקב מוכנים לשימוש עם תמיכה מובנית ב-OpenTelemetry.
- בעזרת Toolbox אפשר לחבר בקלות מסדי נתונים לכל עוזר AI עם יכולות MCP, גם אם הוא נמצא בסביבת הפיתוח המשולבת (IDE).
ערכת הכלים נמצאת בין מסגרת התזמור של האפליקציה לבין מסד הנתונים, ומספקת מישור בקרה שמשמש לשינוי, להפצה או להפעלה של כלים. הוא מפשט את ניהול הכלים על ידי מתן מיקום מרכזי לאחסון ולעדכון כלים, ומאפשר לכם לשתף כלים בין סוכנים ואפליקציות ולעדכן את הכלים האלה בלי לפרוס מחדש את האפליקציה.

כדי לסכם במילים פשוטות:
- ערכת הכלים של MCP זמינה כקובץ בינארי, כקובץ אימג' של קונטיינר או שאפשר ליצור אותה מקוד המקור.
- הוא חושף קבוצה של כלים שאתם מגדירים באמצעות קובץ tools.yaml. אפשר לחשוב על הכלים האלה כחיבור למקורות הנתונים שלכם. אפשר לראות את מקורות הנתונים השונים שהוא תומך בהם : AlloyDB, BigQuery וכו'.
- ערכת הכלים הזו תומכת עכשיו ב-MCP, ולכן יש לכם באופן אוטומטי נקודת קצה של שרת MCP שאפשר להשתמש בה בסוכנים (IDE) או להשתמש בהם בזמן פיתוח אפליקציות סוכנים באמצעות מסגרות שונות כמו ערכת פיתוח סוכנים (ADK).
בפוסט הזה בבלוג נתמקד בתחומים שמודגשים בהמשך:

לסיכום, אנחנו ניצור הגדרה ב-MCP Toolbox for Databases שתדע איך להתחבר למערך הנתונים שלנו ב-BigQuery. לאחר מכן נפתח סוכן באמצעות Agent Development Kit (ADK) שישתלב עם נקודת הקצה של MCP Toolbox ויאפשר לנו לשלוח שאילתות בשפה טבעית כדי לקבל מידע על מערך הנתונים שלנו. אפשר לחשוב על זה כעל אפליקציה מבוססת-סוכן שאתם מפתחים, שיודעת איך לתקשר עם מערך הנתונים שלכם ב-BigQuery ומריצה כמה שאילתות.
5. מערך נתונים של הערות המוצר ב-Google Cloud ב-BigQuery
Google Cloud Public Dataset Program הוא תוכנית שמאפשרת לכם להשתמש במגוון של מערכי נתונים באפליקציות שלכם. דוגמה למערך נתונים כזה היא מסד הנתונים של הערות מוצר של Google Cloud. מערך הנתונים הזה מספק את אותו מידע שמופיע בדף האינטרנט הרשמי של הערות מוצר של Google Cloud, והוא זמין כקבוצת נתונים שאפשר להריץ עליה שאילתות באופן ציבורי.

כדי לבדוק, אני מאמת את מערך הנתונים על ידי הרצת שאילתה פשוטה שמוצגת בהמשך:
SELECT
product_name,description,published_at
FROM
`bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
WHERE
DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
GROUP BY product_name,description,published_at
ORDER BY published_at DESC
כך מקבלים רשימה של רשומות ממערך הנתונים של הערות לגבי מהדורות שפורסמו ב-7 הימים האחרונים.
אפשר להחליף את קבוצת הנתונים הזו בכל קבוצת נתונים אחרת שתבחרו, ואת השאילתות והפרמטרים שלה. כל מה שצריך לעשות עכשיו הוא להגדיר את זה כמקור נתונים וככלי ב-MCP Toolbox for Databases. איך עושים את זה?
6. התקנת MCP Toolbox for Databases
פותחים טרמינל במחשב המקומי ויוצרים תיקייה בשם mcp-toolbox.
mkdir mcp-toolbox
עוברים לתיקייה mcp-toolbox באמצעות הפקודה שמוצגת למטה:
cd mcp-toolbox
מתקינים את הגרסה הבינארית של MCP Toolbox for Databases באמצעות הסקריפט שמופיע בהמשך. הפקודה שמופיעה בהמשך היא ל-Linux, אבל אם אתם משתמשים ב-Mac או ב-Windows, חשוב לוודא שאתם מורידים את הקובץ הבינארי הנכון. כדאי לעיין בדף הגרסאות של מערכת ההפעלה והארכיטקטורה ולהוריד את הקובץ הבינארי הנכון.
export VERSION=0.23.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
עכשיו יש לנו את הגרסה הבינארית של ארגז הכלים, והיא מוכנה לשימוש. בשלב הבא מגדירים את ארגז הכלים עם מקורות הנתונים והגדרות אחרות.
7. הגדרת MCP Toolbox for Databases
עכשיו צריך להגדיר את מערך הנתונים והכלים של BigQuery בקובץ tools.yaml שנדרש על ידי MCP Toolbox for Database. הקובץ tools.yaml הוא הדרך העיקרית להגדרת Toolbox.
יוצרים קובץ בשם tools.yaml באותה תיקייה, כלומר mcp-toolbox, עם התוכן שמוצג בהמשך.
אפשר להשתמש בעורך nano שזמין ב-Cloud Shell. הפקודה nano היא: "nano tools.yaml".
חשוב להחליף את הערך YOUR_PROJECT_ID במזהה הפרויקט ב-Google Cloud.
sources:
my-bq-source:
kind: bigquery
project: YOUR_PROJECT_ID
tools:
search_release_notes_bq:
kind: bigquery-sql
source: my-bq-source
statement: |
SELECT
product_name,description,published_at
FROM
`bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
WHERE
DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
GROUP BY product_name,description,published_at
ORDER BY published_at DESC
description: |
Use this tool to get information on Google Cloud Release Notes.
toolsets:
my_bq_toolset:
- search_release_notes_bq
בואו נבין את הקובץ בקצרה:
- מקורות מייצגים את מקורות הנתונים השונים שאיתם הכלי יכול ליצור אינטראקציה. מקור מייצג מקור נתונים שכלי יכול ליצור איתו אינטראקציה. אפשר להגדיר את המקורות כמפה בקטע sources בקובץ tools.yaml. בדרך כלל, הגדרת מקור תכיל את כל המידע שנדרש כדי להתחבר למסד הנתונים ולבצע בו פעולות. בדוגמה שלנו, הגדרנו מקור BigQuery
my-bq-sourceואתם צריכים לספק את מזהה הפרויקט שלכם ב-Google Cloud. מידע נוסף זמין במאמר בנושא מקורות. - הכלים מגדירים את הפעולות שהסוכן יכול לבצע – כמו קריאה וכתיבה במקור. כלי מייצג פעולה שהסוכן יכול לבצע, כמו הפעלת הצהרת SQL. אפשר להגדיר כלי כמפה בקטע Tools בקובץ tools.yaml. בדרך כלל, כדי להשתמש בכלי צריך לציין מקור. במקרה שלנו, אנחנו מגדירים כלי אחד
search_release_notes_bq. ההפניה הזו היא למקור BigQuerymy-bq-sourceשהגדרנו בשלב הראשון. הוא כולל גם את ההצהרה וההוראה שישמשו את לקוחות הסוכן הדיגיטלי מבוסס ה-AI. מידע נוסף זמין במאמר בנושא כלים. - לבסוף, יש לנו את ערכת הכלים, שמאפשרת לכם להגדיר קבוצות של כלים שאתם רוצים לטעון יחד. האפשרות הזו יכולה להיות שימושית להגדרת קבוצות שונות על סמך סוכן או אפליקציה. במקרה שלנו, יש לנו הגדרה של ערכת כלים שבה הגדרנו כרגע רק כלי קיים אחד
search_release_notes_bqשהגדרנו. יכולים להיות לכם כמה ערכות כלים, שכל אחת מהן כוללת שילוב של כלים שונים.
לכן, בשלב הזה הגדרנו רק כלי אחד שמקבל את הערות הגרסה של 7 הימים האחרונים בהתאם לשאילתה. אבל אפשר גם ליצור שילובים שונים עם פרמטרים.
אפשר לעיין בפרטים נוספים על ההגדרה ( מקור, כלים) בהגדרת מקור הנתונים של BigQuery ב-MCP Toolbox for Databases.
8. בדיקה של MCP Toolbox למסדי נתונים
הורדנו והגדרנו את ערכת הכלים עם הקובץ tools.yaml בתיקייה mcp-toolbox. קודם נריץ אותו באופן מקומי.
מריצים את הפקודה הבאה:
./toolbox --tools-file="tools.yaml"
אם ההפעלה תצליח, תראו שהשרת מופעל עם פלט לדוגמה שדומה לזה שמופיע בהמשך:
2025-12-09T08:27:02.777619+05:30 INFO "Initialized 1 sources: my-bq-source"
2025-12-09T08:27:02.777695+05:30 INFO "Initialized 0 authServices: "
2025-12-09T08:27:02.777707+05:30 INFO "Initialized 1 tools: search_release_notes_bq"
2025-12-09T08:27:02.777716+05:30 INFO "Initialized 2 toolsets: my_bq_toolset, default"
2025-12-09T08:27:02.777719+05:30 INFO "Initialized 0 prompts: "
2025-12-09T08:27:02.777723+05:30 INFO "Initialized 1 promptsets: default"
2025-12-09T08:27:02.77773+05:30 WARN "wildcard (`*`) allows all origin to access the resource and is not secure. Use it with cautious for public, non-sensitive data, or during local development. Recommended to use `--allowed-origins` flag to prevent DNS rebinding attacks"
2025-12-09T08:27:02.777839+05:30 INFO "Server ready to serve!"
כברירת מחדל, השרת MCP Toolbox פועל ביציאה 5000. אם אתם מגלים שהיציאה 5000 כבר בשימוש, אתם יכולים להשתמש ביציאה אחרת (למשל 7000) בהתאם לפקודה שמוצגת למטה. במקום היציאה 5000 בפקודות הבאות, צריך להשתמש ב-7000.
./toolbox --tools-file "tools.yaml" --port 7000
נשתמש ב-Cloud Shell כדי לבדוק את זה.
לוחצים על Web Preview ב-Cloud Shell כמו שמוצג למטה:

לוחצים על שינוי היציאה ומגדירים את היציאה ל-5000 כמו שמוצג למטה. לוחצים על 'שינוי ותצוגה מקדימה'.

הפלט הבא אמור להתקבל:

בכתובת ה-URL של הדפדפן, מוסיפים את המחרוזת הבאה לסוף כתובת ה-URL:
/api/toolset
יוצגו הכלים שמוגדרים כרגע. דוגמה לפלט:
{
"serverVersion": "0.22.0+binary.linux.amd64.1a6dfe8d37d0f42fb3fd3f75c50988534dbc1b85",
"tools": {
"search_release_notes_bq": {
"description": "Use this tool to get information on Google Cloud Release Notes.\n",
"parameters": [],
"authRequired": []
}
}
}
בדיקת הכלים באמצעות ממשק המשתמש של MCP Toolbox for Databases
ארגז הכלים מספק ממשק חזותי (ממשק המשתמש של ארגז הכלים) לאינטראקציה ישירה עם כלים באמצעות שינוי פרמטרים, ניהול כותרות והפעלת קריאות, והכול בממשק משתמש פשוט באינטרנט.
כדי לבדוק את זה, אפשר להריץ את הפקודה הקודמת שבה השתמשנו כדי להפעיל את Toolbox Server עם האפשרות --ui.
כדי לעשות את זה, משביתים את המופע הקודם של MCP Toolbox for Databases Server שאולי פועל ומריצים את הפקודה הבאה:
./toolbox --tools-file "tools.yaml" --ui
הפלט שמוצג צריך להראות שהשרת הצליח להתחבר למקורות הנתונים שלנו ושהוא טען את ערכת הכלים והכלים. בהמשך מופיע פלט לדוגמה, שבו מצוין שממשק המשתמש של כלי העריכה פועל.
2025-12-09T08:28:07.479989+05:30 INFO "Initialized 1 sources: my-bq-source"
2025-12-09T08:28:07.480065+05:30 INFO "Initialized 0 authServices: "
2025-12-09T08:28:07.480079+05:30 INFO "Initialized 1 tools: search_release_notes_bq"
2025-12-09T08:28:07.480087+05:30 INFO "Initialized 2 toolsets: my_bq_toolset, default"
2025-12-09T08:28:07.48009+05:30 INFO "Initialized 0 prompts: "
2025-12-09T08:28:07.480094+05:30 INFO "Initialized 1 promptsets: default"
2025-12-09T08:28:07.4801+05:30 WARN "wildcard (`*`) allows all origin to access the resource and is not secure. Use it with cautious for public, non-sensitive data, or during local development. Recommended to use `--allowed-origins` flag to prevent DNS rebinding attacks"
2025-12-09T08:28:07.480214+05:30 INFO "Server ready to serve!"
2025-12-09T08:28:07.480218+05:30 INFO "Toolbox UI is up and running at: http://127.0.0.1:5000/ui"
לוחצים על כתובת ה-URL של ממשק המשתמש ומוודאים שמופיע בסוף /ui. יוצג ממשק משתמש כמו שמוצג בהמשך:

לוחצים על האפשרות Tools (כלים) בצד ימין כדי לראות את הכלים שהוגדרו. במקרה שלנו, אמור להיות רק כלי אחד, כלומר search_release_notes_bq, כמו שמוצג בהמשך:

פשוט לוחצים על סמל הכלים (search_release_notes_bq) ומוצג דף שבו אפשר לבדוק את הכלי. מכיוון שאין פרמטרים שצריך לספק, אפשר פשוט ללחוץ על הפעלת הכלי כדי לראות את התוצאה. דוגמה להרצה:

ב-MCP Toolkit for Databases מוסבר גם על דרך לבדוק את הכלים באמצעות Python, וההסבר מופיע כאן. במקום זאת, נדלג על זה ונעבור ישירות לערכת פיתוח הסוכנים (ADK) בקטע הבא, שבה נשתמש בכלים האלה.
9. כתיבת הסוכן באמצעות Agent Development Kit (ADK)
התקנת ערכת פיתוח סוכנים (ADK)
פותחים כרטיסייה חדשה במסוף ב-Cloud Shell ויוצרים תיקייה בשם my-agents באופן הבא. עוברים גם לתיקייה my-agents.
mkdir my-agents
cd my-agents
עכשיו ניצור סביבה וירטואלית של Python באמצעות venv באופן הבא:
python -m venv .venv
מפעילים את הסביבה הווירטואלית באופן הבא:
source .venv/bin/activate
מתקינים את חבילות ה-ADK ו-MCP Toolbox for Databases יחד עם התלות של langchain באופן הבא:
pip install google-adk toolbox-core
עכשיו תוכלו להפעיל את כלי השירות adk באופן הבא.
adk
תוצג רשימה של פקודות.
$ adk
Usage: adk [OPTIONS] COMMAND [ARGS]...
Agent Development Kit CLI tools.
Options:
--help Show this message and exit.
Commands:
api_server Starts a FastAPI server for agents.
create Creates a new app in the current folder with prepopulated agent template.
deploy Deploys agent to hosted environments.
eval Evaluates an agent given the eval sets.
run Runs an interactive CLI for a certain agent.
web Starts a FastAPI server with Web UI for agents.
יצירת אפליקציית הנציג הראשונה
עכשיו נשתמש ב-adk כדי ליצור scaffolding לאפליקציית Google Cloud הערות מוצר Agent באמצעות הפקודה adk create עם שם האפליקציה **(gcp_releasenotes_agent_app)**כמו בדוגמה שלמטה.
adk create gcp_releasenotes_agent_app
פועלים לפי השלבים ובוחרים באפשרויות הבאות:
- מודל Gemini לבחירת מודל לסוכן הבסיסי.
- בוחרים ב-Vertex AI כ-backend.
- יוצגו מזהה הפרויקט ב-Google ואזור ברירת המחדל. בוחרים את ברירת המחדל עצמה.
Choose a model for the root agent:
1. gemini-2.5-flash
2. Other models (fill later)
Choose model (1, 2): 1
1. Google AI
2. Vertex AI
Choose a backend (1, 2): 2
You need an existing Google Cloud account and project, check out this link for details:
https://google.github.io/adk-docs/get-started/quickstart/#gemini---google-cloud-vertex-ai
Enter Google Cloud project ID [YOUR_GOOGLE_PROJECT_ID]:
Enter Google Cloud region [us-central1]:
Agent created in ../my-agents/gcp_releasenotes_agent_app:
- .env
- __init__.py
- agent.py
בודקים את התיקייה שבה נוצרו תבנית ברירת מחדל וקבצים נדרשים לסוכן.
הקובץ הראשון הוא .env. התוכן של הקובץ מוצג בהמשך:
GOOGLE_GENAI_USE_VERTEXAI=1
GOOGLE_CLOUD_PROJECT=YOUR_GOOGLE_PROJECT_ID
GOOGLE_CLOUD_LOCATION=YOUR_GOOGLE_PROJECT_REGION
הערכים מציינים שנשתמש ב-Gemini דרך Vertex AI, יחד עם הערכים המתאימים של מזהה הפרויקט ב-Google Cloud והמיקום.
אחרי זה יש את הקובץ __init__.py שמסמן את התיקייה כמודול, ויש בו הצהרה אחת שמייבאת את הסוכן מהקובץ agent.py.
from . import agent
לסיום, נבדוק את הקובץ agent.py. התוכן מוצג בהמשך:
from google.adk.agents import Agent
root_agent = Agent(
model='gemini-2.5-flash',
name='root_agent',
description='A helpful assistant for user questions.',
instruction='Answer user questions to the best of your knowledge',
)
זהו הסוכן הפשוט ביותר שאפשר לכתוב באמצעות ADK. מתוך הדף בתיעוד של ADK, סוכן הוא יחידת ביצוע עצמאית שנועדה לפעול באופן אוטונומי כדי להשיג מטרות ספציפיות. סוכנים יכולים לבצע משימות, ליצור אינטראקציה עם משתמשים, להשתמש בכלים חיצוניים ולתאם עם סוכנים אחרים.
בפרט, סוכן LLM, שנקרא בדרך כלל סוכן, משתמש במודלים גדולים של שפה (LLM) כמנוע הליבה שלו כדי להבין שפה טבעית, להסיק מסקנות, לתכנן, ליצור תשובות ולהחליט באופן דינמי איך להמשיך או באילו כלים להשתמש. לכן הוא אידיאלי למשימות גמישות שמתמקדות בשפה. מידע נוסף על סוכני LLM
כך מסיימים את תהליך ה-scaffolding ליצירת סוכן בסיסי באמצעות הערכה לפיתוח סוכנים (ADK). עכשיו נחבר את הסוכן שלנו ל-MCP Toolbox, כדי שהוא יוכל להשתמש בכלי הזה כדי לענות על שאילתות מהמשתמש (במקרה הזה, אלה יהיו הערות הגרסה של Google Cloud).
10. חיבור הסוכן שלנו לכלים
אנחנו הולכים לחבר את הסוכן הזה לכלים עכשיו. במסגרת ADK, כלי מייצג יכולת ספציפית שמוענקת לסוכן AI, ומאפשרת לו לבצע פעולות ולקיים אינטראקציה עם העולם מעבר ליכולות הליבה שלו של יצירת טקסט וניתוח מידע.
במקרה שלנו, נצייד את הסוכן שלנו בכלים שהגדרנו ב-MCP Toolbox for Databases.
משנים את הקובץ agent.py באמצעות הקוד הבא. שימו לב שאנחנו משתמשים ביציאה 5000 שמוגדרת כברירת מחדל בקוד, אבל אם אתם משתמשים במספר יציאה חלופי, אתם צריכים להשתמש בו.
from google.adk.agents import Agent
from toolbox_core import ToolboxSyncClient
toolbox = ToolboxSyncClient("http://127.0.0.1:5000")
# Load all the tools
tools = toolbox.load_toolset('my_bq_toolset')
root_agent = Agent(
name="gcp_releasenotes_agent",
model="gemini-2.5-flash",
description=(
"Agent to answer questions about Google Cloud Release notes."
),
instruction=(
"You are a helpful agent who can answer user questions about the Google Cloud Release notes. Use the tools to answer the question"
),
tools=tools,
)
עכשיו אפשר לבדוק את הסוכן שיאחזר נתונים אמיתיים ממערך הנתונים שלנו ב-BigQuery, שהוגדר באמצעות MCP Toolbox for Databases.
כדי לעשות את זה, צריך לפעול לפי הרצף הבא:
בטרמינל אחד של Cloud Shell, מפעילים את MCP Toolbox for Databases. יכול להיות שהיא כבר פועלת באופן מקומי ביציאה 5000, כמו שבדקנו קודם. אם לא, מריצים את הפקודה הבאה (מהתיקייה mcp-toolbox) כדי להפעיל את השרת:
./toolbox --tools_file "tools.yaml"
הפלט שמוצג צריך להראות שהשרת הצליח להתחבר למקורות הנתונים שלנו ושהוא טען את ערכת הכלים והכלים.
אחרי שהשרת של ה-MCP יופעל בהצלחה, מריצים את הסוכן בטרמינל אחר באמצעות הפקודה adk run (מתוך התיקייה my-agents) שמוצגת בהמשך. אפשר גם להשתמש בפקודה adk web.
$ adk run gcp_releasenotes_agent_app/
Log setup complete: /tmp/agents_log/agent.20250423_170001.log
To access latest log: tail -F /tmp/agents_log/agent.latest.log
Running agent gcp_releasenotes_agent, type exit to exit.
[user]: get me the google cloud release notes
[gcp_releasenotes_agent]: Here are the Google Cloud Release Notes.
Google SecOps SOAR: Release 6.3.49 is being rolled out to the first phase of regions. This release contains internal and customer bug fixes. Published: 2025-06-14
Compute Engine: Dynamic NICs let you add or remove network interfaces to or from an instance without having to restart or recreate the instance. You can also use Dynamic NICs when you need more network interfaces. The maximum number of vNICs for most machine types in Google Cloud is 10; however, you can configure up to 16 total interfaces by using Dynamic NICs. Published: 2025-06-13
Compute Engine: General purpose C4D machine types, powered by the fifth generation AMD EPYC processors (Turin) and Google Titanium, are generally available. Published: 2025-06-13
Google Agentspace: Google Agentspace Enterprise: App-level feature management. As an Agentspace administrator, you can choose to turn the following features on or off for your end users in the web app: Agents gallery, Prompt gallery, No-code agent, NotebookLM Enterprise. Published: 2025-06-13
Cloud Load Balancing: Cloud Load Balancing supports load balancing to multi-NIC instances that use Dynamic NICs. This capability is in Preview. Published: 2025-06-13
Virtual Private Cloud: Dynamic Network Interfaces (NICs) are available in Preview. Dynamic NICs let you update an instance to add or remove network interfaces without having to restart or recreate the instance. Published: 2025-06-13
Security Command Center: The following Event Threat Detection detectors for Vertex AI have been released to Preview:
- `Persistence: New Geography for AI Service`
- `Privilege Escalation: Anomalous Multistep Service Account Delegation for AI Admin Activity`
- `Privilege Escalation: Anomalous Multistep Service Account Delegation for AI Data Access`
- `Privilege Escalation: Anomalous Service Account Impersonator for AI Admin Activity`
- `Privilege Escalation: Anomalous Service Account Impersonator for AI Data Access`
- `Privilege Escalation: Anomalous Impersonation of Service Account for AI Admin Activity`
- `Persistence: New AI API Method`
......
......
שימו לב שהסוכן משתמש בכלי שהגדרנו ב-MCP Toolbox למסדי נתונים (search_release_notes_bq), מאחזר את הנתונים ממערך הנתונים של BigQuery ומעצב את התשובה בהתאם.
11. מזל טוב
הגדרתם בהצלחה את MCP Toolbox for Databases והגדרתם מערך נתונים של BigQuery לגישה בתוך לקוחות MCP.