שימוש בשרת MCP של BigQuery
במאמר הזה נסביר איך להשתמש בשרת Model Context Protocol (MCP) מרוחק של BigQuery כדי להתחבר לאפליקציות AI, כולל Gemini CLI, ChatGPT, Claude ואפליקציות מותאמות אישית שאתם מפתחים. אפשר להשתמש בשרת MCP מרוחק של BigQuery כדי לבצע משימות כמו הפעלת שאילתות, קבלת מטא-נתונים ורישום משאבים. שרת ה-MCP המרוחק של BigQuery מופעל כשמפעילים את BigQuery API.Model Context Protocol (MCP) הוא תקן שקובע איך מודלים גדולים של שפה (LLM) ואפליקציות או סוכני AI מתחברים למקורות נתונים חיצוניים. שרתי MCP מאפשרים להשתמש בכלים, במשאבים ובהנחיות שלהם כדי לבצע פעולות ולקבל נתונים מעודכנים משירות הקצה העורפי שלהם.
מה ההבדל בין שרתי MCP מקומיים לבין שרתי MCP מרחוק?
- שרתי MCP מקומיים
- בדרך כלל מריצים אותם במחשב המקומי ומשתמשים בזרמי הקלט והפלט הרגילים (stdio) לתקשורת בין שירותים באותו מכשיר.
- שרתי MCP מרוחקים
- פועל בתשתית של השירות ומציע נקודת קצה של HTTP לאפליקציות AI לצורך תקשורת בין לקוח ה-MCP של ה-AI לבין שרת ה-MCP. מידע נוסף על ארכיטקטורת MCP זמין במאמר ארכיטקטורת MCP.
יכול להיות שתשתמשו בשרת MCP מקומי של BigQuery מהסיבות הבאות:
- צריך ליצור כלי מותאם אישית על בסיס שאילתת SQL עם פרמטרים.
- אין לך הרשאות להפעיל את שרת ה-MCP או להשתמש בו בפרויקט שלך.
כדי לאפשר לסוכנים גישה ליכולות מתקדמות של BigQuery כמו תזמון, ניהול הרשאות וניהול הזמנות, צריך להשתמש בכלי run_bq_command שזמין בשרת Cloud CLI MCP. מידע נוסף זמין במאמר בנושא שימוש בשרת MCP מרוחק של Cloud CLI.
מידע נוסף על השימוש בשרת MCP מקומי זמין במאמר חיבור מודלים של שפה גדולה ל-BigQuery באמצעות MCP. הקטעים הבאים רלוונטיים רק לשרת MCP מרוחק של BigQuery.
Google ושרתי MCP מרוחקים Google Cloud
לשרתי MCP של Google Google Cloud ושרתי MCP מרוחקים יש את התכונות והיתרונות הבאים:- גילוי פשוט ומרכזי
- נקודות קצה (endpoints) מנוהלות של HTTP ברמה הגלובלית או האזורית
- הרשאות פרטניות
- אבטחת הנחיות ותשובות אופציונלית באמצעות הגנה מוגברת על המודל
- רישום מרכזי ביומן הביקורת
מידע על שרתי MCP אחרים ועל אמצעי אבטחה ובקרה שזמינים לשרתי Google Cloud MCP מופיע במאמר סקירה כללית על שרתי Google Cloud MCP.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
מפעילים את BigQuery API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin). כך מקצים תפקידים.בפרויקטים חדשים, BigQuery API מופעל באופן אוטומטי.
- אופציונלי: מפעילים את החיוב בפרויקט. גם אם לא רוצים להפעיל את החיוב או לספק פרטי כרטיס אשראי, אפשר לפעול לפי השלבים שמתוארים במאמר הזה. BigQuery מספק לכם ארגז חול לביצוע השלבים. מידע נוסף זמין במאמר בנושא הפעלת ארגז החול של BigQuery.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לשימוש בשרת BigQuery MCP, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט שבו רוצים להשתמש בשרת BigQuery MCP:
-
ביצוע קריאות לכלי MCP:
משתמש בכלי MCP (
roles/mcp.toolUser) -
הפעלת משימות BigQuery:
BigQuery Job User (
roles/bigquery.jobUser) -
הפעלת שאילתות על נתונים ב-BigQuery:
BigQuery Data Viewer (
roles/bigquery.dataViewer)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות לשימוש בשרת BigQuery MCP. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להשתמש בשרת BigQuery MCP, נדרשות ההרשאות הבאות:
-
ביצוע קריאות לכלי MCP:
mcp.tools.call -
הפעלת משימות BigQuery:
bigquery.jobs.create -
הפעלת שאילתות על נתונים ב-BigQuery:
bigquery.tables.getData
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יכול להיות שיידרשו הרשאות נוספות ב-BigQuery, בהתאם למשימה. מידע על הרשאות ב-BigQuery זמין במאמר תפקידים והרשאות של IAM ב-BigQuery.
אימות והרשאה
שרתי BigQuery MCP משתמשים בפרוטוקול OAuth 2.0 עם IAM לאימות ולהרשאה. כל Google Cloud הזהויות נתמכות לצורך אימות לשרתי MCP.
אנחנו ממליצים ליצור זהות נפרדת לסוכנים שמשתמשים בכלים של MCP, כדי שתוכלו לשלוט בגישה למשאבים ולעקוב אחריה. מידע נוסף על אימות זמין במאמר בנושא אימות לשרתי MCP.
היקפי ההרשאות של OAuth ב-BigQuery MCP
ב-OAuth 2.0 משתמשים בהיקפי הרשאות ובפרטי כניסה כדי לקבוע אם לגורם מאומת יש הרשאה לבצע פעולה ספציפית במשאב. מידע נוסף על היקפי ההרשאות של OAuth 2.0 ב-Google זמין במאמר שימוש ב-OAuth 2.0 לגישה ל-Google APIs.
ל-BigQuery יש את היקפי הגישה הבאים של OAuth בכלי MCP:
| URI של היקף ל-CLI של gcloud | תיאור |
|---|---|
https://www.googleapis.com/auth/bigquery |
הצגה וניהול של הנתונים שלכם ב-BigQuery והצגת כתובת האימייל של חשבון Google שלכם. |
יכול להיות שיידרשו היקפי הרשאות נוספים במשאבים שאליהם ניגשים במהלך הפעלת כלי. כדי לראות רשימה של היקפי ההרשאות שנדרשים ל-BigQuery, אפשר לעיין במאמר בנושא היקפי הרשאות OAuth 2.0 ל-BigQuery API v2.
הגדרת לקוח MCP לשימוש בשרת BigQuery MCP
אפליקציות וסוכנים מבוססי-AI, כמו Claude או Antigravity, יכולים ליצור מופע של לקוח MCP שמתחבר לשרת MCP יחיד. לאפליקציית AI יכולים להיות כמה לקוחות שמתחברים לשרתי MCP שונים. אם האפליקציה שלכם לא מופיעה בהנחיות הספציפיות ללקוח, תוכלו להשתמש במידע הבא כדי להתחבר מרוב האפליקציות.
באפליקציית ה-AI, מחפשים דרך להוסיף או להתחבר לשרת MCP מרוחק. בשרת MCP של BigQuery, מזינים את הפרטים הבאים לפי הצורך:
- שם השרת: BigQuery שרת MCP
- כתובת URL של השרת או נקודת קצה: https://bigquery.googleapis.com/mcp
- Transport: HTTP
פרטי אימות: Google Cloud פרטי הכניסה שלכם, מזהה הלקוח והסוד שלכם ב-OAuth, או זהות ופרטי כניסה של סוכן
פרטי האימות שבוחרים תלויים בשיטת האימות שרוצים להשתמש בה. מידע נוסף זמין במאמר בנושא אימות לשרתי MCP.
URI של הפניה אוטומטית
באפליקציות מבוססות-אינטרנט ובחלק מהאפליקציות למחשב, צריך להוסיף לרשימת ההיתרים URI להפניה אוטומטית כשיוצרים מזהה לקוח וסוד לאימות. שרת ההרשאות משתמש בכתובות ה-URI להפניה אוטומטית כדי לשלוח טוקנים לאפליקציה שלכם. במסמכי האפליקציה צריך לציין את ה-URI להפניה אוטומטית שבו צריך להשתמש. אין תמיכה בכתובות URI מותאמות אישית להפניה אוטומטית.
הנחיות ספציפיות לאפליקציות לגבי הגדרה וחיבור לשרת MCP מפורטות במאמר הנחיות ספציפיות ללקוחות.
הנחיות כלליות נוספות זמינות במקורות המידע הבאים:
כלים זמינים
כדי לראות פרטים על כלי MCP זמינים והתיאורים שלהם בשרת MCP של BigQuery, אפשר לעיין בהפניה ל-BigQuery MCP.
מגבלות
השימוש בכלי MCP של BigQuery כפוף למגבלות הבאות:
- הכלים
execute_sqlו-execute_sql_readonlyלא תומכים בשאילתות של טבלאות חיצוניות ב-Google Drive. - כברירת מחדל, הכלים
execute_sqlו-execute_sql_readonlyמגבילים את זמן העיבוד של השאילתות לשלוש דקות. שאילתות שפועלות יותר משלוש דקות מבוטלות באופן אוטומטי. - תוצאות השאילתה מוגבלות ל-3,000 שורות לכל היותר.
- הכלי
execute_sql_readonlyמאפשר לבצע רק פעולות של קריאה בלבד על הנתונים. לא נתמכות מוטציות כמו הצהרות DML, הצהרות DDL ופונקציות UDF של Python. - הכלי
execute_sql_readonlyלא תומך בשאילתות שמשתמשות ב-Graph Query Language (GQL).
כלים ליצירת רשימות
אפשר להשתמש בכלי הבדיקה של MCP כדי לראות רשימה של כלים, או לשלוח בקשת HTTP tools/list ישירות לשרת BigQuery MCP.
בשיטה tools/list לא נדרש אימות.
POST /mcp HTTP/1.1
Host: bigquery.googleapis.com
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "tools/list",
}
דחיית הגישה לכלי קריאה וכתיבה
כלי ה-MCP היחיד שאינו לקריאה בלבד הוא execute_sql. אתם יכולים להגביל את הגישה לכלי execute_sql באמצעות יצירה של מדיניות דחייה שמגבילה את השימוש בכלי MCP לקריאה וכתיבה.
תרחישים לדוגמה
אלה כמה תרחישי שימוש לדוגמה בשרת BigQuery MCP:
יצירת תהליכי עבודה שמשתמשים בתובנות מנתוני BigQuery כדי להפעיל פעולות מסוימות, כמו יצירת בעיות וחיבור אימיילים.
כדי להפיק תובנות ברמה גבוהה יותר, אפשר להשתמש ביכולות המתקדמות של BigQuery, כמו חיזוי.
אפשר ליצור ממשק צ'אט עם AI למשתמשים באמצעות הוראות מותאמות אישית לסוכן.
אפשר לנהל צ'אט עם נתוני הגרף באמצעות GQL.
פרומפטים לדוגמה
אפשר להשתמש בהנחיות לדוגמה הבאות כדי לקבל מידע על משאבי BigQuery, לקבל תובנות ולנתח נתונים של BigQuery:
- "List the datasets in project
PROJECT_ID." (הצגת רשימת מערכי הנתונים בפרויקטPROJECT_ID). - "Find all the queries that I ran in project
PROJECT_IDusing the MCP server in theREGIONregion. אפשר להשתמש בתגgoog-mcp-server:trueכדי לזהות את עבודות השאילתות שהופעלו דרך שרת ה-MCP". - "Find the top orders by volume from
DATASET_IDin projectPROJECT_ID. תזהה את הטבלאות המתאימות, תמצא את הסכימה הנכונה ותציג את התוצאות". - "Create a forecast on the table
PROJECT_ID.DATASET_ID.TABLE_IDfor future years. משתמשים בעמודהCOLUMN_NAMEכעמודת הנתונים ובעמודהCOLUMN_NAMEכעמודת חותמת הזמן. תציג את 10 התחזיות המובילות".
בהנחיות, מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט Google Cloud -
REGION: שם האזור -
DATASET_ID: השם של מערך הנתונים -
TABLE_ID: שם הטבלה -
COLUMN_NAME: שם העמודה
הגדרות אבטחה ובטיחות אופציונליות
השימוש ב-MCP כרוך בסיכוני אבטחה חדשים ובשיקולים חדשים, בגלל המגוון הרחב של הפעולות שאפשר לבצע באמצעות כלי ה-MCP. כדי למזער את הסיכונים האלה ולנהל אותם,Google Cloud מציע הגדרות ברירת מחדל ומדיניות שניתנת להתאמה אישית כדי לשלוט בשימוש בכלי MCP בארגון או בפרויקט שלכם ב- Google Cloud.
מידע נוסף על אבטחה וניהול של MCP זמין במאמר בנושא אבטחה ובטיחות של AI.
שימוש בהגנה מוגברת על המודל
Model Armor הואGoogle Cloud שירות שנועד לשפר את האבטחה והבטיחות של אפליקציות ה-AI שלכם. הכלי פועל על ידי סינון יזום של הנחיות ותשובות של מודלים מסוג LLM, הגנה מפני סיכונים שונים ותמיכה בשיטות עבודה אחראיות בתחום ה-AI. בין אם אתם פורסים AI בסביבת הענן שלכם או אצל ספקי שירותי ענן חיצוניים, הגנה מוגברת על המודל יכול לעזור לכם למנוע קלט זדוני, לאמת את בטיחות התוכן, להגן על מידע אישי רגיש, לשמור על תאימות ולאכוף את מדיניות הבטיחות והאבטחה של ה-AI באופן עקבי בסביבת ה-AI המגוונת שלכם.
כשמפעילים את Model Armor עם הפעלת רישום ביומן, המערכת רושמת ביומן את כל מטען הנתונים. הפעולה הזו עלולה לחשוף מידע רגיש ביומני הרישום.
ניתוב בקשות של MCP אל Model Armor
Model Armor זמין באזורים מסוימים. אם הגנה מוגברת על המודל מופעל ואתם משתמשים בשרת MCP בתחום שיפוט שלא נתמך על ידי הגנה מוגברת על המודל, יכול להיות שהתנהגות הניתוב של השיחה תהיה שונה עבור שרתי MCP שונים, ושהיא תפגע בתאימות של נתוני השימוש והנתונים במעבר לדרישות של מיקום אחסון הנתונים. מידע נוסף על ההתנהגות של שרתי MCP בודדים זמין במאמר בנושא הגנה מוגברת על המודל: מוצרים נתמכים.הפעלת הגנה מוגברת על המודל
כדי להשתמש ב-Model Armor, צריך להפעיל את ממשקי ה-API של Model Armor.
המסוף
מפעילים את הגנה מוגברת על המודל API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin). כך מקצים תפקידים.בוחרים את הפרויקט שבו רוצים להפעיל את הגנה מוגברת על המודל.
gcloud
לפני שמתחילים, צריך לבצע את השלבים הבאים באמצעות Google Cloud CLI עם Model Armor API:
במסוף Google Cloud , מפעילים את Cloud Shell.
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
-
מריצים את הפקודה הבאה כדי להגדיר את נקודת קצה ל-API לשירות הגנה מוגברת על המודל.
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"
מחליפים את
LOCATIONבאזור שבו רוצים להשתמש בהגנה מוגברת על המודל.
הגדרת הגנה לשרתי MCP של Google ושרתי Google Cloud MCP מרוחקים
כדי להגן על השיחות עם כלי ה-MCP והתשובות שלו, אפשר להשתמש בהגדרות של Model Armor. הגדרת רמת בסיס מגדירה את מסנני האבטחה המינימליים שחלים על הפרויקט. ההגדרה הזו מחילה קבוצה עקבית של מסננים על כל הקריאות והתשובות של כלי MCP בפרויקט.
הגדרת סף תחתון של הגנה מוגברת על המודל עם הפעלת ניקוי של MCP. מידע נוסף זמין במאמר בנושא הגדרת ערכי סף ב-Model Armor.
דוגמה לפקודה:
gcloud model-armor floorsettings update \ --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \ --enable-floor-setting-enforcement=TRUE \ --add-integrated-services=GOOGLE_MCP_SERVER \ --google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \ --enable-google-mcp-server-cloud-logging \ --malicious-uri-filter-settings-enforcement=ENABLED \ --add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'
מחליפים את PROJECT_ID במזהה הפרויקט ב- Google Cloud .
שימו לב להגדרות הבאות:
-
INSPECT_AND_BLOCK: סוג האכיפה שבודק את התוכן בשרת MCP של Google וחוסם הנחיות ותשובות שתואמות למסננים. -
ENABLED: ההגדרה שמפעילה מסנן או אכיפה. -
MEDIUM_AND_ABOVE: רמת המהימנות של ההגדרות של המסנן 'AI אחראי – מסוכן'. אפשר לשנות את ההגדרה הזו, אבל ערכים נמוכים יותר עלולים להוביל ליותר תוצאות חיוביות כוזבות. מידע נוסף זמין במאמר בנושא רמות הסמך של הגנה מוגברת על המודל.
השבתת סריקת תעבורת נתונים של MCP באמצעות הגנה מוגברת על המודל
כדי להפסיק את הסריקה האוטומטית של התנועה אל השרתים של Google MCP וממנה על ידי Model Armor על סמך הגדרות הרצפה של הפרויקט, מריצים את הפקודה הבאה:
gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--remove-integrated-services=GOOGLE_MCP_SERVER
מחליפים את PROJECT_ID במזהה הפרויקט ב- Google Cloud . התכונה הגנה מוגברת על המודל לא מחילה באופן אוטומטי את הכללים שמוגדרים בהגדרות אבטחה מינימליות של הפרויקט הזה על תעבורת נתונים של שרת MCP.
הגדרות הסף התחתון של Model Armor וההגדרה הכללית יכולות להשפיע על יותר דברים מאשר רק על MCP. Model Armor משולב עם שירותים כמו Vertex AI, ולכן כל שינוי שתבצעו בהגדרות של רמת הבסיס יכול להשפיע על סריקת התנועה ועל התנהגויות הבטיחות בכל השירותים המשולבים, ולא רק ב-MCP.
שליטה בשימוש ב-MCP באמצעות מדיניות IAM
כללי מדיניות הדחייה ומדיניות ההרשאות של ניהול הזהויות והרשאות הגישה (IAM) עוזרים לכם לאבטח Google Cloud שרתים של Google MCP.
אתם יכולים לשלב כמה קריטריונים כדי ליצור מדיניות אבטחה ומדיניות ניהול בהתאמה אישית, על ידי מתן או דחייה של גישה על סמך הקריטריונים הבאים:
- החשבון הראשי.
- מאפייני כלי כמו מאפיין הקריאה בלבד.
- שם השירות או שם הכלי.
- מזהה הלקוח ב-OAuth של האפליקציה.
מידע נוסף זמין במאמר שליטה בשימוש ב-MCP באמצעות ניהול זהויות וגישה.
מכסות ומגבלות
לשרת ה-MCP של BigQuery אין מכסות משלו. אין הגבלה על מספר הקריאות שאפשר לבצע לשרת ה-MCP.
אתם עדיין כפופים למכסות שנאכפות על ידי ממשקי ה-API שנקראים על ידי כלי השרת של ה-MCP. השיטות הבאות של ה-API מופעלות על ידי כלי שרת ה-MCP:
| כלי | שיטת ה-API | מכסות |
|---|---|---|
list_dataset_ids |
datasets.list |
מכסות ומגבלות של מערכי נתונים |
list_table_ids |
tables.list |
מכסות ומגבלות של טבלאות |
get_dataset_info |
datasets.get |
מכסות ומגבלות של מערכי נתונים |
get_table_info |
tables.get |
מכסות ומגבלות של טבלאות |
execute_sql |
jobs.Query |
מכסות ומגבלות של עבודות שאילתה |
execute_sql_readonly |
jobs.Query |
מכסות ומגבלות של עבודות שאילתה |
מידע נוסף על מכסות ב-BigQuery זמין במאמר מכסות ומגבלות.
המאמרים הבאים
- אפשר לעיין במאמרי העזרה בנושא BigQuery MCP.
- מידע נוסף על השרתים של Google Cloud MCP
- כאן אפשר לראות את המוצרים הנתמכים ב-MCP.