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

1. מבוא

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

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

  1. מזהים מערך נתונים ספציפי של BigQuery (טיפים ממשתמשים של Google Cloud) מתוך תוכנית מערכי הנתונים הציבוריים של BigQuery.
  2. מגדירים את MCP Toolbox for Databases, שמתחבר למערך הנתונים ב-BigQuery.
  3. פיתוח סוכן באמצעות 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) כדי לענות על שאילתות של משתמשים.
  • בודקים את ארגז הכלים של Agent ו-MCP למסדי נתונים בסביבה המקומית.

מה תצטרכו

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

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

יצירת פרויקט

  1. ב-Google Cloud Console, בדף לבחירת הפרויקט, בוחרים או יוצרים פרויקט ב-Google Cloud.
  2. הקפידו לוודא שהחיוב מופעל בפרויקט שלכם ב-Cloud. כך בודקים אם החיוב מופעל בפרויקט
  1. תשתמשו ב-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>

אפשר לעיין במאמרי העזרה בנושא פקודות gcloud ושימוש בהן.

3. מערך נתונים של טיפים ממשתמשים ולקוחות MCP

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

9340358960d172b2.png

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

4. ערכת הכלים של MCP למסדי נתונים

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

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

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

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

12c16960e74b57f9.png

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

  1. ערכת הכלים של MCP זמינה כקובץ בינארי, כקובץ אימג' של קונטיינר או שאפשר ליצור אותה מקוד המקור.
  2. הוא חושף קבוצה של כלים שאתם מגדירים באמצעות קובץ tools.yaml. אפשר לחשוב על הכלים האלה כחיבור למקורות הנתונים שלכם. אפשר לראות את מקורות הנתונים השונים שהוא תומך בהם : AlloyDB,‏ BigQuery וכו'.
  3. ערכת הכלים הזו תומכת עכשיו ב-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=0.22.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox

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

7. הגדרת ערכת הכלים של MCP למסדי נתונים

עכשיו צריך להגדיר את מערך הנתונים והכלים של 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

כדי שנוכל להבין את הקובץ, נבקש ממך לספר לנו עליו בקצרה:

  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 למסדי נתונים

הורדנו והגדרנו את ערכת הכלים עם הקובץ 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 כמו שמוצג למטה:

b8a52769f092e5d0.png

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

3ccac41b1f8996c5.png

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

e2a7d3ddaac0c3be.png

בכתובת ה-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 Server עם האפשרות --ui.

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

./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 בסוף כתובת ה-URL. יוצג ממשק משתמש כמו שמוצג בהמשך:

cfad8321357e4322.png

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

a315a6613e9e38ea.png

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

726543eea642bb5a.png

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

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 לבחירת מודל לסוכן הרמה הבסיסית (root).
  • בוחרים ב-Vertex AI עבור ה-בק-אנד.
  • יוצגו מזהה הפרויקט ב-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 page, סוכן הוא יחידת הרצה עצמאית שנועדה לפעול באופן אוטונומי כדי להשיג מטרות ספציפיות. סוכנים יכולים לבצע משימות, ליצור אינטראקציה עם משתמשים, להשתמש בכלים חיצוניים ולתאם עם סוכנים אחרים.

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

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

10. חיבור הסוכן שלנו לכלים

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

במקרה שלנו, נצייד את הסוכן בכלים שהגדרנו בארגז הכלים של MCP למסדי נתונים.

משנים את הקובץ 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.0-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 למסדי נתונים (search_release_notes_bq), מאחזר את הנתונים ממערך הנתונים של BigQuery ומעצב את התשובה בהתאם.

11. מזל טוב

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

מאמרי עזרה