שימוש בשרת MCP מרוחק של Compute Engine

במאמר הזה נסביר איך להשתמש בשרת Model Context Protocol‏ (MCP) מרוחק של Compute Engine כדי להתחבר לאפליקציות מבוססות-AI, כולל Gemini CLI, ‏ ChatGPT, ‏ Claude ואפליקציות מותאמות אישית שאתם מפתחים. שרת ה-MCP המרוחק של Compute Engine מספק מגוון רחב של יכולות שמאפשרות לסוכני LLM לבצע מגוון משימות של ניהול תשתית, כולל:

  • ניהול מכונות וירטואליות (VM).
  • ניהול של קבוצות מופעי מכונה מנוהלים ותבניות של מופעי מכונה.
  • ניהול דיסקים ותמונות מצב.
  • אחזור מידע על הזמנות והתחייבויות. שרת ה-MCP המרוחק של Compute Engine מופעל כשמפעילים את Compute Engine API.

    Model Context Protocol‏ (MCP) הוא תקן שקובע איך מודלים גדולים של שפה (LLM) ואפליקציות או סוכני AI מתחברים למקורות נתונים חיצוניים. שרתי MCP מאפשרים לכם להשתמש בכלים, במשאבים ובהנחיות שלהם כדי לבצע פעולות ולקבל נתונים מעודכנים משירות ה-Backend שלהם.

    מה ההבדל בין שרתי MCP מקומיים לבין שרתי MCP מרחוק?

    שרתי MCP מקומיים
    בדרך כלל פועלים במחשב המקומי ומשתמשים בזרמי הקלט והפלט הרגילים (stdio) לתקשורת בין שירותים באותו מכשיר.
    שרתי MCP מרוחקים
    פועל בתשתית של השירות ומציע נקודת קצה של HTTP לאפליקציות AI לצורך תקשורת בין לקוח ה-MCP של ה-AI לבין שרת ה-MCP. מידע נוסף על ארכיטקטורת MCP זמין במאמר ארכיטקטורת MCP.

    Google ושרתי MCP מרוחקים Google Cloud

    לשרתי MCP של Google ושרתי MCP מרוחקים יש את התכונות והיתרונות הבאים: Google Cloud

    • גילוי פשוט ומרכזי
    • נקודות קצה (endpoints) מנוהלות של HTTP ברמה הגלובלית או האזורית
    • הרשאות פרטניות
    • אבטחת הנחיות ותשובות אופציונלית באמצעות הגנה מוגברת על המודל
    • רישום מרכזי ביומן הביקורת

    מידע על שרתי MCP אחרים ועל אמצעי אבטחה ובקרה שזמינים לשרתי Google Cloud MCP מופיע במאמר סקירה כללית על שרתי Google Cloud MCP.

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

    1. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

      Go to project selector

    2. Verify that billing is enabled for your Google Cloud project.

    3. Make sure that you have the following role or roles on the project: Compute Instance Admin (v1), Compute Security Admin, Service Account User, Service Usage Admin

      Check for the roles

      1. In the Google Cloud console, go to the IAM page.

        Go to IAM
      2. Select the project.
      3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

      4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

      Grant the roles

      1. In the Google Cloud console, go to the IAM page.

        Go to IAM
      2. Select the project.
      3. Click Grant access.
      4. In the New principals field, enter your user identifier. This is typically the identifier for a user in a workforce identity pool. For details, see Represent workforce pool users in IAM policies, or contact your administrator.

      5. Click Select a role, then search for the role.
      6. To grant additional roles, click Add another role and add each additional role.
      7. Click Save.
    4. מפעילים את Compute Engine API.

      הפעלת Compute Engine API

    התפקידים הנדרשים

    כדי לקבל את ההרשאות שנדרשות לשימוש בשרת ה-MCP המרוחק של Compute Engine, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים ב Google Cloud פרויקט:

    להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

    התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות כדי להשתמש בשרת MCP מרוחק של Compute Engine. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

    ההרשאות הנדרשות

    כדי להשתמש בשרת MCP מרוחק של Compute Engine, צריך את ההרשאות הבאות:

    • ביצוע קריאות לכלי ה-MCP: mcp.tools.call

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

    בנוסף, צריך את התפקידים וההרשאות שנדרשים לביצוע הפעולות ב-Compute Engine. מידע נוסף זמין במאמר בנושא תפקידים והרשאות ב-Compute Engine.

    אימות והרשאה

    שרתי MCP של Compute Engine משתמשים בפרוטוקול OAuth 2.0 עם ניהול זהויות והרשאות גישה (IAM) לאימות ולמתן הרשאות. כל Google Cloud הזהויות נתמכות לצורך אימות לשרתי MCP.

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

    היקפי הרשאות OAuth ב-Compute Engine MCP

    ב-OAuth 2.0 משתמשים בהיקפי הרשאות ובפרטי כניסה כדי לקבוע אם לגורם מאומת מסוים יש הרשאה לבצע פעולה ספציפית במשאב. מידע נוסף על היקפי OAuth 2.0 ב-Google זמין במאמר שימוש ב-OAuth 2.0 לגישה ל-Google APIs.

    ל-Compute Engine יש את היקפי ההרשאות הבאים של OAuth בכלי ה-MCP:

    URI של היקף ל-CLI של gcloud תיאור
    https://www.googleapis.com/auth/compute.read-only היקף ההרשאות הזה מאפשר גישה רק לקריאת נתונים.
    https://www.googleapis.com/auth/compute.read-write היקף ההרשאות הזה מאפשר לקרוא ולשנות נתונים.

    יכול להיות שיידרשו היקפי הרשאות נוספים במשאבים שאליהם ניגשים במהלך הפעלת כלי. כדי לראות רשימה של היקפי ההרשאות שנדרשים ל-Compute Engine, אפשר לעיין במאמר בנושא Compute Engine API.

    הגדרת לקוח MCP לשימוש בשרת MCP של Compute Engine

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

    באפליקציית ה-AI, מחפשים דרך להוסיף או להתחבר לשרת MCP מרוחק. בשרת ה-MCP של Compute Engine, מזינים את הפרטים הבאים לפי הצורך:

    • שם השרת: שרת ה-MCP של Compute Engine
    • כתובת URL של השרת או נקודת קצה: https://compute.googleapis.com/mcp
    • Transport: HTTP
    • פרטי אימות: בהתאם לשיטת האימות שבה רוצים להשתמש, אפשר להזין את Google Cloud פרטי הכניסה, את מזהה הלקוח וסוד הלקוח של OAuth, או את הזהות ופרטי הכניסה של סוכן. מידע נוסף על אימות זמין במאמר אימות לשרתי MCP.

    ‫URI של הפניה אוטומטית

    באפליקציות מבוססות-אינטרנט ובחלק מהאפליקציות למחשב, צריך להוסיף לרשימת ההיתרים URI להפניה אוטומטית כשיוצרים מזהה לקוח וסוד לאימות. שרת ההרשאות משתמש בכתובות ה-URI להפניה אוטומטית כדי לשלוח טוקנים לאפליקציה שלכם. במסמכי התיעוד של האפליקציה צריך לציין את ה-URI להפניה אוטומטית שבו צריך להשתמש. אין תמיכה בכתובות URI מותאמות אישית להפניה אוטומטית.

    הנחיות ספציפיות לאפליקציות לגבי הגדרה וחיבור לשרת MCP מפורטות במאמר הנחיות ספציפיות ללקוחות.

    הנחיות כלליות נוספות זמינות במקורות המידע הבאים:

    כלים זמינים

    כדי לראות פרטים על כלי MCP זמינים והתיאורים שלהם בשרת ה-MCP של Compute Engine, אפשר לעיין בהפניה ל-MCP של Compute Engine.

    כלים ליצירת רשימות

    אפשר להשתמש בכלי הבדיקה של MCP כדי להציג רשימה של כלים, או לשלוח בקשת HTTP‏ tools/list ישירות לשרת MCP המרוחק של Compute Engine. בשיטה tools/list לא נדרש אימות.

    POST /mcp HTTP/1.1
    Host: compute.googleapis.com
    Content-Type: application/json
    
    {
      "jsonrpc": "2.0",
      "method": "tools/list",
    }
    

    תרחישים לדוגמה

    בדוגמאות הבאות לתרחישי שימוש מוסבר איך אפשר להשתמש בשרת MCP של Compute Engine כדי לנהל משאבים של Compute Engine:

    • בדיקה וניהול של משאבים. לדוגמה, כדי להבין את הקצאת המשאבים וההגדרה בפרויקט, אפשר להציג רשימה של כל מכונות ה-Compute. אתם יכולים גם למצוא את כל מופעי המחשוב שפועלים באזור מסוים ומצורף אליהם מאיץ ספציפי, ולהציג את המיקום והשם שלהם לניהול משאבים.
    • מחיקת משאבים שלא בשימוש כדי לצמצם את עלויות התפעול. לדוגמה, אפשר לזהות ולנקות תמונות מצב של דיסקים באזור שכבר לא משויכות לדיסק מקור, או לזהות ולמחוק מכונות וירטואליות מושבתות שמצורפים אליהן משאבי GPU יקרים.
    • אופטימיזציה של ביצועי המופע. לדוגמה, אפשר לשנות את הגודל של מכונה וירטואלית (VM) עם הקצאת משאבים נמוכה מדי לסוג מכונה גדול יותר באותה משפחה, ולאשר שהעדכון בוצע בהצלחה.
    • הקצאת מכונות וירטואליות ייעודיות לעומסי עבודה של AI עם גמישות באזורים. לדוגמה, אפשר ליצור מכונה וירטואלית עם מאיץ GPU ספציפי מצורף, בכל תחום באזור שבו הוא זמין.
    • פתרון בעיות ואימות של הגדרות מופעים לדוגמה, אפשר לאחזר פרטי הגדרה של מכונת VM ספציפית שבה העבודה קפאה, להפעיל אותה מחדש ולוודא שהמאיץ והדיסק הבסיסיים מצורפים.

    הנחיות לדוגמה

    בהמשך מפורטות דוגמאות להנחיות שבהן אפשר להשתמש כדי לבצע משימות באמצעות שרת ה-MCP של Compute Engine:

    • ‫"List all VMs in PROJECT_ID, including the VM name and zone."
    • ‫"Show the instance details for VM_NAME" (הצגת פרטי המופע של VM_NAME).
    • ‫"In REGION, find all disk snapshots for which the source disk no longer exists."
    • ‫שנה את סוג המכונה של VM_NAME לסוג המכונה הגדול הבא באותה משפחת מכונות, שלח התראה כשהיא חוזרת למצב מקוון, ואשר את סוג המכונה החדש.
    • ‫"Find all running VMs in REGION with NVIDIA accelerators, and show the zone and name for these VMs."
    • ‫"Create a VM in ZONE with an NVIDIA T4 accelerator attached. תנו ל-VM את השם my-nvidiat4-vm."
    • ‫"Find all stopped VMs in REGION with NVIDIA Tesla T4 accelerators, and delete them." (חיפוש של כל מכונות ה-VM שהופסקו ב-REGION עם מאיצי NVIDIA Tesla T4 ומחיקה שלהן).

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • REGION: שם האזור שבו נמצאים המשאבים.
    • ZONE: השם של האזור שבו נמצאות המכונות הווירטואליות.
    • VM_NAME: השם של מופע מכונת ה-VM.

    הגדרות אבטחה ובטיחות אופציונליות

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

    מידע נוסף על אבטחה וניהול של MCP זמין במאמר בנושא אבטחה ובטיחות של AI.

    שימוש בהגנה מוגברת על המודל

    Model Armor הואGoogle Cloud שירות שנועד לשפר את האבטחה והבטיחות של אפליקציות ה-AI שלכם. היא פועלת על ידי סינון יזום של הנחיות ותשובות של מודלים גדולים של שפה (LLM), הגנה מפני סיכונים שונים ותמיכה בשיטות עבודה אחראיות בתחום ה-AI. בין אם אתם פורסים AI בסביבת הענן שלכם או אצל ספקי שירותי ענן חיצוניים, הגנה מוגברת על המודל יכול לעזור לכם למנוע קלט זדוני, לאמת את בטיחות התוכן, להגן על מידע אישי רגיש, לשמור על תאימות ולאכוף את מדיניות הבטיחות והאבטחה של ה-AI באופן עקבי בסביבת ה-AI המגוונת שלכם.

    כשמפעילים את Model Armor עם הפעלת רישום ביומן, המערכת רושמת ביומן את כל מטען הנתונים. הפעולה הזו עלולה לחשוף מידע רגיש ביומני הרישום.

    הפעלת Model Armor

    כדי להשתמש ב-Model Armor, צריך להפעיל את ממשקי ה-API של Model Armor.

    המסוף

    1. מפעילים את Model Armor API.

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

      כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

      להפעלת ה-API

    2. בוחרים את הפרויקט שבו רוצים להפעיל את Model Armor.

    gcloud

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

    1. התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init

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

      gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"

      מחליפים את LOCATION באזור שבו רוצים להשתמש ב-Model Armor.

    הגדרת הגנה לשרתי 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 – מסוכן'. אפשר לשנות את ההגדרה הזו, אבל ערכים נמוכים יותר עלולים להוביל ליותר תוצאות חיוביות כוזבות. מידע נוסף זמין במאמר בנושא רמות הסמך של Model Armor.

    השבתת סריקת תעבורת נתונים של 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 . התכונה הגנה מוגברת על המודל לא מחילה באופן אוטומטי את הכללים שמוגדרים בהגדרות אבטחה מינימליות של הפרויקט הזה על תעבורת נתונים של שרת Google MCP.

    ההגדרות של הסף התחתון של Model Armor וההגדרה הכללית יכולות להשפיע על יותר דברים מאשר רק על MCP. ‫Model Armor משולב עם שירותים כמו Vertex AI, ולכן כל שינוי שתבצעו בהגדרות של רמת הבסיס יכול להשפיע על סריקת התנועה ועל התנהגויות הבטיחות בכל השירותים המשולבים, ולא רק ב-MCP.

    שליטה בשימוש ב-MCP באמצעות כללי מדיניות דחייה ב-IAM

    כללי מדיניות הדחייה של ניהול זהויות והרשאות גישה (IAM) עוזרים לכם לאבטח שרתי MCP מרוחקים. Google Cloud כדאי להגדיר את המדיניות הזו כדי לחסום גישה לא רצויה לכלי MCP.

    לדוגמה, אתם יכולים לדחות או לאשר גישה על סמך:

    • הקרן
    • מאפייני כלי כמו קריאה בלבד
    • מזהה הלקוח ב-OAuth של האפליקציה

    מידע נוסף זמין במאמר שליטה בשימוש ב-MCP באמצעות ניהול זהויות וגישה.

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