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 של נקודות הקצה של השרת ועל פרטי היכולות.
בדוגמה הבאה מוצג מניפסט של פריסת שרת 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
spec:
containers:
- name: server
image: gcr.io/my-project/my-mcp-server:1.0.0
כשמחילים את הפריסה, GKE מנסה באופן אוטומטי לקבל את מפרט הכלי מהשרת ולרשום את הכלים ישירות במודל הנתונים של Agent Registry.
רישום שרתי MCP מ-Cloud Run
אתם יכולים להגדיר רישום אוטומטי לשרתי MCP בהתאמה אישית שנפרסו ב-Cloud Run על ידי ציון הדגל --functional-type=mcp-server כשאתם פורסים אותם.
כשפורסים שירות Cloud Run עם --functional-type=mcp-server, הוא נרשם בקטלוג שרתי ה-MCP ב-Agent Registry.
אפשר גם לציין סוג זהות באמצעות הדגל --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 שמופיעות במסמך הזה, צריך לוודא שהגדרתם את סביבת ה-CLI של gcloud.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות לרישום ידני של שרתי MCP ב-Agent Registry, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד Agent Registry API Editor (roles/agentregistry.editor) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הכנת מפרט הכלי
יוצרים קובץ toolspec.json שמתאר את הכלים שהשרת מספק. גודל הקובץ המקסימלי של קובץ המפרט הזה הוא 10 KB.
קובץ ה-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 והעלאת הגדרת הכלי בו-זמנית:
המסוף
במסוף Google Cloud , עוברים אל Agent Registry:
בבורר הפרויקטים, בוחרים את Google Cloud הפרויקט שבו הגדרתם את Agent Registry.
בוחרים בכרטיסייה שרתי MCP.
לוחצים על הוספת שרת MCP.
בחלונית פרטים של שרת MCP, מזינים את השם המוצג, תיאור ואת האזור הגיאוגרפי.
בקטע Tool specification (מפרט הכלי), מזינים את כתובת ה-URL של נקודת הקצה של שרת ה-MCP ומדביקים את התוכן של קובץ
toolspec.json.אפשר גם ללחוץ על ייבוא כלים בחלונית הזו כדי לייבא את כלי ה-MCP מכתובת ה-URL. האפשרות הזו פועלת רק אם כתובת ה-URL של נקודת הקצה של שרת ה-MCP מתארחת באופן ציבורי באינטרנט. אי אפשר להשתמש בתכונה הזו כדי לייבא כלים משרתי MCP בפרטיות.
לוחצים על הבא.
בחלונית Select MCP tools מוצגת רשימת כלים עם שמות ותיאורים משרת ה-MCP.
בוחרים את כל הכלים של MCP שרוצים לכלול. אפשר לסנן את הכלים מהרשימה לפי שם או ערך.
לוחצים על 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 נרשם בהצלחה, אפשר לראות את רשימת השרתים במאגר הרישום.