שימוש בשרת MCP מרוחק של Bigtable

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

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

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

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

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

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. 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

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

  4. Enable the Bigtable Admin API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. 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.

    Enable the API

  5. 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

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

  7. Enable the Bigtable Admin API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. 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.

    Enable the API

  8. מריצים את הפקודה הבאה כדי להתקין את ה-CLI של cbt:
    gcloud components install cbt

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

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

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

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

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

כדי להשתמש בשרת Bigtable MCP, נדרשות ההרשאות הבאות:

  • ביצוע קריאות לכלי ה-MCP: mcp.tools.call
  • מעניק גישה מלאה למשאבי Bigtable ומאפשר להקצות תפקידי IAM ב-Bigtable: bigtable.admin

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

אימות והרשאה

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

שרת ה-MCP המרוחק של Bigtable לא מקבל מפתחות API.

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

היקפי הרשאות OAuth של Bigtable MCP

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

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

URI של היקף ל-CLI של gcloud תיאור
https://www.googleapis.com/auth/bigtable.admin מעניק גישה מלאה למשאבי Bigtable ומאפשר להקצות תפקידי IAM של Bigtable.

יכול להיות שיידרשו היקפי הרשאות נוספים במשאבים שאליהם ניגשים במהלך הפעלת כלי. רשימת ההיקפים הנדרשים ל-Bigtable מופיעה במאמר היקפי OAuth 2.0 ל-Bigtable Admin API v2.

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

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

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

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

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

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

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

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

כלים זמינים

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

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

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

POST /mcp HTTP/1.1
Host: bigtableadmin.googleapis.com
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/list",
}

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

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

  • ‫"Create an instance INSTANCE_ID in project PROJECT_ID in zone ZONE_ID with NODES nodes".
  • ‫"List instances in project PROJECT_ID." ‏(הצגת רשימת המופעים בפרויקט PROJECT_ID)
  • ‫"Get instance INSTANCE_ID in project PROJECT_ID" (קבלת מופע INSTANCE_ID בפרויקט PROJECT_ID).
  • ‫"Delete instance INSTANCE_ID in project PROJECT_ID." (מחיקת מופע INSTANCE_ID בפרויקט PROJECT_ID).
  • ‫"Create a table TABLE_ID in instance INSTANCE_ID in project PROJECT_ID."
  • ‫"List tables in instance INSTANCE_ID project PROJECT_ID."
  • ‫"Get table TABLE_ID in INSTANCE_ID project PROJECT_ID."
  • ‫"Delete table TABLE_ID in instance INSTANCE_ID project PROJECT_ID."

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

  • PROJECT_ID במזהה הפרויקט ב- Google Cloud .
  • INSTANCE_ID במזהה של מופע Bigtable.
  • ZONE_ID עם האזור שבו האשכול פועל.
  • TABLE_ID במזהה הטבלה ב-Bigtable.
  • אם רוצים לשלוט במספר הצמתים באשכול, מחליפים את NODES במספר הצמתים שרוצים באשכול. אם לא מציינים ערך, ברירת המחדל היא 1.

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

ה-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. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

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

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

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

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

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

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

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

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

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

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