כלי: get_operation
אחזור הסטטוס של פעולה ממושכת.
שימוש חלק מהכלים (לדוגמה, run_evaluation) מחזירים פעולה ממושכת. אפשר להשתמש בכלי הזה כדי לקבל את סטטוס הפעולה. אפשר לקרוא לה שוב ושוב כדי לדגום את הסטטוס של פעולה ממושכת
פרמטרים * name: שם הפעולה לקבלת הנתונים. * name צריך להיות השם שהוחזר על ידי הכלי שהפעיל את הפעולה. * הערך name צריך להיות בפורמט projects/{project}/locations/{location}/operations/{operation}.
בדוגמת הקוד הבאה מוצג שימוש בפקודה curl כדי להפעיל את הכלי get_operation MCP.
| בקשת Curl |
|---|
curl --location 'https://ces.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_operation", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
סכימת הקלט
ההודעה עם הבקשה בשביל Operations.GetOperation.
GetOperationRequest
| ייצוג ב-JSON |
|---|
{ "name": string } |
| שדות | |
|---|---|
name |
השם של משאב הפעולה. |
סכימת הפלט
המשאב הזה מייצג פעולה ממושכת שמוחזרת מקריאות ל-API ברשת.
פעולה
| ייצוג ב-JSON |
|---|
{ "name": string, "metadata": { "@type": string, field1: ..., ... }, "done": boolean, // Union field |
| שדות | |
|---|---|
name |
השם שהוקצה על ידי השרת, שהוא ייחודי רק בתוך אותו שירות שהחזיר אותו במקור. אם משתמשים במיפוי ברירת המחדל של HTTP, הערך של |
metadata |
מטא-נתונים ספציפיים לשירות שמשויכים לפעולה. הוא בדרך כלל מכיל מידע על ההתקדמות ומטא-נתונים נפוצים כמו זמן היצירה. יכול להיות שחלק מהשירותים לא יספקו מטא-נתונים כאלה. בכל שיטה שמחזירה פעולה ממושכת, צריך לתעד את סוג המטא-נתונים, אם יש כאלה. אובייקט שמכיל שדות מסוג שרירותי. שדה נוסף |
done |
אם הערך הוא |
שדה איחוד result. תוצאת הפעולה, שיכולה להיות error או response תקין. אם done == false, אף אחד מהערכים error או response לא מוגדר. אם done == true, אפשר להגדיר בדיוק אחד מהערכים error או response. יכול להיות שחלק מהשירותים לא יספקו את התוצאה. הערך result יכול להיות רק אחד מהבאים: |
|
error |
תוצאת השגיאה של הפעולה במקרה של כשל או ביטול. |
response |
התגובה הרגילה והמוצלחת של הפעולה. אם השיטה המקורית לא מחזירה נתונים במקרה של הצלחה, כמו אובייקט שמכיל שדות מסוג שרירותי. שדה נוסף |
הכול
| ייצוג ב-JSON |
|---|
{ "typeUrl": string, "value": string } |
| שדות | |
|---|---|
typeUrl |
מזהה את הסוג של הודעת Protobuf שעברה סריאליזציה באמצעות הפניה ל-URI שכוללת קידומת שמסתיימת בקו נטוי ואת שם הסוג שמוגדר במלואו. דוגמה: type.googleapis.com/google.protobuf.StringValue המחרוזת הזו צריכה להכיל לפחות תו אחד של הקידומת היא שרירותית, וההטמעות של Protobuf אמורות פשוט להסיר את כל מה שמופיע עד הסימן כל מחרוזות כתובות ה-URL של הסוג חייבות להיות הפניות URI חוקיות, עם הגבלה נוספת (בפורמט הטקסט) שלפיה התוכן של ההפניה חייב לכלול רק תווים אלפאנומריים, תווים מוברחים בקידוד אחוזים ותווים בערכה הבאה (לא כולל הגרשיים החיצוניים): בתכנון המקורי של |
value |
מכיל סריאליזציה של Protobuf של הסוג שמתואר על ידי type_url. מחרוזת בקידוד Base64. |
סטטוס
| ייצוג ב-JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| שדות | |
|---|---|
code |
קוד הסטטוס, שצריך להיות ערך enum של |
message |
הודעת שגיאה שמוצגת למפתח, שצריכה להיות באנגלית. כל הודעת שגיאה שמוצגת למשתמש צריכה להיות מותאמת לשפה המקומית ולהישלח בשדה |
details[] |
רשימה של הודעות שכוללות את פרטי השגיאה. יש קבוצה משותפת של סוגי הודעות לשימוש בממשקי API. אובייקט שמכיל שדות מסוג שרירותי. שדה נוסף |
הערות בכלי
הערות על כלי נשלחות ללקוחות MCP כדי לתאר את הסיכון הבסיסי של כלי מסוים. רוב הלקוחות מתייחסים לרמזים האלה כאל רמזים לא מהימנים, אבל אפשר להשתמש בהם כדי להחליט מתי לשלוח למשתמש הנחיה לאישור.
בנוסף למחרוזת הכותרת, מוגדרים הרמזים הבוליאניים הבאים:
-
readOnlyHint: אם הערך הוא true, הכלי לא משנה את הסביבה שלו. ברירת מחדל: false. -
destructiveHint: אם הערך הוא True, הכלי יכול לבצע פעולות הרסניות. אם הערך הוא false, הכלי יכול לבצע רק פעולות של הוספה. ברירת מחדל: true. -
idempotentHint: אם הערך הוא True, קריאה חוזרת לכלי עם אותם ארגומנטים לא תשפיע על הסביבה שלו. ברירת מחדל: false. -
openWorldHint: אם הערך הוא true, הכלי יכול ליצור אינטראקציה עם 'עולם פתוח' של ישויות חיצוניות. אם הערך הוא false, הכלי יכול ליצור אינטראקציה רק עם ישויות פנימיות. לדוגמה, כלי לחיפוש באינטרנט יהיה עולם פתוח, אבל כלי לזיכרון לא יהיה עולם פתוח.
רמז הרסני: ❌ | רמז אידמפוטנטי: ✅ | רמז לקריאה בלבד: ✅ | רמז לעולם פתוח: ❌