שרתי MCP מאפשרים לכם לגשת לכלים ולהריץ אותם כדי ליצור, לנהל ולשאול שאילתות לגבי משאביGoogle Cloud באמצעות פלטפורמות של סוכני AI. במאמר הזה מוסבר איך להתחבר ל Google Cloud שרתים מרוחקים של Model Context Protocol (MCP) מהתוסף Google Cloud Data Agent Kit ל-Visual Studio Code.
שרתי MCP נתמכים
השרתים הבאים של MCP מרחוק נתמכים לעבודה בתוסף Data Agent Kit ל-VS Code. פרטים ספציפיים למוצרים זמינים במדריכים הבאים:
- שימוש בשרת MCP מרוחק של AlloyDB ל-PostgreSQL
- שימוש בשרת BigQuery MCP
- שימוש בשרת MCP מרוחק של Cloud SQL
- שימוש בשרת MCP מרוחק של קטלוג הידע
- שימוש בשרת MCP של Managed Service for Apache Spark
- שימוש בשרת MCP מרוחק של Spanner
שרת MCP מרוחק מופעל כשמפעילים את ה-API המתאים. לדוגמה, כשמפעילים את Spanner API בפרויקט, מופעל באופן אוטומטי Spanner remote MCP.
Google Cloud שרתי MCP מרוחקים
לשרתי MCP מרוחקים ולשרתי MCP של Google יש את התכונות והיתרונות הבאים: Google Cloud- גילוי פשוט ומרכזי
- נקודות קצה (endpoints) מנוהלות של HTTP ברמה הגלובלית או האזורית
- הרשאות פרטניות
- אבטחת הנחיות ותשובות אופציונלית באמצעות הגנה מוגברת על המודל
- רישום מרכזי ביומן הביקורת
מידע על שרתים אחרים של MCP ועל אמצעי בקרה בנושאי אבטחה וממשל שזמינים לשרתים של Google Cloud MCP מופיע במאמר סקירה כללית על שרתים של Google Cloud MCP.
Model Context Protocol (MCP) הוא תקן שקובע איך מודלים גדולים של שפה (LLM) ואפליקציות או סוכני AI מתחברים למקורות נתונים חיצוניים. שרתי MCP מאפשרים לכם להשתמש בכלים, במשאבים ובהנחיות שלהם כדי לבצע פעולות ולקבל נתונים מעודכנים משירות הקצה העורפי שלהם.
מה ההבדל בין שרתי MCP מקומיים לבין שרתי MCP מרחוק?
- שרתי MCP מקומיים
- בדרך כלל פועלים במחשב המקומי ומשתמשים בזרמי הקלט והפלט הרגילים (stdio) לתקשורת בין שירותים באותו מכשיר.
- שרתי MCP מרוחקים
- פועל בתשתית של השירות ומציע נקודת קצה של HTTP לאפליקציות AI לצורך תקשורת בין לקוח ה-MCP של ה-AI לבין שרת ה-MCP. מידע נוסף על ארכיטקטורת MCP זמין במאמר ארכיטקטורת MCP.
לפני שמתחילים
- מתקינים את התוסף Data Agent Kit ל-VS Code.
- מגדירים את התוסף. חשוב להפעיל את כל ממשקי ה-API.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות לגישה לשרתי MCP מ-IDE, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM MCP Tool User (roles/mcp.toolUser) בפרויקט שבו אתם עובדים. Google Cloud
יכול להיות שתצטרכו תפקידים נוספים מעבר לתפקידים שמאפשרים לכם להשתמש בתוסף, בהתאם למשאבים שאתם מתכננים לגשת אליהם. כדי לראות את התפקידים הנדרשים לגישה לשרתי MCP מרוחקים לכל שירות נתמך Google Cloud, אפשר לעיין במדריכים הספציפיים למוצרים.
מידע נוסף על הקצאת תפקידים מופיע במאמר ניהול הגישה לפרויקטים, לתיקיות ולארגונים.
התחזות לחשבון שירות
כשמתחברים לשרתי MCP מתוסף Data Agent Kit ל-VS Code, אפשר להשתמש בפרטי הכניסה של המשתמש או בהתחזות לחשבון שירות. מומלץ להשתמש בהתחזות לחשבון שירות עבור ה-CLI של gcloud ו-Application Default Credentials (ADC) כשמתחברים לשרתי MCP.
התהליך מתחיל עם פרטי הכניסה שבהם השתמשתם כדי להיכנס ל-Google Cloud ול-CLI של gcloud ב-VS Code – בדרך כלל חשבון המשתמש שלכם. לאחר מכן מבקשים פרטי כניסה לטווח קצר לחשבון השירות ומשתמשים בפרטי הכניסה של חשבון השירות במקום בפרטי הכניסה של המשתמש. מידע נוסף מופיע במאמר שימוש בהתחזות לחשבון שירות.
הנחיות לשימוש בהתחזות לחשבון שירות כדי לבצע אימות לשרתי MCP זמינות במאמר התחזות לחשבון שירות.
אימות והרשאה
מבצעים את השלבים הבאים של אימות והרשאה. מידע נוסף על הרשאה לחשבון Google זמין במאמר שימוש ב-OAuth 2.0 לגישה ל-Google APIs.הפעלת תהליך ההרשאה ב-IDE
כדי להתחיל בתהליך, שולחים הנחיה לצ'אט עם הסוכן בסביבת הפיתוח המשולבת (IDE).
- אם חלונית הצ'אט לא מוצגת, פותחים את לוח הפקודות על ידי הקשה על Cmd/Ctrl+Shift+P, ואז מחפשים את האפשרות Open Chat ומפעילים אותה.
בחלונית של Chat, שולחים את ההנחיה הבאה:
list BigQuery datasets using mcp serverהסוכן מציע את הפקודה הבאה ב-CLI של gcloud:
gcloud config get-value projectלוחצים על אישור.
מופיעה תיבת דו-שיח עם השאלה אם רוצים לספק מזהה לקוח.
לוחצים על העתקת כתובות ה-URI והמשך.
לוח הפקודות ייפתח ותתבקשו להזין מזהה לקוח ב-OAuth.
קבלת מזהה לקוח ב-OAuth
לאחר מכן, מקבלים את מזהה הלקוח ב-OAuth מ Google Cloud המסוף.
- פותחים את Google Cloud המסוף בדפדפן.
- לוחצים על Select a project (בחירת פרויקט).
- בוחרים את אותו פרויקט שבו משתמשים בתוסף Data Agent Kit ל-VS Code.
- בתפריט הניווט API, לוחצים על Credentials.
- בקטע מזהי לקוחות ב-OAuth 2.0, לוחצים על המזהה של הלקוח שרוצים להשתמש בו.
- בחלונית הפרטים, בקטע מידע נוסף, מאתרים את הערך של מזהה לקוח ומעתיקים אותו.
הזנת פרטי כניסה ל-VS Code
מזינים את מזהה הלקוח ואת סוד הלקוח בסביבת הפיתוח המשולבת.
- חוזרים ל-VS Code.
- מדביקים את מזהה הלקוח בתיבת הדו-שיח Add Client Registration Details (הוספת פרטי רישום לקוח).
- מקישים על Enter.
- חוזרים למסוף ומעתיקים את הערך של Client secret (סוד הלקוח).
- חוזרים אל VS Code.
מדביקים את סוד הלקוח בתיבת הדו-שיח Add Client Registration Details ולוחצים על Enter.
הנציג ממשיך לפעול, ואז מופיעה תיבת דו-שיח שבה מצוין ששרת ה-MCP רוצה לבצע אימות.
לוחצים על אישור.
אם תתבקשו להיכנס שוב לחשבון Google, תצטרכו לפעול לפי ההוראות ולחזור לסביבת הפיתוח המשולבת.
הסוכן מקבל את מערכי הנתונים המבוקשים ב-BigQuery מהשרת של MCP ומציג את הרשימה.
הגדרת שרתי MCP מרוחקים בתוסף Google Cloud
באמצעות כלים מבוססי-סוכנים ב-IDE, אפשר ליצור מופע של לקוח MCP שמתחבר לשרת MCP יחיד. יכולים להיות לכם כמה לקוחות שמתחברים לשרתי MCP שונים. כדי להתחבר לשרת MCP מרוחק, לקוח ה-MCP צריך לדעת לפחות את כתובת ה-URL של שרת ה-MCP המרוחק.
לכל לקוח, משתמשים באפשרויות הבאות לפי הצורך.
- שם השרת: SERVER_NAME
- נקודת קצה: ENDPOINT
- Transport: HTTP
- פרטי אימות: בהתאם לשיטת האימות שרוצים להשתמש בה, אפשר להזין את Google Cloud פרטי הכניסה, את מזהה הלקוח ואת הסוד של לקוח OAuth, או את הזהות ופרטי הכניסה של סוכן.
- מידע נוסף על אימות זמין במאמר אימות לשרתי MCP.
- פרטים על האימות של כל שירות נתמך מופיעים במדריכים הספציפיים למוצרים.
- היקף הרשאות OAuth: היקף ההרשאות של OAuth 2.0 שרוצים להשתמש בו כשמתחברים לשרת ה-MCP של AlloyDB.
מחליפים את SERVER_NAME ו-ENDPOINT בערכים של השירות שאליו מתחברים. ב-AlloyDB,
צריך לציין אזור, כמו us-east4.
Service |
שם השרת |
נקודת קצה (endpoint) |
AlloyDB |
שרת AlloyDB MCP |
https://alloydb.REGION.rep.googleapis.com/mcp |
BigQuery |
שרת BigQuery MCP |
https://bigquery.googleapis.com/mcp |
Cloud SQL |
שרת Cloud SQL MCP |
https://sqladmin.googleapis.com/mcp |
Knowledge Catalog |
שרת MCP של Knowledge Catalog |
https://dataplex.googleapis.com/mcp |
Managed Service for Apache Spark |
שרת MCP של Managed Service for Apache Spark |
https://dataproc-us-central1.googleapis.com/mcp |
Spanner |
שרת MCP של Spanner |
https://spanner.googleapis.com/mcp |
הגדרות MCP ל-Toolbox ולשרתי MCP מרוחקים
משתמשים בהגדרות הבאות לכל שירות של Google Cloud Data Agent Kit שרוצים להתחבר אליו.
AlloyDB
אפליקציה עם פעולה מרחוק
'alloydb': {
remote: {
vscode: {
'datacloud_alloydb_remote': {
type: 'http',
url: 'https://alloydb.REGION.rep.googleapis.com/mcp',
authProviderType: 'google_credentials',
oauth: {
scopes: ['https://www.googleapis.com/auth/cloud-platform'],
},
},
מקומי
'datacloud_alloydb-postgres-admin_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
'@toolbox-sdk/server@>=1.1.0',
'--prebuilt',
'alloydb-postgres-admin',
'--stdio'
],
'env': {},
},
'datacloud_alloydb-postgres_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
'@toolbox-sdk/server@>=1.1.0',
'--prebuilt',
'alloydb-postgres',
'--stdio'
],
'env': {
'ALLOYDB_POSTGRES_CLUSTER': '',
'ALLOYDB_POSTGRES_DATABASE': '',
'ALLOYDB_POSTGRES_INSTANCE': '',
'ALLOYDB_POSTGRES_IP_TYPE': '',
'ALLOYDB_POSTGRES_PASSWORD': '',
'ALLOYDB_POSTGRES_PROJECT': '',
'ALLOYDB_POSTGRES_REGION': '',
'ALLOYDB_POSTGRES_USER': '',
},
},
BigQuery
אפליקציה עם פעולה מרחוק
'datacloud_bigquery_remote': {
type: 'http',
url: 'https://bigquery.googleapis.com/mcp',
authProviderType: 'google_credentials',
oauth: {
scopes: [
'https://www.googleapis.com/auth/bigquery',
'https://www.googleapis.com/auth/cloud-platform',
],
},
},
מקומי
'datacloud_bigquery_toolbox': {
command: 'npx',
args: [
'-y',
'@toolbox-sdk/server@>=1.1.0',
'--prebuilt',
'bigquery',
'--stdio'
],
env: {
'BIGQUERY_LOCATION': '',
'BIGQUERY_PROJECT': '',
},
},
Cloud SQL
אפליקציה עם פעולה מרחוק
'datacloud_cloud-sql_remote': {
type: 'http',
url: 'https://sqladmin.googleapis.com/mcp',
authProviderType: 'google_credentials',
oauth: {
scopes: ['https://www.googleapis.com/auth/cloud-platform'],
},
},
מקומי
'datacloud_cloud-sql-postgresql-admin_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
'@toolbox-sdk/server@>=1.1.0',
'--prebuilt',
'cloud-sql-postgres-admin',
'--stdio'
],
'env': {},
},
'datacloud_cloud-sql-postgresql_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
'@toolbox-sdk/server@>=1.1.0',
'--prebuilt',
'cloud-sql-postgres',
'--stdio'
],
'env': {
'CLOUD_SQL_POSTGRES_DATABASE': '',
'CLOUD_SQL_POSTGRES_INSTANCE': '',
'CLOUD_SQL_POSTGRES_IP_TYPE': '',
'CLOUD_SQL_POSTGRES_PASSWORD': '',
'CLOUD_SQL_POSTGRES_PROJECT': '',
'CLOUD_SQL_POSTGRES_REGION': '',
'CLOUD_SQL_POSTGRES_USER': '',
},
},
Knowledge Catalog
אפליקציה עם פעולה מרחוק
'datacloud_knowledge_catalog_remote': {
type: 'http',
url: 'https://dataplex.googleapis.com/mcp',
authProviderType: 'google_credentials',
oauth: {
scopes: ['https://www.googleapis.com/auth/cloud-platform'],
},
מקומי
'datacloud_knowledge_catalog_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
'@toolbox-sdk/server@>=1.1.0',
'--prebuilt',
'dataplex',
'--stdio'
],
'env': {
'DATAPLEX_PROJECT': '${PROJECT_ID}',
}
Managed Service for Apache Spark
אפליקציה עם פעולה מרחוק
'datacloud_managed_apache_spark_remote': {
type: 'http',
url: 'https://dataproc-${REGION}.googleapis.com/mcp',
authProviderType: 'google_credentials',
oauth: {
scopes: ['https://www.googleapis.com/auth/dataproc'],
},
},
מקומי
'datacloud_managed_apache_spark_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
TOOLBOX_VERSION,
'--prebuilt',
'dataproc',
'--stdio',
'--user-agent-metadata',
'google-cloud-data-agent-kit-${IDE_TYPE}',
],
'env': {
'DATAPROC_PROJECT': '${PROJECT_ID}',
'DATAPROC_REGION': '${REGION}',
},
},
'datacloud_serverless-spark_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
TOOLBOX_VERSION,
'--prebuilt',
'serverless-spark',
'--stdio',
'--user-agent-metadata',
'google-cloud-data-agent-kit-${IDE_TYPE}',
],
'env': {
'SERVERLESS_SPARK_PROJECT': '${PROJECT_ID}',
'SERVERLESS_SPARK_LOCATION': '${REGION}',
},
},
Spanner
אפליקציה עם פעולה מרחוק
'datacloud_spanner_remote': {
type: 'http',
url: 'https://spanner.googleapis.com/mcp',
authProviderType: 'google_credentials',
oauth: {
scopes: [
'https://www.googleapis.com/auth/spanner.admin',
'https://www.googleapis.com/auth/spanner.data',
],
},
},
מקומי
'datacloud_spanner_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
'@toolbox-sdk/server@>=1.1.0',
'--prebuilt',
'spanner',
'--stdio'
],
'env': {
'SPANNER_DATABASE': '',
'SPANNER_DIALECT': '',
'SPANNER_INSTANCE': '',
'SPANNER_PROJECT': '',
},
},
הגדרות אבטחה ובטיחות אופציונליות
השימוש ב-MCP מציג סיכוני אבטחה חדשים ושיקולים חדשים בגלל המגוון הרחב של הפעולות שאפשר לבצע באמצעות הכלים של MCP. כדי למזער את הסיכונים האלה ולנהל אותם,Google Cloud מציע הגדרות ברירת מחדל ומדיניות שניתנת להתאמה אישית כדי לשלוט בשימוש בכלים של MCP בארגון או בפרויקט שלכם ב- Google Cloud.
מידע נוסף על אבטחה וניהול של MCP זמין במאמר בנושא אבטחה ובטיחות של AI.
שימוש בהגנה מוגברת על המודל
Model Armor הואGoogle Cloud שירות שנועד לשפר את האבטחה והבטיחות של אפליקציות ה-AI שלכם. היא פועלת על ידי סינון יזום של הנחיות ותשובות של מודלים גדולים של שפה (LLM), ומגנה מפני סיכונים שונים. בנוסף, היא תומכת בשיטות עבודה מומלצות בתחום ה-AI האחראי. בין אם אתם פורסים AI בסביבת הענן שלכם או אצל ספקי שירותי ענן חיצוניים, הגנה מוגברת על המודל יכול לעזור לכם למנוע קלט זדוני, לאמת את בטיחות התוכן, להגן על מידע אישי רגיש, לשמור על תאימות ולאכוף את מדיניות הבטיחות והאבטחה של ה-AI באופן עקבי בסביבת ה-AI המגוונת שלכם.
כשמפעילים את Model Armor עם הפעלת רישום ביומן, המערכת רושמת ביומן את כל מטען הנתונים. יכול להיות שייחשף מידע רגיש ביומני הרישום.
הפעלת הגנה מוגברת על המודל
כדי להשתמש ב-Model Armor, צריך להפעיל את ממשקי ה-API של Model Armor.
המסוף
מפעילים את הגנה מוגברת על המודל API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםבוחרים את הפרויקט שבו רוצים להפעיל את הגנה מוגברת על המודל.
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 ושרתי MCP מרוחקים Google Cloud
כדי להגן על הקריאות והתגובות של כלי ה-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 וממנה על ידי הגנה מוגברת על המודל על סמך הגדרות אבטחה מינימליות של הפרויקט, מריצים את הפקודה הבאה:
gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--remove-integrated-services=GOOGLE_MCP_SERVER
מחליפים את PROJECT_ID במזהה הפרויקט ב- Google Cloud . התכונה הגנה מוגברת על המודל לא מחילה באופן אוטומטי את הכללים שמוגדרים בהגדרות אבטחה מינימליות של הפרויקט על תעבורה של שרת Google MCP.
ההגדרות של הסף התחתון של Model Armor וההגדרה הכללית יכולות להשפיע על יותר דברים מאשר רק על MCP. Model Armor משולב עם שירותים כמו Vertex AI, ולכן כל שינוי שתבצעו בהגדרות של רמת הרצפה יכול להשפיע על סריקת התנועה ועל התנהגויות הבטיחות בכל השירותים המשולבים, ולא רק ב-MCP.
שליטה בשימוש ב-MCP באמצעות כללי מדיניות דחייה ב-IAM
כללי מדיניות הדחייה של ניהול זהויות והרשאות גישה (IAM) עוזרים לכם לאבטח שרתי MCP מרוחקים של Google Cloud . כדאי להגדיר את המדיניות הזו כדי לחסום גישה לא רצויה לכלי MCP.
לדוגמה, אתם יכולים לדחות או לאשר גישה על סמך:
- הקרן
- מאפייני כלי כמו קריאה בלבד
- מזהה הלקוח ב-OAuth של האפליקציה
מידע נוסף זמין במאמר שליטה בשימוש ב-MCP באמצעות ניהול זהויות וגישה.
פתרון בעיות
כדי למצוא שיטות לאבחון ולפתרון שגיאות בתוסף Data Agent Kit ל-VS Code, ראו פתרון בעיות.