ארגז הכלים של MCP למסדי נתונים: הפיכת מערכי נתונים של BigQuery לזמינים ללקוחות MCP

1. מבוא

בשיעור Codelab הזה תשתמשו ב-MCP Toolbox for Databases כדי להפוך את מערכי הנתונים שלכם ב-BigQuery לזמינים.

במהלך ה-codelab, תשתמשו בגישה שלב אחר שלב באופן הבא:

  1. מזהים מערך נתונים ספציפי של BigQuery (הערות המוצר של Google Cloud) מתוך תוכנית מערכי הנתונים הציבוריים של BigQuery.
  2. מגדירים את MCP Toolbox for Databases, שמתחבר למערך הנתונים ב-BigQuery.
  3. פיתוח סוכן באמצעות הערכה לפיתוח סוכנים (ADK) שישתמש ב-MCP Toolbox כדי לענות על שאילתות של המשתמש לגבי הערות על גרסאות של Google Cloud

מה עושים

  • הגדרת MCP Toolbox for Databases כדי לחשוף הערות על הגרסה של Google Cloud, מערך נתונים ציבורי של BigQuery, כממשק MCP ללקוחות MCP אחרים (סביבות פיתוח משולבות, כלים וכו').

מה תלמדו

  • בודקים את מערכי הנתונים הציבוריים של BigQuery ובוחרים מערך נתונים ספציפי.
  • מגדירים את MCP Toolbox for Databases למערך הנתונים הציבורי של BigQuery שרוצים להפוך לזמין ללקוחות MCP.
  • תכנון ופיתוח של סוכן באמצעות Agent Development Kit (ADK) כדי לענות על שאילתות של משתמשים.
  • בדיקה של הסוכן ושל MCP Toolbox for Databases בסביבה המקומית.

מה תצטרכו

  • דפדפן האינטרנט Chrome.
  • סביבת פיתוח מקומית של Python.

‫2. לפני שמתחילים

יצירת פרויקט

  1. ב-מסוף Google Cloud, בדף לבחירת הפרויקט, בוחרים או יוצרים פרויקט ב-Google Cloud.
  2. הקפידו לוודא שהחיוב מופעל בפרויקט שלכם ב-Cloud. כך בודקים אם החיוב מופעל בפרויקט
  3. תשתמשו ב-Cloud Shell, סביבת שורת פקודה שפועלת ב-Google Cloud ומגיעה עם bq שנטען מראש. לוחצים על 'הפעלת Cloud Shell' בחלק העליון של מסוף Google Cloud.

תמונה של לחצן Activate Cloud Shell

  1. אחרי שמתחברים ל-Cloud Shell, בודקים שכבר בוצע אימות ושהפרויקט מוגדר למזהה הפרויקט שלכם באמצעות הפקודה הבאה:
gcloud auth list
  1. מריצים את הפקודה הבאה ב-Cloud Shell כדי לוודא שפקודת gcloud מכירה את הפרויקט.
gcloud config list project
  1. אם הפרויקט לא מוגדר, משתמשים בפקודה הבאה כדי להגדיר אותו:
gcloud config set project <YOUR_PROJECT_ID>
  1. מפעילים את ממשקי ה-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. צילום מסך של הדף מוצג בהמשך:

b0776edf14594ef4.png

יכול להיות שאתם מנויים לכתובת ה-URL של הפיד, אבל מה אם פשוט תוכלו לשאול בצ'אט עם הסוכן על הערות הגרסה האלה? אפשר להשתמש בשאילתה פשוטה כמו 'תעדכן אותי לגבי הערות על גרסאות של Google Cloud'.

4. ‫MCP Toolbox for Databases

‫MCP Toolbox for Databases הוא שרת MCP בקוד פתוח למסדי נתונים. הוא תוכנן במיוחד לשימוש ברמת הארגון ובאיכות ייצור. הוא מאפשר לכם לפתח כלים בקלות, במהירות ובאופן מאובטח יותר, כי הוא מטפל במורכבויות כמו איגום חיבורים, אימות ועוד.

בעזרת Toolbox תוכלו ליצור כלי AI גנרטיבי שיאפשרו לסוכנים שלכם לגשת לנתונים במסד הנתונים. כלי העריכה מספק:

  • פיתוח פשוט יותר: אפשר לשלב כלים בסוכן בפחות מ-10 שורות קוד, לעשות שימוש חוזר בכלים בין כמה סוכנים או מסגרות, ולפרוס גרסאות חדשות של כלים בקלות רבה יותר.
  • ביצועים טובים יותר: שיטות מומלצות כמו איגום חיבורים, אימות ועוד.
  • אבטחה משופרת: אימות משולב לגישה מאובטחת יותר לנתונים
  • ניראות מקצה לקצה: מדדים ומעקב מוכנים לשימוש עם תמיכה מובנית ב-OpenTelemetry.
  • ‫Toolbox מאפשר לחבר בקלות מסדי נתונים לכל עוזרי ה-AI עם יכולות MCP, גם לאלה שנמצאים בסביבת הפיתוח המשולבת (IDE).

ערכת הכלים נמצאת בין מסגרת התזמור של האפליקציה לבין מסד הנתונים, ומספקת מישור בקרה שמשמש לשינוי, להפצה או להפעלה של כלים. הוא מפשט את ניהול הכלים על ידי מתן מיקום מרכזי לאחסון ולעדכון כלים, ומאפשר לכם לשתף כלים בין סוכנים ואפליקציות ולעדכן את הכלים האלה בלי לפרוס מחדש את האפליקציה.

c23b0d5042e239fb.png

כדי לסכם במילים פשוטות:

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

בפוסט הזה בבלוג נתמקד בתחומים שמודגשים בהמשך:

f1df59a67e5c668e.png

לסיכום, אנחנו ניצור הגדרה ב-MCP Toolbox for Databases שתדע איך להתחבר למערך הנתונים שלנו ב-BigQuery. לאחר מכן נפתח סוכן באמצעות הערכה לפיתוח סוכנים (ADK) שישתלב עם נקודת הקצה של MCP Toolbox ויאפשר לנו לשלוח שאילתות בשפה טבעית כדי לקבל מידע על מערך הנתונים שלנו. אפשר לחשוב על זה כעל אפליקציה מבוססת-סוכן שאתם מפתחים, שיודעת איך לתקשר עם מערך הנתונים שלכם ב-BigQuery ומריצה כמה שאילתות.

5. מערך נתונים של הערות המוצר ב-BigQuery ל-Google Cloud

תוכנית מערכי הנתונים הציבוריים של Google Cloud היא תוכנית שמאפשרת לכם להשתמש במגוון של מערכי נתונים באפליקציות שלכם. אחת הדוגמאות למערכי נתונים כאלה היא מסד הנתונים של הערות הגרסה של Google Cloud. מערך הנתונים הזה מספק את אותו מידע שמופיע בדף האינטרנט הרשמי של הערות על הגרסה של Google Cloud, והוא זמין כמערך נתונים שאפשר להריץ עליו שאילתות באופן ציבורי.

adb5593504dbb71d.png

כדי לבדוק, אני מאמת את מערך הנתונים על ידי הרצת שאילתה פשוטה שמוצגת בהמשך:

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=1.13.1
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/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.

kind: source
name: my-bq-source
type: bigquery
project: YOUR_PROJECT_ID
---
kind: tool
name: search_release_notes_bq
type: bigquery-sql
source: my-bq-source
description: Use this tool to get information on Google Cloud Release Notes.
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;
---
kind: toolset
name: my_bq_toolset
tools:
  - search_release_notes_bq

אנחנו צריכים לקבל ממך הסבר קצר על הקובץ:

  1. מקורות מייצגים את מקורות הנתונים השונים שאיתם כלי יכול ליצור אינטראקציה. מקור מייצג מקור נתונים שכלי יכול ליצור איתו אינטראקציה. אפשר להגדיר את המקורות כמפה בקטע sources בקובץ tools.yaml. בדרך כלל, הגדרת מקור תכיל את כל המידע שנדרש כדי להתחבר למסד הנתונים ולקיים איתו אינטראקציה. בדוגמה שלנו, הגדרנו מקור BigQuery‏ my-bq-source ואתם צריכים לספק את מזהה הפרויקט שלכם ב-Google Cloud. מידע נוסף זמין במאמר בנושא מקורות.
  2. כלים מגדירים פעולות שהסוכן יכול לבצע – כמו קריאה ממקור וכתיבה למקור. כלי מייצג פעולה שהסוכן יכול לבצע, כמו הפעלת הצהרת SQL. אפשר להגדיר את הכלי כמפה בקטע tools בקובץ tools.yaml. בדרך כלל, כלי יצטרך מקור כדי לפעול. במקרה שלנו, אנחנו מגדירים כלי אחד search_release_notes_bq. ההפניה הזו היא למקור BigQuery‏ my-bq-source שהגדרנו בשלב הראשון. הוא כולל גם את ההצהרה וההוראה שישמשו את לקוחות סוכן ה-AI. מידע נוסף זמין במאמר בנושא כלים.
  3. לבסוף, יש לנו את ערכת הכלים, שמאפשרת לכם להגדיר קבוצות של כלים שאתם רוצים לטעון יחד. האפשרות הזו יכולה להיות שימושית להגדרת קבוצות שונות על סמך סוכן או אפליקציה. במקרה שלנו, יש לנו הגדרה של ערכת כלים שבה הגדרנו כרגע רק כלי קיים אחד search_release_notes_bq שהגדרנו. אפשר להשתמש ביותר מארגז כלים אחד, שכולל שילוב של כלים שונים.

לכן, נכון לעכשיו, הגדרנו רק כלי אחד שמקבל את הערות הגרסה של 7 הימים האחרונים בהתאם לשאילתה. אבל אפשר גם ליצור שילובים שונים עם פרמטרים.

אפשר לעיין בפרטי הגדרה נוספים בהגדרת מקור נתונים של BigQuery ב-MCP Toolbox for Databases.

8. בדיקת MCP Toolbox for Databases

הורדנו והגדרנו את ערכת הכלים עם הקובץ tools.yaml בתיקייה mcp-toolbox. קודם נריץ אותו באופן מקומי.

מריצים את הפקודה הבאה:

./toolbox --config "tools.yaml"

אם ההפעלה תצליח, תראו שהשרת מופעל עם פלט לדוגמה שדומה לזה שמופיע בהמשך:

2026-09-26T12:58:14.590825+05:30 INFO "Starting MCP Toolbox for Databases version 1.13.1+binary.darwin.arm64.e14cda6" 
2026-09-26T12:58:14.59319+05:30 INFO "Initialized 1 sources: my-bq-source" 
2026-09-26T12:58:14.593198+05:30 INFO "Initialized 0 authServices: " 
2026-09-26T12:58:14.593201+05:30 INFO "Initialized 0 embeddingModels: " 
2026-09-26T12:58:14.59323+05:30 INFO "Initialized 1 tools: search_release_notes_bq" 
2026-09-26T12:58:14.593235+05:30 INFO "Initialized 0 prompts: " 
2026-09-26T12:58:14.593236+05:30 INFO "Initialized 0 resources: " 
2026-09-26T12:58:14.593238+05:30 INFO "Initialized 0 resource templates: " 
2026-09-26T12:58:14.593244+05:30 INFO "Initialized 2 groups: my_bq_toolset, default" 
2026-09-26T12:58:14.593259+05:30 WARN "wildcard (*) allows any website to access the primitives. This creates a security risk regardless of whether you are in a production or local development environment. Recommended to use --allowed-origins with specific local addresses." 
2026-09-26T12:58:14.593266+05:30 WARN "wildcard (*) hosts allow any domain to access this resource, making it vulnerable to DNS rebinding attacks regardless of whether you are in a production or local development environment. For improved security, use the --allowed-hosts flag to specify trusted domains." 
2026-09-26T12:58:14.593365+05:30 INFO "Server ready to serve!"  

שרת ה-MCP Toolbox פועל כברירת מחדל ביציאה 5000. אם אתם מגלים שהיציאה 5000 כבר נמצאת בשימוש, אתם יכולים להשתמש ביציאה אחרת (למשל 7000) בהתאם לפקודה שמוצגת למטה. במקום היציאה 5000 בפקודות הבאות, צריך להשתמש ב-7000.

./toolbox --config "tools.yaml" --port 7000

נשתמש ב-Cloud Shell כדי לבדוק את זה.

לוחצים על Web Preview (תצוגה מקדימה של אתר) ב-Cloud Shell כמו שמוצג למטה:

b8a52769f092e5d0.png

לוחצים על Change port (שינוי היציאה) ומגדירים את היציאה ל-5000 כמו שמוצג למטה. לוחצים על Change and Preview (שינוי ותצוגה מקדימה).

3ccac41b1f8996c5.png

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

e2a7d3ddaac0c3be.png

בדיקת הכלים באמצעות ממשק המשתמש של MCP Toolbox for Databases

ה-Toolbox מספק ממשק חזותי (ממשק המשתמש של ה-Toolbox) לאינטראקציה ישירה עם כלים באמצעות שינוי פרמטרים, ניהול כותרות והפעלת קריאות, והכול בממשק משתמש פשוט באינטרנט.

כדי לבדוק את זה, אפשר להריץ את הפקודה הקודמת שבה השתמשנו כדי להפעיל את Toolbox Server עם האפשרות --ui.

כדי לעשות את זה, צריך להשבית את המכונה הקודמת של MCP Toolbox for Databases Server שאולי פועלת, ולהריץ את הפקודה הבאה:

./toolbox --tools-file "tools.yaml" --ui

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

Flag --tools-file has been deprecated, please use --config instead
2026-09-26T12:59:21.662102+05:30 INFO "Starting MCP Toolbox for Databases version 1.13.1+binary.darwin.arm64.e14cda6" 
2026-09-26T12:59:21.663076+05:30 INFO "Initialized 1 sources: my-bq-source" 
2026-09-26T12:59:21.663084+05:30 INFO "Initialized 0 authServices: " 
2026-09-26T12:59:21.663087+05:30 INFO "Initialized 0 embeddingModels: " 
2026-09-26T12:59:21.663101+05:30 INFO "Initialized 1 tools: search_release_notes_bq" 
2026-09-26T12:59:21.663104+05:30 INFO "Initialized 0 prompts: " 
2026-09-26T12:59:21.663107+05:30 INFO "Initialized 0 resources: " 
2026-09-26T12:59:21.663109+05:30 INFO "Initialized 0 resource templates: " 
2026-09-26T12:59:21.663116+05:30 INFO "Initialized 2 groups: default, my_bq_toolset" 
2026-09-26T12:59:21.663124+05:30 WARN "wildcard (*) allows any website to access the primitives. This creates a security risk regardless of whether you are in a production or local development environment. Recommended to use --allowed-origins with specific local addresses." 
2026-09-26T12:59:21.663132+05:30 WARN "wildcard (*) hosts allow any domain to access this resource, making it vulnerable to DNS rebinding attacks regardless of whether you are in a production or local development environment. For improved security, use the --allowed-hosts flag to specify trusted domains." 
2026-09-26T12:59:21.663242+05:30 INFO "Server ready to serve!" 
2026-09-26T12:59:21.663249+05:30 INFO "Toolbox UI is up and running at: http://127.0.0.1:5000/ui" 

לוחצים על כתובת ה-URL של ממשק המשתמש ומוודאים שמופיע בסוף /ui. יוצג ממשק משתמש כמו שמוצג בהמשך:

cfad8321357e4322.png

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

a315a6613e9e38ea.png

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

6632c2e2045b7330.png

9. כתיבת הסוכן באמצעות הערכה לפיתוח סוכנים (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:
  --version  Show the version and exit.
  --help     Show this message and exit.
Commands:
  api_server   Starts a FastAPI server for agents.
  conformance  Conformance testing tools for ADK.
  create       Creates a new app in the current folder with prepopulated...
  deploy       Deploys agent to hosted environments.
  eval         Evaluates an agent given the eval sets.
  eval_set     Manage Eval Sets.
  migrate      ADK migration commands.
  optimize     Optimizes the root agent instructions using the GEPA...
  run          Runs an agent.
  telemetry    Manage telemetry settings.
  test         Runs pytest on agent test JSON files under the specified...
  web          Starts a FastAPI server with Web UI for agents.

יצירת אפליקציית הסוכן הראשונה

עכשיו נשתמש ב-adk כדי ליצור פיגום לאפליקציית Google Cloud Release Notes Agent באמצעות הפקודה adk create עם שם האפליקציה **(gcp_releasenotes_agent_app)**כמו בדוגמה שלמטה.

adk create gcp_releasenotes_agent_app

פועלים לפי השלבים ובוחרים באפשרויות הבאות:

  • בוחרים במודל gemini-3.8-flash כדי לבחור מודל לסוכן הבסיס.
  • בוחרים באפשרות Vertex AI עבור ה-backend.
  • יוצג מזהה פרויקט ברירת המחדל של Google. בוחרים באפשרות הזו.
  • יוצג האזור של הפרויקט הנוכחי ב-Google Cloud. מקלידים global.
Choose a model for the root agent:
1. gemini-3.5-flash
2. gemini-3.8-flash
3. Other models (fill later)
Choose model (1, 2, 3): 2

1. Google AI
2. Vertex AI
3. Login with Google
Choose a backend (1, 2, 3): 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_PROJECT_ID]: 
Enter Google Cloud region [us-central1]: global
Agent created in /Users/romin/my-agents/gcp_releasenotes_agent_app:
- .env
- .gitignore
- __init__.py
- agent.py

בודקים את התיקייה שבה נוצרו תבנית ברירת מחדל והקבצים הנדרשים לסוכן.

הקובץ הראשון הוא .env. התוכן של הקובץ מוצג בהמשך:

GOOGLE_GENAI_USE_ENTERPRISE=1
GOOGLE_CLOUD_PROJECT=YOUR_GOOGLE_PROJECT_ID
GOOGLE_CLOUD_LOCATION=YOUR_GOOGLE_PROJECT_REGION

הערכים מציינים שנשתמש ב-Gemini דרך Gemini Enterprise, יחד עם הערכים המתאימים של מזהה הפרויקט ב-Google Cloud והמיקום.

אחר כך יש את הקובץ __init__.py שמסמן את התיקייה כמודול, ויש בו הצהרה אחת שמייבאת את הסוכן מהקובץ agent.py.

from . import agent

לסיום, נבדוק את הקובץ agent.py. התוכן מוצג בהמשך:

from google.adk.agents.llm_agent import Agent
root_agent = Agent(
    model='gemini-3.8-flash',
    name='root_agent',
    description='A helpful assistant for user questions.',
    instruction='Answer user questions to the best of your knowledge',
)

זהו הסוכן הפשוט ביותר שאפשר לכתוב באמצעות ADK. מתוך הדף של תיעוד ה-ADK, סוכן הוא יחידת ביצוע עצמאית שנועדה לפעול באופן אוטונומי כדי להשיג מטרות ספציפיות. סוכנים יכולים לבצע משימות, ליצור אינטראקציה עם משתמשים, להשתמש בכלים חיצוניים ולתאם עם סוכנים אחרים.

במילים אחרות, LLMAgent, שנקרא בדרך כלל Agent, משתמש במודלים גדולים של שפה (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-3.8-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 --config "tools.yaml"

הפלט שצריך להופיע הוא שהשרת הצליח להתחבר למקורות הנתונים שלנו וטען את ערכת הכלים והכלים.

אחרי ששרת ה-MCP מופעל בהצלחה, מפעילים את הסוכן במסוף אחר באמצעות הפקודה adk run (מתיקיית my-agents) שמוצגת בהמשך. אפשר גם להשתמש בפקודה adk web.

$ adk run gcp_releasenotes_agent_app/
Running agent gcp_releasenotes_agent, type exit to exit.
[user]: Hello
[gcp_releasenotes_agent]: Hello! I am your Google Cloud Release Notes assistant. How can I help you today? Feel free to ask about recent updates, feature releases, deprecations, or announcements across Google Cloud products.
[user]: get me the google cloud release notes
[gcp_releasenotes_agent]: Here are the latest highlights from the Google Cloud Release Notes:
---

### **AI & Machine Learning**
* **Gemini Enterprise**: 
  * **Gemini 3.8 Flash** is now Generally Available (GA) and enabled by default in `global`, `us`, and `eu` regions.
* **Gemini Enterprise Agent Platform**: 
  * **Gemini 3.8 Live** is now GA, bringing improved voice quality, model reliability, and agent orchestration.
  * **Meta's Muse Spark 1.3** is in Preview (reasoning model with tool calling, MCP support, and 1M context window).
* **CX Agent Studio**: 
  * **Agent as a tool** is now GA.
  * Added **Composite models** for enterprise voice agents.
  * Introduced **Supervisor agents** to monitor active agent performance.
  * Added **Agent-to-agent (A2A) protocol tools** and integrations for WhatsApp, Instagram, and SecureCo.
* **Model Armor**: Prompt injection, jailbreak detection, and Responsible AI filters are now supported in Melbourne (`australia-southeast2`).
---

### **Compute & Infrastructure**
* **Compute Engine**: Standard snapshots deleted accidentally or maliciously are now retained in the **Recycle Bin for 3 days** before permanent erasure (Preview).
* **Confidential VM**: Support for **Intel TDX on `c4-standard-*`** machine types is now GA.
* **SAP on Google Cloud**: Certified the **X5 series** of memory-optimized bare metal machine types (Intel Granite Rapids CPU platform) for SAP HANA and SAP NetWeaver.
* **Cloud Workstations**: Cloud Workstations is now a covered product under the Google Cloud HIPAA BAA.
---

### **Containers & Networking**
* **Google Kubernetes Engine (GKE)**: **GKE ambient networking** is now in Preview (allowlist), providing a sidecarless, Layer 4 service mesh using Gateway API on GKE Dataplane V2.
* **Cloud Service Mesh**: Maintenance and security patch releases available for in-cluster versions `1.30.4-asm.14`, `1.29.7-asm.18`, and `1.28.10-asm.40`.
---

### **Data Analytics & Databases**
* **BigQuery**: In BigQuery Studio, the query editor results table now freezes row numbers on the left during horizontal scrolling (GA).
* **Memorystore for Valkey**: Valkey version 9.1 is now GA.
* **Looker**: Deployment of version 26.16; includes a long-polling concurrency guard, tile-level filter controls (Preview), and an OAuth authorization warning dialog.
* **Data Studio / Looker Studio**: 
  * Added private IP connectivity for Cloud SQL PostgreSQL databases.
..
..
..

שימו לב שהסוכן משתמש בכלי שהגדרנו ב-MCP Toolbox for Databases ‏ (search_release_notes_bq), מאחזר את הנתונים ממערך הנתונים של BigQuery ומעצב את התשובה בהתאם.

11. מזל טוב

הגדרתם בהצלחה את MCP Toolbox for Databases והגדרתם מערך נתונים של BigQuery לגישה בתוך לקוחות MCP.

מסמכי עזר