רישום שרתי MCP

‫Agent Registry פועל כקטלוג מרכזי שבו רושמים ומנהלים את נקודות הקצה של שרת Model Context Protocol‏ (MCP) ואת הכלים הספציפיים שהן חושפות.

במאמר הזה מוסבר איך לרשום שרתי MCP ואיך לנהל את מפרטי הכלים שלהם ב-Agent Registry.

גילוי אוטומטי של Google Cloud שרתי MCP

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

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

היקף וקישורים לשרתי MCP בניהול Google

שרתי MCP מרוחקים שמנוהלים על ידי Google נרשמים באופן אוטומטי בglobalמיקום של הפרויקט. השרתים המובְנים האלה של Google נמצאים בכל העולם, ולכן צריך להחיל עליהם את כל הקישורים של ניהול הזהויות והרשאות הגישה (IAM) ברמה הגלובלית, על ידי ציון הדגל --region=global. קישורי IAM אזוריים, כמו --region=us-central1, לא נתמכים בשרתי MCP גלובליים מרוחקים, ומחזירים שגיאה מסוג NOT_FOUND.

רישום שרתי MCP מ-GKE

כדי להגדיר רישום אוטומטי של שרתי MCP בהתאמה אישית שנפרסו ב-Google Kubernetes Engine (GKE), צריך להוסיף את התווית registry.gke.io/functional-type: "MCP_SERVER" לפריסות ב-GKE.

כדי לאפשר ל-Agent Registry לבצע סריקת אינטרוספקציה ולגלות את כלי ה-MCP, הפריסה צריכה לכלול גם הערות שמצהירות על כתובות ה-URL של נקודות הקצה של השרת ועל פרטי היכולות.

כדי להפעיל תקשורת מאומתת, צריך גם להגדיר זהות סוכן על ידי הוספת ההערה iam.gke.io/spiffe-identity-type: agent-identity למפרט של ה-Pod.

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

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-mcp-server
  labels:
    # GKE takes this label and registers the deployment as an MCP server to the registry
    registry.gke.io/functional-type: "MCP_SERVER"
  annotations:
    # A list of endpoint URLs where the GKE controller can access this MCP server
    modelcontextprotocol.info/urls: |
      - https://my-mcp-server.default.svc.cluster.local/mcp
    # Defines structural capabilities for the MCP server card
    modelcontextprotocol.info/capabilities: |
      card:
        endpoint: "/mcp"
        protocol: "HTTP"
spec:
  selector:
    matchLabels:
      app: my-mcp-server
  template:
    metadata:
      labels:
        app: my-mcp-server
      annotations:
        # Agent Identity annotation for identity and access management
        iam.gke.io/spiffe-identity-type: agent-identity
    spec:
      containers:
      - name: server
        image: gcr.io/my-project/my-mcp-server:1.0.0

כשמחילים את הפריסה, GKE מנסה באופן אוטומטי לקבל את מפרט הכלי מהשרת ורושם את הכלים ישירות במודל הנתונים של Agent Registry. ‫Agent Registry משתמש בשם הפריסה בתור השם המוצג של שרת ה-MCP.

רישום שרתי MCP מ-Cloud Run

כדי להגדיר רישום אוטומטי לשרתי MCP בהתאמה אישית שנפרסו ב-Cloud Run, צריך לציין את הדגל --functional-type=mcp-server כשפורסים אותם.

כשפורסים שירות Cloud Run עם --functional-type=mcp-server, הוא נרשם בקטלוג שרתי ה-MCP ב-Agent Registry. במהלך הרישום, Cloud Run רושם את שם השרת ואת הסוג שלו (MCP_SERVER).

אפשר גם לציין סוג זהות באמצעות הדגל --identity-type. לדוגמה, לציין זהות של agent-identity או service-account. אם לא מציינים את זה, עומס העבודה משתמש כברירת מחדל בזהות של חשבון שירות.

במאמר הגדרת תכונות של Agent Platform ל-Cloud Run מוסבר איך פורסים שירות של שרת MCP ב-Cloud Run.

מידע נוסף זמין במאמרים אירוח שרתי MCP ב-Cloud Run ואימות שרתי MCP.

הרישום האוטומטי מזהה רק משאבים שנפרסו באותו פרויקט ב-Google Cloud .

רישום שרתי MCP חיצוניים

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

כשרושמים שרת MCP באופן ידני, Agent Registry רושם את נקודת הקצה. עם זאת, הוא לא בודק באופן אוטומטי את השרת כדי לקבוע אילו כלים זמינים. כדי שהמשתמשים יוכלו לגלות את הכלים המדויקים שזמינים בשרת ה-MCP, אתם צריכים לספק את מפרטי הכלים במהלך הרישום על ידי העלאת קובץ toolspec.json.

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

לפני שמתחילים, צריך להגדיר את Agent Registry. כדי לבצע את המשימות האלה, צריך את מזהה הפרויקט.

כדי להשתמש בפקודות של ה-CLI של gcloud שמופיעות במאמר הזה, צריך לוודא שהגדרתם את סביבת Google Cloud CLI.

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

כדי לקבל את ההרשאות שנדרשות לרישום ידני של שרתי MCP ב-Agent Registry, צריך לבקש מהאדמין להקצות לכם בפרויקט את התפקיד עריכת Agent Registry API (roles/agentregistry.editor) ב-IAM. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

הכנת מפרט הכלי

יוצרים קובץ toolspec.json שמפרט את הכלים שהשרת מספק. גודל הקובץ המקסימלי של קובץ המפרט הזה הוא 10KB.

קובץ ה-JSON צריך להתאים למפרט של MCP לסכימות של כלים, לדוגמה:

{
  "tools": [
    {
      "name": "get_customer_info",
      "description": "Retrieves customer details from the database.",
      "annotations": {
        "title": "Get Customer Info",
        "readOnlyHint": true,
        "idempotentHint": true
      }
    },
    {
      "name": "create_support_ticket",
      "description": "Creates a new support ticket in the issue tracking system.",
      "annotations": {
        "title": "Create Support Ticket",
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true
      }
    }
  ]
}

לדרישות מבניות מפורטות, ראו סכימות JSON והפניית REST.

רישום השרת והכלים

רישום שרת ה-MCP והעלאת הגדרת הכלי בו-זמנית:

המסוף

  1. במסוף Google Cloud , נכנסים לדף Agent Registry:

    כניסה ל-Agent Registry

  2. בכלי לבחירת פרויקטים, בוחרים את Google Cloud הפרויקט שבו הגדרתם את Agent Registry.

  3. בוחרים בכרטיסייה שרתי MCP.

  4. לוחצים על הוספת שרת MCP.

  5. בחלונית פרטי שרת MCP, מזינים את השם המוצג, תיאור ואת האזור הגיאוגרפי.

  6. בקטע מפרט הכלי, מזינים את כתובת ה-URL של נקודת הקצה של שרת ה-MCP ומדביקים את התוכן של קובץ toolspec.json.

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

  7. לוחצים על הבא.

    בחלונית Select MCP tools מוצגת רשימה של כלים עם שמות ותיאורים משרת ה-MCP.

  8. בוחרים את כל הכלים של MCP שרוצים לכלול. אפשר לסנן את הכלים ברשימה לפי שם או ערך.

  9. לוחצים על Save.

gcloud

הדגלים של המפרט שבהם אתם משתמשים קובעים לאיזה אוסף משאבים השירות שלכם שייך. למיפוי מלא של דגלים לאוספי משאבים, ראו משאבי API.

רושמים את שרת ה-MCP במפרט הכלי:

gcloud agent-registry services create SERVER_NAME \
  --project=PROJECT_ID \
  --location=REGION \
  --display-name="DISPLAY_NAME" \
  --mcp-server-spec-type=tool-spec \
  --mcp-server-spec-content=toolspec.json \
  --interfaces=url=SERVER_URL,protocolBinding=PROTOCOL

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

  • ‫SERVER_NAME: השם שרוצים לתת לשרת ה-MCP, לדוגמה, custom-mcp-server.
  • ‫PROJECT_ID: מזהה הפרויקט.
  • ‫REGION: האזור של המרשם.
  • ‫DISPLAY_NAME: השם הקריא לאנשים שרוצים לתת לשרת, לדוגמה Custom MCP Server.
  • ‫SERVER_URL: כתובת ה-URL של נקודת הקצה של שרת ה-MCP, לדוגמה https://api.example.com/mcp.
  • ‫PROTOCOL: הקישור לפרוטוקול של נקודת הקצה. הערכים התקפים הם jsonrpc,‏ http-json או grpc. בשרתי MCP, הערך הזה הוא בדרך כלל jsonrpc.

Terraform

בלוק המפרט שאתם מגדירים, לדוגמה mcp_server_spec, קובע לאיזה אוסף משאבים השירות שלכם שייך. במאמר משאבי API מפורט מיפוי מלא של המפרטים לאוספי המשאבים.

כדי לרשום שרת MCP ולציין את הכלים שלו, מגדירים משאב google_agent_registry_service עם הבלוק mcp_server_spec:

resource "google_agent_registry_service" "mcp_server" {
  location     = "REGION"
  service_id   = "SERVER_NAME"
  display_name = "DISPLAY_NAME"
  description  = "An external MCP server registered using Terraform."

  interfaces {
    url              = "SERVER_URL"
    protocol_binding = "JSONRPC"
  }

  mcp_server_spec {
    type    = "TOOL_SPEC"
    content = file("toolspec.json")
  }
}

output "server_resource_name" {
  description = "The generated read-only Server resource name."
  value       = google_agent_registry_service.mcp_server.registry_resource
}

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

  • ‫REGION: האזור של המרשם.
  • ‫SERVER_NAME: השם שרוצים לתת לשרת ה-MCP, לדוגמה custom-mcp-server.
  • ‫DISPLAY_NAME: השם הקריא לאנשים שרוצים לתת לשרת, לדוגמה Custom MCP Server.
  • ‫SERVER_URL: כתובת ה-URL של נקודת הקצה של שרת ה-MCP, לדוגמה, https://api.example.com/mcp.

אימות הרישום

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