חקירת שיחות MCP באמצעות Trace

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

מידע על כלים

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

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

איך הקשר יומן מעקב מועבר לשרת MCP

בדפי העזרה של MCP, כמו המסמכים של list_log_entries, יש דוגמה לפקודה curl שאפשר להשתמש בה כדי לשלוח בקשות HTTP לכלי. מטען ה-JSON (payload) שנשלח בבקשה דומה לזה:

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "NAME",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "id": 1
}

הערך בשדה name הוא שם הכלי, כמו list_log_entries. השדה arguments מכיל את המידע שנדרש כדי שהפעולה תשלים את הבקשה.

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

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "NAME",
    "arguments": {
      // provide these details according to the tool's MCP specification
    },
    "_meta": {
        "traceparent": "00-TRACE_ID-PARENT_SPAN_ID-SAMPLED_FLAG",
        "tracestate": "Vendor specific information."
      },
  },
  "id": 1
}

הנתונים של _meta כוללים את השדה traceparent. הפורמט של הערך בשדה הזה מוגדר על ידי traceparent header של World Wide Web Consortium ‏ (W3C). הערך כולל את:

  • גרסה של מפרט traceparent (00).
  • המזהה של המעקב (TRACE_ID).
  • המזהה של טווח הזמן של השיחה (PARENT_SPAN_ID).
  • האם הטווח שביצע את הקריאה דגם את הבקשה (SAMPLED_FLAG). הערך של השדה הזה הוא 01 אם הבקשה נדגמה, ו-00 אם היא לא נדגמה.

השדה tracestate מכיל מידע מעקב ספציפי לספק.

מגבלות

  • הקשר יומן המעקב צריך להיות בהתאם לתקן W3C Trace Context, וצריך להגדיר את הדגל sampled לערך 1.

  • שרתי MCP מרוחקים של Google Cloud יכולים ליצור טווח יחיד לפעולה tools/call, אבל הם לא יוצרים טווחים לסוגים אחרים של פעולות או טווחי צאצא לפעולה tools/call.

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

שרתי MCP שתומכים במעקב

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

שרתים באירוח עצמי

מומלץ להגדיר את שרתי ה-MCP המתארחים באופן עצמאי כך שישלחו נתוני טלמטריה לפרויקט Google Cloud שלכם. אם משתמשים ב-Python, אפשר ליצור טווחים עבור פעולות tools/call באמצעות המכשיר. מידע נוסף זמין במאמר ביצוע אינסטרומנטציה לשרת MCP באירוח עצמי באמצעות OpenTelemetry.

שרתי Google ו- Google Cloud MCP מרוחקים שתומכים במעקב

המוצרים הבאים מכילים שילוב שמאפשר לשרת ה-MCP המרוחק שלהם ליצור טווח מעקב עבור פעולה מסוג tools/call:

מוצר חומרי עזר
Cloud Logging הפניה ל-MCP של Cloud Logging
Cloud Monitoring הפניה ל-MCP של Cloud Monitoring
Maps Grounding Lite הפניה ל-MCP ב-Maps Grounding Lite
GKE חומר עזר בנושא GKE MCP
Cloud Run הפניה ל-Cloud Run MCP
Compute Engine הפניה ל-Compute Engine MCP
Google Security Operations הפניה ל-Google SecOps MCP
‫AlloyDB ל-PostgreSQL הפניה ל-MCP ל-AlloyDB ל-PostgreSQL
חיפוש מבוסס סוכנים הפניה ל-MCP של חיפוש מבוסס סוכנים
Cloud SQL
BigQuery הפניה ל-BigQuery MCP
‫Service Health בהתאמה אישית הפניה ל-MCP במרכז האישי ב-Service Health
חיוב ב-Cloud הפניה ל-MCP בנושא חיוב ב-Cloud
פותר הבעיות שקשורות למדיניות הפניה לפתרון בעיות שקשורות למדיניות ב-MCP
Managed Service for Apache Airflow הפניה ל-MCP של Managed Service for Apache Airflow
Datastream הפניה ל-MCP של Datastream
כלי הניתוח למדיניות הפניה ל-MCP בכלי הניתוח למדיניות
Unified Maintenance הפניה ל-MCP של Unified Maintenance
ניהול זהויות והרשאות גישה הפניה ל-MCP של ניהול זהויות והרשאות גישה
שירות מדיניות הארגון הפניה ל-MCP של שירות מדיניות הארגון
Spanner חומרי עזר בנושא Spanner MCP
Security Command Center הפניה ל-Security Command Center MCP

הגדרת האפליקציה

אפשר להשתמש בכל framework או SDK שמעבירים את הקשר יומן המעקב באמצעות השדה _meta. מסגרות וערכות ה-SDK האלה כוללות את אלה שתומכות במוסכמות הסמנטיות של OpenTelemetry ל-MCP.

לדוגמה, אפשר להשתמש במסגרת של ערכה לפיתוח סוכנים (ADK). מידע נוסף מופיע במאמר ביצוע אינסטרומנטציה של אפליקציות ADK באמצעות OpenTelemetry.

הצגת טווחים

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

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

tools/call NAME

בביטוי הקודם, NAME מתייחס לכלי שהופעל – לדוגמה, list_keys. מוסכמת השמות הזו מוגדרת במוסכמות הסמנטיות של OpenTelemetry עבור MCP.

כדי למצוא את טווחי הזמן האלה, משתמשים בסרגל הסינון ומוסיפים מסנן מאפיינים ל-mcp.method.name. מגדירים את ערך המסנן ל-tools/call. מידע מפורט על השלבים האלה זמין במאמר בנושא צפייה בקריאות לשרתי MCP מרוחקים.

דוגמאות של אינסטרומנטציה

המלצות להטמעה מפורטות במאמר בחירת גישה להטמעה.

הדוגמאות של שדרוג המידע שאנחנו מספקים משתמשות ב-OpenTelemetry: