ארגז הכלים של 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.

תמונה של לחצן ההפעלה של 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. צילום מסך של הדף מוצג בהמשך:

e177d58f7a866838.png

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

4. ‫MCP Toolbox for Databases

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

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

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

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

12c16960e74b57f9.png

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

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

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

7527a2a4bff20adc.png

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

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

Google Cloud Public Dataset Program הוא תוכנית שמאפשרת לכם להשתמש במגוון של מערכי נתונים באפליקציות שלכם. דוגמה למערך נתונים כזה היא מסד הנתונים של הערות על הגרסה של 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.1.0
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: gcp-experiments-349209
---
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 datasource configuration (הגדרת מקור נתונים של BigQuery) ב-MCP Toolbox for Databases.

8. בדיקת MCP Toolbox for Databases

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

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

./toolbox --config "tools.yaml"

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

2026-04-29T10:26:15.435384+05:30 INFO "Initialized 1 sources: my-bq-source" 
2026-04-29T10:26:15.435424+05:30 INFO "Initialized 0 authServices: " 
2026-04-29T10:26:15.435428+05:30 INFO "Initialized 0 embeddingModels: " 
2026-04-29T10:26:15.435446+05:30 INFO "Initialized 1 tools: search_release_notes_bq" 
2026-04-29T10:26:15.435456+05:30 INFO "Initialized 2 toolsets: my_bq_toolset, default" 
2026-04-29T10:26:15.435461+05:30 INFO "Initialized 0 prompts: " 
2026-04-29T10:26:15.435467+05:30 INFO "Initialized 1 promptsets: default" 
2026-04-29T10:26:15.435487+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" 
2026-04-29T10:26:15.435508+05:30 WARN "wildcard (`*`) allows all hosts 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-hosts` flag to prevent DNS rebinding attacks" 
2026-04-29T10:26:15.435728+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

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

3ccac41b1f8996c5.png

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

e2a7d3ddaac0c3be.png

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

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

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

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

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

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

2026-04-29T10:29:44.750446+05:30 INFO "Initialized 1 sources: my-bq-source" 
2026-04-29T10:29:44.750463+05:30 INFO "Initialized 0 authServices: " 
2026-04-29T10:29:44.750467+05:30 INFO "Initialized 0 embeddingModels: " 
2026-04-29T10:29:44.750474+05:30 INFO "Initialized 1 tools: search_release_notes_bq" 
2026-04-29T10:29:44.750482+05:30 INFO "Initialized 2 toolsets: my_bq_toolset, default" 
2026-04-29T10:29:44.750487+05:30 INFO "Initialized 0 prompts: " 
2026-04-29T10:29:44.750493+05:30 INFO "Initialized 1 promptsets: default" 
2026-04-29T10:29:44.7505+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" 
2026-04-29T10:29:44.750512+05:30 WARN "wildcard (`*`) allows all hosts 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-hosts` flag to prevent DNS rebinding attacks" 
2026-04-29T10:29:44.750601+05:30 INFO "Server ready to serve!" 
2026-04-29T10:29:44.750605+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) ומוצג דף שבו אפשר לבדוק את הכלי. מכיוון שאין פרמטרים שצריך לספק, אפשר פשוט ללחוץ על הפעלת הכלי כדי לראות את התוצאה. דוגמה להרצה:

de883f9d92de6537.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:
  --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 כדי ליצור פיגום לאפליקציית Google Cloud Release Notes 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, שנקרא בדרך כלל Agent, משתמש במודלים גדולים של שפה (LLM) כמנוע הליבה שלו כדי להבין שפה טבעית, להסיק מסקנות, לתכנן, ליצור תשובות ולהחליט באופן דינמי איך להמשיך או באילו כלים להשתמש. לכן הוא אידיאלי למשימות גמישות שמתמקדות בשפה. מידע נוסף על סוכני LLM

סיימנו את תהליך היצירה של סוכן בסיסי באמצעות הערכה לפיתוח סוכנים (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 --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'm here to help you with Google Cloud Release Notes. What would you like to know today?
[user]: get me the google cloud release notes
[gcp_releasenotes_agent]: Here are the Google Cloud Release Notes:
*   **Cloud Asset Inventory** (Published: 2026-04-28)
    The following resource types are publicly available through the ExportAssets, ListAssets, BatchGetAssetsHistory, QueryAssets, Feed, SearchAllResources, and SearchAllIamPolicies APIs.
    *   App Lifecycle Manager
        *   `saasservicemgmt.googleapis.com/Saas`
        *   `saasservicemgmt.googleapis.com/Tenant`
        *   `saasservicemgmt.googleapis.com/UnitKind`
        *   `saasservicemgmt.googleapis.com/Unit`
        *   `saasservicemgmt.googleapis.com/Release`
    *   Backup and DR
        *   `backupdr.googleapis.com/BackupPlanRevision`
    *   Parallelstore
        *   `parallelstore.googleapis.com/Instance`
    *   Vertex AI
        *   `aiplatform.googleapis.com/DeploymentResourcePool`
*   **Google Cloud Contact Center as a Service** (Published: 2026-04-27)
    **Call scheduling improvements**
    We've made the following improvements to call scheduling for web SDK v3 and the headless web SDK:
    *   **Configurable time slots**. You can configure the length of call-scheduling time slots.
    *   **Day-based time slot selection**. End-users can browse available time slots organized by day.
    *   **Rescheduling**. If an end-user reopens the web SDK and has an existing scheduled call, they're prompted to manage that appointment (reschedule or cancel) before starting a new flow.
    *   **Cancellation**. End-users can cancel a previously scheduled call.
    *   **Queue-level configuration**. You can configure call scheduling at the queue level.
    **Note:** Headless web SDK users must specify `useAdvancedCallScheduling: true` with calls to the `getTimeSlots` method to access these call scheduling improvements.
    Administrators:
    *   There's a new **Scheduled Calls** pane on the **Settings > Calls** page.
    *   There's a new **Scheduled Calls** section in the **Settings > Queue > Web > SELECT_QUEUE** pane.
    *   We moved **Scheduled Call Countdown** and **Scheduled Call Expiration** from **Settings > Calls > Call Details** to **Settings > Calls > Scheduled Calls**.
    *   We've added the following settings to the **Settings > Calls > Scheduled Calls** pane:
        *   **Consumers can schedule calls up to SELECT_INTEGER day(s) in the future**
        *   **Static > Maximum calls per time slot**
    User experience changes:
    *   For **Scheduled Calls**, if you select **Consumers can schedule calls up to SELECT_INTEGER day(s) in the future**, a new **Select a day** screen appears to end-users who reschedule a call.
*   **Compute Engine** (Published: 2026-04-27)
    **Generally available**: Compute Engine now offers support for AI zones. To learn more, see AI zones.
*   **Cloud Storage** (Published: 2026-04-27)
    Cloud Storage now offers support for AI zones. To learn more, see AI zones.
*   **Apigee hybrid** (Published: 2026-04-27)
    **Sidecar authentication for Workload Identity Federation on non-GKE platforms**
    Starting in version v1.14.4, you can now use a sidecar along with Workload Identity Federation on non-GKE platforms to mount security tokens from your preferred identity provider (IDP) for service account authentication. See Use sidecar authentication for Workload Identity Federation on non-GKE platforms.
*   **Cloud Workstations** (Published: 2026-04-27)
    The preconfigured base images include a notification when the `running_timeout` for the workstation is close to being reached.
*   **Cloud Trace** (Published: 2026-04-27)
    Cloud Trace is a service covered by the Cloud Obse

......
......

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

11. מזל טוב

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

מאמרי עזרה