Model Context Protocol (MCP) הוא תקן שקובע איך מודלים גדולים של שפה (LLM) ואפליקציות או סוכני AI מתחברים למקורות נתונים חיצוניים. שרתי MCP מאפשרים להשתמש בכלים, במשאבים ובהנחיות שלהם כדי לבצע פעולות ולקבל נתונים מעודכנים משירות הקצה העורפי שלהם.
מה ההבדל בין שרתי MCP מקומיים לבין שרתי MCP מרחוק?
- שרתי MCP מקומיים
- בדרך כלל מריצים אותם במחשב המקומי ומשתמשים בזרמי הקלט והפלט הרגילים (stdio) לתקשורת בין שירותים באותו מכשיר.
- שרתי MCP מרוחקים
- פועל בתשתית של השירות ומציע נקודת קצה של HTTP לאפליקציות AI לצורך תקשורת בין לקוח ה-MCP של ה-AI לבין שרת ה-MCP. מידע נוסף על ארכיטקטורת MCP זמין במאמר ארכיטקטורת MCP.
Google ושרתי MCP מרוחקים Google Cloud
לשרתי MCP של Google Google Cloud ושרתי MCP מרוחקים יש את התכונות והיתרונות הבאים:- גילוי פשוט ומרכזי
- נקודות קצה (endpoints) מנוהלות של HTTP ברמה הגלובלית או האזורית
- הרשאות פרטניות
- אבטחת הנחיות ותשובות אופציונלית באמצעות הגנה מוגברת על המודל
- רישום מרכזי ביומן הביקורת
מידע על שרתי MCP אחרים ועל אמצעי אבטחה ובקרה שזמינים לשרתי Google Cloud MCP מופיע במאמר סקירה כללית על שרתי Google Cloud MCP.
לפני שמתחילים
-
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- מקשרים את מאגר Dataform לספק Git כמו GitHub או GitLab. מידע נוסף זמין במאמר בנושא חיבור למאגר Git של צד שלישי.
- מגדירים את סוכן ה-AI עם אסימון OAuth תקין באמצעות היקף BigQuery.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לשימוש בשרת Dataform MCP, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים ב Google Cloud פרויקט:
-
ביצוע קריאות לכלי MCP:
משתמש בכלי MCP (
roles/mcp.toolUser) -
יצירת מאגרי Dataform, סביבות עבודה ועריכת קבצים:
Dataform Editor (
roles/dataform.editor) -
הפעלת משימות BigQuery:
BigQuery Job User (
roles/bigquery.jobUser)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות לשימוש בשרת Dataform MCP. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להשתמש בשרת Dataform MCP, צריך את ההרשאות הבאות:
-
ביצוע קריאות לכלי MCP:
mcp.tools.call -
יצירה של מאגרי Dataform, סביבות עבודה ועריכת קבצים:
-
dataform.workspaces.create -
dataform.workspaces.get -
dataform.workspaces.list -
dataform.workspaces.delete -
dataform.workspaces.readFile -
dataform.workspaces.writeFile -
dataform.workspaces.moveFile -
dataform.workspaces.removeFile -
dataform.workspaces.queryDirectoryContents -
dataform.workspaces.searchFiles -
dataform.workspaces.commit -
dataform.workspaces.push -
dataform.workspaces.pull -
dataform.workspaces.fetchHistory -
dataform.workspaces.fetchDiff -
dataform.workspaces.fetchFileGitStatuses -
dataform.compilationResults.create -
dataform.compilationResults.get -
dataform.compilationResults.list -
dataform.workflowInvocations.create -
dataform.workflowInvocations.get -
dataform.workflowInvocations.list -
dataform.repositories.get -
dataform.repositories.list -
dataform.locations.get -
dataform.locations.list
-
-
הפעלת משימות BigQuery:
-
bigquery.jobs.create -
bigquery.config.get
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
אימות והרשאה
שרת ה-MCP המרוחק של Dataform משתמש בפרוטוקול OAuth 2.0 עם ניהול זהויות והרשאות גישה (IAM) לאימות ולהרשאה. כל Google Cloud הזהויות נתמכות לצורך אימות לשרתי MCP.שרת ה-MCP של Dataform מנהל את הגישה באמצעות מנגנוני האימות וההרשאה הבאים:
- בקשות Discovery (
tools/list) לא דורשות אימות, ולכן סוכנים יכולים לזהות את הכלים הזמינים של Dataform בלי צורך בהרשאה מראש. - האימות של בקשות להפעלה (
tools/call) מתבצע באמצעות OAuth, ולכן הסוכן צריך לספק טוקן OAuth תקף שמשתמש בהיקף ההרשאות של BigQuery. מידע נוסף מופיע במאמר בנושא היקפי הרשאות OAuth של Dataform MCP.
אנחנו ממליצים ליצור זהות נפרדת לסוכנים שמשתמשים בכלים של MCP, כדי שתוכלו לשלוט בגישה למשאבים ולעקוב אחריה. מידע נוסף על אימות זמין במאמר בנושא אימות לשרתי MCP.
היקפי הרשאות OAuth ב-Dataform MCP
ב-OAuth 2.0 משתמשים בהיקפי הרשאות ובפרטי כניסה כדי לקבוע אם לגורם מאומת יש הרשאה לבצע פעולה ספציפית במשאב. מידע נוסף על היקפי OAuth 2.0 ב-Google זמין במאמר שימוש ב-OAuth 2.0 לגישה ל-Google APIs.
כדי ליצור אינטראקציה עם שרת ה-MCP של Dataform, הסוכן צריך להשתמש בהיקף OAuth של BigQuery. ההיקף הזה מאפשר לסוכן לנהל קוד טרנספורמציה ולהפעיל ביצועים שפועלים כמשימות BigQuery.
יכול להיות שיידרשו היקפי הרשאות נוספים במשאבים שאליהם ניגשים במהלך הפעלת כלי. כדי לראות רשימה של היקפי ההרשאות שנדרשים ל-Dataform, אפשר לעיין ב-Dataform API.
הגדרת לקוח MCP לשימוש בשרת MCP של Dataform
אפליקציות וסוכנים מבוססי-AI, כמו Claude או Antigravity, יכולים ליצור מופע של לקוח MCP שמתחבר לשרת MCP יחיד. לאפליקציית AI יכולים להיות כמה לקוחות שמתחברים לשרתי MCP שונים. אם האפליקציה שלכם לא מופיעה בהנחיות הספציפיות ללקוח, תוכלו להשתמש במידע הבא כדי להתחבר מרוב האפליקציות.
באפליקציית ה-AI, מחפשים דרך להוסיף או להתחבר לשרת MCP מרוחק. לשרת ה-MCP של Dataform, מבצעים את הפעולות הבאות:
- שם השרת: שרת Dataform MCP
כתובת URL של השרת או נקודת קצה:
https://dataform.REGION.rep.googleapis.com/mcpמחליפים את
REGIONבאזור שבו נמצא המאגר, לדוגמה,us-central1.Transport: HTTP
פרטי אימות: בהתאם לשיטת האימות שרוצים להשתמש בה, אפשר להזין את Google Cloud פרטי הכניסה, את מזהה הלקוח וסוד הלקוח של OAuth, או את הזהות ופרטי הכניסה של סוכן. מידע נוסף על אימות זמין במאמר בנושא אימות לשרתי MCP.
הנחיות ספציפיות לאפליקציות לגבי הגדרה וחיבור לשרת MCP מפורטות במאמר הנחיות ספציפיות ללקוחות.
הנחיות כלליות נוספות זמינות במקורות המידע הבאים:
יכולות של סוכנים
שרת ה-MCP של Dataform מספק קבוצה של כלים שמאפשרים לסוכני AI ליצור אינטראקציה עם תהליכי עבודה של טרנספורמציה של נתונים ולבצע בהם ניפוי באגים באמצעות תזמור של קריאות ל-Dataform API. השרת מספק כלים לביצוע הפעולות הבאות:
- הגדרת נכסים של קובץ יחיד סוכנים מנהלים הגדרות בסיסיות של משאבים, כולל יצירת מאגר ושליחת שאילתות לגבי תוכן של ספריות.
- ניהול פייפליינים וגרסאות. הסוכנים מנהלים את תהליך העבודה ואת הגדרות הגרסה, יוצרים תוצאות של קומפילציה ומפעילים או מבטלים קריאות של תהליך העבודה.
- פתרון בעיות ואימות הסוכנים מזהים למה צינורות נכשלים על ידי אחזור תוצאות קומפילציה ושאילתות של פעולות הפעלה של תהליכי עבודה.
כלים זמינים
כדי לראות את הפרטים של כלי ה-MCP הזמינים ואת התיאורים שלהם בשרת ה-MCP של Dataform, אפשר לעיין במאמר הפניה ל-MCP של Dataform.
כלים ליצירת רשימות
אפשר להשתמש בכלי לבדיקת שרת MCP כדי להציג רשימה של כלים, או לשלוח בקשת HTTP tools/list ישירות לשרת MCP המרוחק של Dataform. בשיטה tools/list לא נדרש אימות.
POST /mcp HTTP/1.1
Host: dataform.googleapis.com
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "tools/list",
"id": 1
}
פרומפטים לדוגמה
אפשר להשתמש בהנחיות לדוגמה הבאות כדי לקבל מידע על משאבי Dataform, לתזמן זרימות עבודה או לפתור בעיות בהרצות:
- "Create a new Dataform repository named
REPOSITORY_IDin projectPROJECT_ID." - "Create a new notebook asset in project." (יצירת נכס חדש של תיקיית Notebook בפרויקט
PROJECT_ID) - "Read the content of in my repository" (קרא את התוכן של
FILE_NAMEבמאגר שלי). - "מאשרים את השינויים ב-
FILE_NAMEב-REPOSITORY_ID". - "Create a workflow configuration that schedules my pipeline to run every day at 8:00 AM".
- "Trigger a new execution for the workflow configuration." (הפעלת ביצוע חדש להגדרת זרימת העבודה
WORKFLOW_CONFIGURATION_ID). - "תבדוק את הסטטוס של ההרצות האחרונות של הפייפליין ותגיד לי אם אחת מהן נכשלה, כולל פרטי השגיאה".
- "Show me the details of the specific execution that failed" (הצגת הפרטים של ההפעלה הספציפית שנכשלה).
- "List all Dataform repositories in the
REGIONregion of projectPROJECT_ID." - "Cancel the workflow invocation named
WORKFLOW_INVOCATION_IDin repositoryREPOSITORY_ID, which is now running."
בהנחיות, מחליפים את מה שכתוב בשדות הבאים:
-
FILE_NAME: שם הקובץ. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
REGION: שם האזור. -
REPOSITORY_ID: המזהה הייחודי של מאגר Dataform, לדוגמה,quickstart-repository. -
WORKFLOW_CONFIGURATION_ID: המזהה הייחודי של תצורת תהליך העבודה. -
WORKFLOW_INVOCATION_ID: המזהה הייחודי של הרצה ספציפית של תהליך עבודה. אפשר לקבל את המזהה הזה מהתוצאות של בקשתworkflowInvocations.listאו מהשדהnameשל תגובתworkflowInvocations.create.
הגדרות אבטחה ובטיחות אופציונליות
השימוש ב-MCP כרוך בסיכוני אבטחה חדשים ובשיקולים חדשים, בגלל המגוון הרחב של הפעולות שאפשר לבצע באמצעות כלי ה-MCP. כדי למזער את הסיכונים האלה ולנהל אותם,Google Cloud מציע הגדרות ברירת מחדל ומדיניות שניתנת להתאמה אישית כדי לשלוט בשימוש בכלים של MCP בארגון או בפרויקט שלכם ב- Google Cloud .
מידע נוסף על אבטחה וניהול של MCP זמין במאמר בנושא אבטחה ובטיחות של AI.
שימוש בהגנה מוגברת על המודל
Model Armor הואGoogle Cloud שירות שנועד לשפר את האבטחה והבטיחות של אפליקציות ה-AI שלכם. הכלי פועל על ידי סינון יזום של הנחיות ותשובות של מודלים מסוג LLM, הגנה מפני סיכונים שונים ותמיכה בשיטות עבודה אחראיות בתחום ה-AI. בין אם אתם פורסים AI בסביבת הענן שלכם או אצל ספקי שירותי ענן חיצוניים, הגנה מוגברת על המודל יכול לעזור לכם למנוע קלט זדוני, לאמת את בטיחות התוכן, להגן על מידע אישי רגיש, לשמור על תאימות ולאכוף את מדיניות הבטיחות והאבטחה של ה-AI באופן עקבי בסביבת ה-AI המגוונת שלכם.
כשמפעילים את Model Armor עם הפעלת רישום ביומן, המערכת רושמת ביומן את כל מטען הנתונים. הפעולה הזו עלולה לחשוף מידע רגיש ביומני הרישום.
ניתוב בקשות של MCP אל Model Armor
שרת ה-MCP של Dataform משתמש בניתוב חוצה תחומים. כשמפעילים את Model Armor, שרת ה-MCP שולח את כל הבקשות ל-Model Armor לצורך סינון. ניתוב בין סמכויות שיפוט שונות עלול לפגוע בהתחייבויות קיימות לעמידה בדרישות בנוגע למיקום אחסון הנתונים של נתונים שנמצאים בשימוש ונתונים בהעברה. מידע נוסף על ההתנהגות של שרתי 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:
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init-
מריצים את הפקודה הבאה כדי להגדיר את נקודת קצה ל-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 באמצעות ניהול זהויות וגישה.