שימוש בשרתי MCP

שרתי 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 מרוחק מופעל כשמפעילים את ה-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.

לפני שמתחילים

  1. מתקינים את התוסף Data Agent Kit ל-VS Code.
  2. מגדירים את התוסף. חשוב להפעיל את כל ממשקי ה-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).

  1. אם חלונית הצ'אט לא מוצגת, פותחים את לוח הפקודות על ידי הקשה על Cmd/Ctrl+Shift+P, ואז מחפשים את האפשרות Open Chat ומפעילים אותה.
  2. בחלונית של Chat, שולחים את ההנחיה הבאה:

    list BigQuery datasets using mcp server
    

    הסוכן מציע את הפקודה הבאה ב-CLI של gcloud:

    gcloud config get-value project
    
  3. לוחצים על אישור.

    מופיעה תיבת דו-שיח עם השאלה אם רוצים לספק מזהה לקוח.

  4. לוחצים על העתקת כתובות ה-URI והמשך.

    לוח הפקודות ייפתח ותתבקשו להזין מזהה לקוח ב-OAuth.

קבלת מזהה לקוח ב-OAuth

לאחר מכן, מקבלים את מזהה הלקוח ב-OAuth מ Google Cloud המסוף.

  1. פותחים את Google Cloud המסוף בדפדפן.
  2. לוחצים על Select a project (בחירת פרויקט).
  3. בוחרים את אותו פרויקט שבו משתמשים בתוסף Data Agent Kit ל-VS Code.
  4. בתפריט הניווט API, לוחצים על Credentials.
  5. בקטע מזהי לקוחות ב-OAuth 2.0, לוחצים על המזהה של הלקוח שרוצים להשתמש בו.
  6. בחלונית הפרטים, בקטע מידע נוסף, מאתרים את הערך של מזהה לקוח ומעתיקים אותו.

הזנת פרטי כניסה ל-VS Code

מזינים את מזהה הלקוח ואת סוד הלקוח בסביבת הפיתוח המשולבת.

  1. חוזרים ל-VS Code.
  2. מדביקים את מזהה הלקוח בתיבת הדו-שיח Add Client Registration Details (הוספת פרטי רישום לקוח).
  3. מקישים על Enter.
  4. חוזרים למסוף ומעתיקים את הערך של Client secret (סוד הלקוח).
  5. חוזרים אל VS Code.
  6. מדביקים את סוד הלקוח בתיבת הדו-שיח Add Client Registration Details ולוחצים על Enter.

    הנציג ממשיך לפעול, ואז מופיעה תיבת דו-שיח שבה מצוין ששרת ה-MCP רוצה לבצע אימות.

  7. לוחצים על אישור.

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

    הסוכן מקבל את מערכי הנתונים המבוקשים ב-BigQuery מהשרת של MCP ומציג את הרשימה.

הגדרת שרתי MCP מרוחקים בתוסף Google Cloud

באמצעות כלים מבוססי-סוכנים ב-IDE, אפשר ליצור מופע של לקוח MCP שמתחבר לשרת MCP יחיד. יכולים להיות לכם כמה לקוחות שמתחברים לשרתי MCP שונים. כדי להתחבר לשרת MCP מרוחק, לקוח ה-MCP צריך לדעת לפחות את כתובת ה-URL של שרת ה-MCP המרוחק.

לכל לקוח, משתמשים באפשרויות הבאות לפי הצורך.

  • שם השרת: SERVER_NAME
  • נקודת קצה: ENDPOINT
  • Transport: HTTP
  • פרטי אימות: בהתאם לשיטת האימות שרוצים להשתמש בה, אפשר להזין את Google Cloud פרטי הכניסה, את מזהה הלקוח ואת הסוד של לקוח OAuth, או את הזהות ופרטי הכניסה של סוכן.
  • היקף הרשאות 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.

המסוף

  1. מפעילים את הגנה מוגברת על המודל API.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    להפעלת ה-API

  2. בוחרים את הפרויקט שבו רוצים להפעיל את הגנה מוגברת על המודל.

gcloud

לפני שמתחילים, צריך לבצע את השלבים הבאים באמצעות Google Cloud CLI עם Model Armor API:

  1. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  2. מריצים את הפקודה הבאה כדי להגדיר את נקודת קצה ל-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, ראו פתרון בעיות.

המאמרים הבאים