1. מבוא
בקודלאב הזה נשתמש ב-MCP Toolbox for Databases כדי להפוך את מערכי הנתונים ב-BigQuery לזמינים.
במהלך הקודלאב, נשתמש בגישה הדרגתית לפי השלבים הבאים:
- מאתרים מערך נתונים ספציפי ב-BigQuery ('הערות המוצר של Google Cloud') מהתוכנית הציבורית של מערכי הנתונים ב-BigQuery.
- מגדירים את MCP Toolbox for Databases שמתחבר למערך הנתונים ב-BigQuery.
- בודקים לקוחות MCP שונים ומאמתים שהם יכולים לגשת לממשק ה-MCP של מערך הנתונים ב-BigQuery.
מה עליכם לעשות
- הגדרת MCP Toolbox למסדי נתונים כדי לחשוף את הערות המוצר של Google Cloud, מערך נתונים ציבורי ב-BigQuery, כממשק MCP ללקוחות MCP אחרים (סביבות פיתוח משולבות, כלים וכו').
מה תלמדו
- בודקים את מערכי הנתונים הציבוריים של BigQuery ובוחרים מערך נתונים ספציפי.
- מגדירים את MCP Toolbox for Databases למערך הנתונים הציבורי ב-BigQuery שרוצים להפוך לזמין ללקוחות MCP.
- בודקים את ההגדרות של MCP Toolbox למסדי נתונים בסביבה המקומית.
מה צריך להכין
- דפדפן האינטרנט Chrome.
- סביבת פיתוח מקומית של Python.
- סביבה מקומית של Node.js עם npm בגרסה 5.2.0 ואילך.
2. לפני שמתחילים
יצירת פרויקט
- בדף לבחירת הפרויקט במסוף Google Cloud, בוחרים פרויקט קיים או יוצרים פרויקט חדש ב-Google Cloud.
- הקפידו לוודא שהחיוב מופעל בפרויקט שלכם ב-Cloud. כך בודקים אם החיוב מופעל בפרויקט
- נשתמש ב-Cloud Shell, סביבת שורת פקודה שפועלת ב-Google Cloud ומגיעה עם bq טעון מראש. לוחצים על Activate Cloud Shell בחלק העליון של מסוף Google Cloud.
- אחרי שמתחברים ל-Cloud Shell, בודקים שכבר בוצע אימות ושהמזהה של הפרויקט מוגדר כפרויקט באמצעות הפקודה הבאה:
gcloud auth list
- מריצים את הפקודה הבאה ב-Cloud Shell כדי לוודא שהפקודה gcloud מכירה את הפרויקט.
gcloud config list project
- אם הפרויקט לא מוגדר, משתמשים בפקודה הבאה כדי להגדיר אותו:
gcloud config set project <YOUR_PROJECT_ID>
במסמכי העזרה מפורטות הפקודות של gcloud והשימוש בהן.
3. מערך הנתונים של הערות המוצר של Google ולקוחות MCP
קודם נבחן את הערות המוצר של Google Cloud, שמתעדכנות באופן קבוע בדף האינטרנט הרשמי של הערות המוצר של Google Cloud. צילום המסך של הדף מופיע בהמשך:
אפשר להירשם לכתובת ה-URL של הפיד, אבל מה אם נוכל פשוט לשאול את הנציג בצ'אט שלנו לגבי הערות המוצר האלה? אולי שאילתת חיפוש פשוטה כמו "עדכון על הערות המוצר של Google Cloud".
זהו צילום מסך של Visual Studio Code שבו פועל CoPilot ואני נמצא במצב Agent, ואני שואל על הערות המוצר של Google Cloud:
עכשיו נלמד איך ליצור את הפתרון הזה, ובדרך נלמד איך לחשוף את מערכי הנתונים של BigQuery בלקוחות MCP שונים לבחירתכם.
4. Toolbox של MCP למסדי נתונים
MCP Toolbox for Databases הוא שרת MCP בקוד פתוח למסדי נתונים. הוא תוכנן תוך התמקדות ברמת הארגון ובאיכות ייצור. הוא מאפשר לפתח כלים בקלות, במהירות ובאופן מאובטח יותר, על ידי טיפול בבעיות מורכבות כמו מאגר חיבורים, אימות ועוד.
Toolbox עוזר לכם ליצור כלים של AI גנרטיבי שמאפשרים לנציגי התמיכה לגשת לנתונים במסד הנתונים שלכם. ארגז הכלים מספק:
- פיתוח פשוט יותר: שילוב כלים בסוכנות בפחות מ-10 שורות קוד, שימוש חוזר בכלים בין כמה סוכני או מסגרות ופיתוח גרסאות חדשות של כלים בקלות רבה יותר.
- ביצועים משופרים: שיטות מומלצות כמו מאגר חיבורים, אימות ועוד.
- אבטחה משופרת: אימות משולב לגישה מאובטחת יותר לנתונים
- ניראות מקצה לקצה: מדדים ומעקב אחרי נתונים מובנים עם תמיכה מובנית ב-OpenTelemetry.
- בעזרת Toolbox תוכלו לחבר בקלות מסדי נתונים לכל עוזרי AI שתומכים ב-MCP, גם אלה שנמצאים בסביבת הפיתוח המשולבת (IDE).
Toolbox נמצא בין מסגרת התזמור של האפליקציה לבין מסד הנתונים, ומספק מישור בקרה שמשמש לשינוי, להפצה או להפעלה של כלים. הכלי הזה מפשט את ניהול הכלים על ידי מתן מיקום מרכזי לאחסון ולעדכון של כלים, ומאפשר לכם לשתף כלים בין סוכנים ואפליקציות ולעדכן את הכלים האלה בלי שתצטרכו לפרוס מחדש את האפליקציה.
לסיכום, בקצרה:
- MCP Toolbox זמין כקובץ אימג' בקונטיינר או כקובץ אימג' בינארי, או שאפשר ליצור אותו מקוד מקור.
- הוא חושף קבוצה של כלים שמגדירים באמצעות קובץ tools.yaml. אפשר לחשוב על הכלים כמקשרים למקורות הנתונים שלכם. אפשר לראות את מקורות הנתונים השונים שבהם יש תמיכה : AlloyDB, BigQuery וכו'.
- מכיוון שערכת הכלים הזו תומכת עכשיו ב-MCP, יש לכם באופן אוטומטי נקודת קצה של שרת MCP שאפשר להשתמש בה לאחר מכן בסוכנים (IDEs), או שאפשר להשתמש בהם במהלך הפיתוח של אפליקציות הסוכנים באמצעות מסגרות שונות כמו Agent Development Kit (ADK).
במאמר הזה נתמקד בתחומים הבאים:
לסיכום, אנחנו הולכים ליצור הגדרה ב-MCP Toolbox for Databases שתדע להתחבר למערך הנתונים שלנו ב-BigQuery. לאחר מכן נשתמש בסביבת פיתוח משולבת (IDE) או בכל סביבת פיתוח משולבת אחרת של סוכן (ללקוחות MCP), שתתקשר לנקודת הקצה של MCP Toolbox ותאפשר לנו לשלוח שאילתות טבעיות כדי לשאול על מערך הנתונים שלנו. אפשר לחשוב עליו ככלי שאתם מגדירים, שיודע איך לדבר עם מערך הנתונים שלכם ב-BigQuery ומריץ כמה שאילתות.
5. מערך נתונים ב-BigQuery של הערות המוצר של Google Cloud
תוכנית מערכי הנתונים הציבוריים של Google Cloud היא תוכנית שמספקת מגוון של מערכי נתונים לאפליקציות שלכם. מערך נתונים כזה הוא מסד הנתונים של הערות המוצר של 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 למסדי נתונים
פותחים טרמינל במחשב המקומי ויוצרים תיקייה בשם mcp-toolbox
.
mkdir mcp-toolbox
עוברים לתיקייה mcp-toolbox
באמצעות הפקודה הבאה:
cd mcp-toolbox
מתקינים את הגרסה הבינארית של MCP Toolbox for Databases באמצעות הסקריפט שמופיע בהמשך. הפקודה הבאה מיועדת ל-Linux, אבל אם אתם משתמשים ב-Mac או ב-Windows, חשוב לוודא שאתם מורידים את הקובץ הבינארי הנכון. בודקים את דף הגרסאות של מערכת ההפעלה והארכיטקטורה ומורידים את הקובץ הבינארי הנכון.
export VERSION=0.6.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
עכשיו יש לנו את הגרסה הבינארית של ערכת הכלים, ומוכנה לשימוש. בשלב הבא מגדירים את ערכת הכלים עם מקורות הנתונים שלנו והגדרות אחרות.
7. הגדרת Toolbox של 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
נסביר בקצרה מהו הקובץ:
- מקורות מייצגים את מקורות הנתונים השונים שכלי יכול לקיים איתם אינטראקציה. מקור מייצג מקור נתונים שכלי יכול ליצור איתו אינטראקציה. אפשר להגדיר את המקורות כמפה בקטע 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" --port 7000
שרת MCP Toolbox פועל כברירת מחדל ביציאה 5000, אבל במקרה הזה ציננו שהוא יפעל ביציאה 7000.
אם הפעולה בוצעה בהצלחה, אמורה להופיע הפעלה של שרת עם פלט לדוגמה שדומה לזה שבהמשך:
2025-04-25T16:05:45.603871+05:30 INFO "Initialized 1 sources."
2025-04-25T16:05:45.603943+05:30 INFO "Initialized 0 authServices."
2025-04-25T16:05:45.604092+05:30 INFO "Initialized 1 tools."
2025-04-25T16:05:45.604105+05:30 INFO "Initialized 2 toolsets."
2025-04-25T16:05:45.604706+05:30 INFO "Server ready to serve!"
פשוט מפעילים את הדפדפן ונכנסים לכתובת ה-URL הבאה:
http://127.0.0.1:7000
הפלט אמור להיות:
בכתובת ה-URL בדפדפן, מוסיפים את הטקסט הבא בסוף כתובת ה-URL:
http://127.0.0.1:7000/api/toolset
הפעולה הזו אמורה להציג את הכלים שמוגדרים כרגע. דוגמה לפלט:
שרת ה-MCP, בהתאם למסמכים, זמין עכשיו בכתובת ה-URL הבאה:
http://127.0.0.1:7000/mcp/sse
הפלט מוצג בהמשך:
event: endpoint
data: https://<some-url-pattern>/mcp?sessionId=bf6bfb66-36fe-48a4-8340-ac68008ee873
בקטע הבא נבדוק את שרת ה-MCP שלנו עם לקוחות MCP.
9. בדיקת שרת ה-MCP עם לקוחות MCP שונים
נבדוק את שרת ה-MCP החדש שלנו עם כמה לקוחות MCP.
MCP Inspector עם Toolbox
הכלי הראשון שבו צריך להשתמש הוא MCP Inspector with Toolbox. כדי לעשות זאת, צריך להתקין את npx
. תופיע בקשה ב-Cloud Shell להתקנת החבילה. אפשר להתקין אותו.
צריך להריץ את הפקודה הבאה:
npx @modelcontextprotocol/inspector
הפקודה הזו תפעיל את השרת, והפלט אמור להיראות כך:
Starting MCP inspector...
⚙️ Proxy server listening on port 6277
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀
נכנסים לדף MCP Inspector כפי שצוין, והדבר הראשון שצריך לעשות הוא להגדיר את הלקוח הזה כך שידבר עם שרת ה-MCP.
בוחרים את סוג התחבורה כ-SSE
ומזינים את URL
כפי שציינו קודם, כלומר http://127.0.0.1:7000/mcp/sse
. לוחצים על Connect
. אם הכל יתבצע כמו שצריך, הסטטוס יופיע כמחובר, כפי שמוצג בהמשך:
בצד שמאל, לוחצים על List Tools
כדי להציג את רשימת הכלים.
לאחר מכן לוחצים על הכלי search_release_notes_bq
. מכיוון שאין לנו פרמטרים להעביר, פשוט לוחצים על הלחצן Run tool
. אמורה להופיע קריאה ל-Toolbox, שמתחבר למקור הנתונים של BigQuery ומאחזר את הנתונים, כפי שמוצג בהמשך:
VS Code במצב Agent עם CoPilot
במסמכי התיעוד הרשמי מוסבר איך להתחבר ל-Toolbox למקורות נתונים שונים ולסביבות פיתוח משולבות (IDE) שונות. אפשר למצוא את המסמכים כאן.
בקטע הזה נסביר איך להגדיר שרתים של MCP ולהשתמש בהם ב-VS Code. לתשומת ליבכם: התכונה זמינה בגרסת Preview, והמסמכי העזרה הרשמיים מפורטים ומופיעים כאן.
נניח שפתיתם את VS Code, פותחים את Command Palette
ומזינים את הפקודה הבאה:
לאחר מכן בוחרים באפשרות HTTP sse
כי יש לנו את כתובת ה-URL של SSE.
תתבקשו לספק את SSE endpoint
, ואנחנו נספק את אותו ערך:
לאחר מכן, תתבצע בדיקה של כמה פרטים נוספים. בחרתי להוסיף אותו להגדרות המשתמש שלי, כך שייפתח הקובץ settings.json
שבו אפשר לראות את ההגדרה:
פשוט לוחצים על Start
שמופיע למעלה, או על הפקודה Palette (לוח צבעים).
אפשר לראות שהסטטוס משתנה ל-Running
.
עכשיו אפשר להפעיל את מצב הצ'אט של CoPilot, ואז במצב Agent
, להקיש על #search_release_notes_bq
כדי לציין שאנחנו רוצים להשתמש בכלי הזה, ואז להקליד טקסט של שאילתה לדוגמה, כפי שמוצג בהמשך:
10. מזל טוב
סיימת להגדיר את Toolbox של MCP למסדי נתונים והגדרת מערך נתונים ב-BigQuery לצורך גישה בלקוחות MCP.