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

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

מידע על הכלים

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

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

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

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

{
  "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 של World Wide Web Consortium‏ (W3C). הערך כולל את:

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

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

מגבלות

  • הקשר יומן מעקב חייב לעמוד בתקן W3C Trace Context, והדגל sampled חייב להיות מוגדר ל-1.

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

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

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

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

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

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

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

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

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

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

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

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

הצגת טווחים

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

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

tools/call NAME

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

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

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

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

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