MCP Tools Reference: ces.googleapis.com

כלי: get_conversation

מקבל פרטים של השיחה שצוינה.

בדוגמת הקוד הבאה מוצג שימוש בפקודה curl כדי להפעיל את הכלי get_conversation 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_conversation",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

סכימת הקלט

בקשת הודעה עבור AgentService.GetConversation.

GetConversationRequest

ייצוג ב-JSON
{
  "name": string,
  "source": enum (Source)
}
שדות
name

string

חובה. שם המשאב של השיחה שרוצים לאחזר.

source
(deprecated)

enum (Source)

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

מקור

המקור של השיחה.

טיפוסים בני מנייה (enum)
SOURCE_UNSPECIFIED מקור לא מוגדר.
LIVE השיחה היא ממשתמש הקצה הפעיל.
SIMULATOR השיחה היא מהסימולטור.
EVAL השיחה היא מההערכה.
AGENT_TOOL השיחה היא מכלי של סוכן. כלי הסוכן מריץ את הסוכן בסשן נפרד, שנשמר למטרות בדיקה וניפוי באגים.

סכימת הפלט

שיחה מייצגת אינטראקציה בין משתמש קצה לבין אפליקציית CES.

שיחה

ייצוג ב-JSON
{
  "name": string,
  "startTime": string,
  "endTime": string,
  "turns": [
    {
      object (Turn)
    }
  ],
  "turnCount": integer,
  "channelType": enum (ChannelType),
  "source": enum (Source),
  "inputTypes": [
    enum (InputType)
  ],
  "entryAgent": string,
  "deployment": string,
  "appVersion": string,
  "languageCode": string,
  "messages": [
    {
      object (Message)
    }
  ]
}
שדות
name

string

מזהה. המזהה הייחודי של השיחה. פורמט: projects/{project}/locations/{location}/apps/{app}/conversations/{conversation}

startTime

string (Timestamp format)

פלט בלבד. חותמת הזמן שבה השיחה נוצרה.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

פלט בלבד. חותמת זמן של סיום השיחה.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

turns[]

object (Turn)

חובה. התורות בשיחה.

turnCount

integer

פלט בלבד. מספר התורות בשיחה.

channelType
(deprecated)

enum (ChannelType)

הוצא משימוש. במקומה צריך להשתמש ב-input_types.

source

enum (Source)

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

inputTypes[]

enum (InputType)

פלט בלבד. סוגי הקלט של השיחה.

entryAgent

string

פלט בלבד. הסוכן שמטפל בשיחה בהתחלה. אם לא מציינים סוכן, השיחה מטופלת על ידי סוכן הבסיס. פורמט: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

deployment

string

פלט בלבד. הפריסה של האפליקציה שמשמשת לעיבוד השיחה. פורמט: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

appVersion

string

פלט בלבד. גרסת האפליקציה שמשמשת לעיבוד השיחה. פורמט: projects/{project}/locations/{location}/apps/{app}/versions/{version}

languageCode

string

פלט בלבד. קוד השפה של השיחה.

messages[]
(deprecated)

object (Message)

הוצאה משימוש, במקום זאת, אפשר להשתמש בתורות.

חותמת הזמן

ייצוג ב-JSON
{
  "seconds": string,
  "nanos": integer
}
שדות
seconds

string (int64 format)

מייצג את השניות של זמן UTC מאז ראשית זמן יוניקס (Unix epoch) ‏1970-01-01T00:00:00Z. הערך צריך להיות בין ‎-62135596800 ל-253402300799 כולל (שמתאים לטווח 0001-01-01T00:00:00Z עד 9999-12-31T23:59:59Z).

nanos

integer

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

סיבוב

ייצוג ב-JSON
{
  "messages": [
    {
      object (Message)
    }
  ],
  "rootSpan": {
    object (Span)
  },
  "userIntendedText": string
}
שדות
messages[]

object (Message)

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

rootSpan

object (Span)

זה שינוי אופציונלי. טווח הבסיס של עיבוד הפעולה.

userIntendedText

string

זה שינוי אופציונלי. הטקסט המיועד של האמת הבסיסית מהמתקשר המדומה (Polysynth). הנתונים יאוכלסו רק אם תפעילו את מדדי שיעור השגיאות במילים.

הודעה

ייצוג ב-JSON
{
  "role": string,
  "chunks": [
    {
      object (Chunk)
    }
  ],
  "eventTime": string
}
שדות
role

string

זה שינוי אופציונלי. התפקיד בשיחה, למשל: משתמש, נציג.

chunks[]

object (Chunk)

זה שינוי אופציונלי. תוכן ההודעה כסדרה של נתחים.

eventTime

string (Timestamp format)

זה שינוי אופציונלי. חותמת הזמן שבה ההודעה נשלחה או התקבלה. אסור להשתמש בתג הזה אם ההודעה היא חלק מexample.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

מקטע

ייצוג ב-JSON
{

  // Union field data can be only one of the following:
  "text": string,
  "transcript": string,
  "blob": {
    object (Blob)
  },
  "payload": {
    object
  },
  "image": {
    object (Image)
  },
  "toolCall": {
    object (ToolCall)
  },
  "toolResponse": {
    object (ToolResponse)
  },
  "agentTransfer": {
    object (AgentTransfer)
  },
  "updatedVariables": {
    object
  },
  "defaultVariables": {
    object
  }
  // End of list of possible types for union field data.
}
שדות
שדה איחוד data. מקטעים של נתונים. הערך data יכול להיות רק אחד מהבאים:
text

string

זה שינוי אופציונלי. נתוני טקסט.

transcript

string

זה שינוי אופציונלי. תמליל שמשויך לאודיו.

blob

object (Blob)

זה שינוי אופציונלי. נתוני Blob.

payload

object (Struct format)

זה שינוי אופציונלי. נתונים של מטען ייעודי בהתאמה אישית.

image

object (Image)

זה שינוי אופציונלי. נתוני תמונה.

toolCall

object (ToolCall)

זה שינוי אופציונלי. בקשה להרצת כלי.

toolResponse

object (ToolResponse)

זה שינוי אופציונלי. תשובה להרצת הכלי.

agentTransfer

object (AgentTransfer)

זה שינוי אופציונלי. אירוע של העברה לסוכן.

updatedVariables

object (Struct format)

מבנה הנתונים מייצג משתנים שעודכנו בשיחה, עם שמות המשתנים כמפתחות.

defaultVariables

object (Struct format)

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

Blob

ייצוג ב-JSON
{
  "mimeType": string,
  "data": string
}
שדות
mimeType

string

חובה. סוג ה-MIME התקני של IANA של נתוני המקור.

data

string (bytes format)

חובה. בייטים גולמיים של ה-blob.

מחרוזת בקידוד Base64.

Struct

ייצוג ב-JSON
{
  "fields": {
    string: value,
    ...
  }
}
שדות
fields

map (key: string, value: value (Value format))

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

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

ייצוג ב-JSON
{
  "key": string,
  "value": value
}
שדות
key

string

value

value (Value format)

ערך

ייצוג ב-JSON
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
שדות
שדה איחוד kind. סוג הערך. הערך kind יכול להיות רק אחד מהבאים:
nullValue

null

מייצג JSON null.

numberValue

number

מייצג מספר ב-JSON. הערך לא יכול להיות NaN, Infinity או -Infinity, כי אין תמיכה בערכים האלה ב-JSON. בנוסף, אי אפשר לייצג ערכי Int64 גדולים, כי פורמט JSON בדרך כלל לא תומך בהם בסוג המספר שלו.

stringValue

string

מייצג מחרוזת JSON.

boolValue

boolean

מייצג ערך בוליאני ב-JSON (הערכים true או false ב-JSON).

structValue

object (Struct format)

מייצג אובייקט JSON.

listValue

array (ListValue format)

מייצג מערך JSON.

ListValue

ייצוג ב-JSON
{
  "values": [
    value
  ]
}
שדות
values[]

value (Value format)

שדה חוזר של ערכים עם הקלדה דינמית.

תמונה

ייצוג ב-JSON
{
  "mimeType": string,
  "data": string,
  "altText": string
}
שדות
mimeType

string

חובה. סוג ה-MIME התקני של IANA של נתוני המקור. סוגי התמונות הנתמכים כוללים: * image/png * image/jpeg * image/webp

data

string (bytes format)

חובה. בייטים גולמיים של התמונה.

מחרוזת בקידוד Base64.

altText

string

זה שינוי אופציונלי. הטקסט החלופי של התמונה.

ToolCall

ייצוג ב-JSON
{
  "id": string,
  "displayName": string,
  "args": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,

  // Union field tool_identifier can be only one of the following:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of list of possible types for union field tool_identifier.
}
שדות
id

string

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

displayName

string

פלט בלבד. השם המוצג של הכלי.

args

object (Struct format)

זה שינוי אופציונלי. פרמטרי הקלט והערכים של הכלי בפורמט אובייקט JSON.

parentToolCallId

string

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

agentName

string

פלט בלבד. השם של הסוכן שהנפיק את השיחה הזו, בפורמט שקריא לבני אדם, למשל Contract Architect. ריק אם הסוכן הראשי הנפיק אותו.

שדה איחוד tool_identifier. המזהה של הכלי שיש להפעיל. יכול להיות שמדובר בכלי קבוע או בכלי מתוך ערכת כלים. הערך tool_identifier יכול להיות רק אחד מהבאים:
tool

string

זה שינוי אופציונלי. שם הכלי להפעלה. פורמט: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

זה שינוי אופציונלי. הכלי להרצה מתוך ערכת הכלים.

ToolsetTool

ייצוג ב-JSON
{
  "toolset": string,
  "toolId": string
}
שדות
toolset

string

חובה. שם המשאב של ערכת הכלים שממנה נגזר הכלי הזה. פורמט: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolId

string

זה שינוי אופציונלי. מזהה הכלי לסינון הכלים כדי לאחזר את הסכימה שלהם.

ToolResponse

ייצוג ב-JSON
{
  "id": string,
  "displayName": string,
  "response": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,

  // Union field tool_identifier can be only one of the following:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of list of possible types for union field tool_identifier.
}
שדות
id

string

זה שינוי אופציונלי. מזהה התשובה התואם של tool call.

displayName

string

פלט בלבד. השם המוצג של הכלי.

response

object (Struct format)

חובה. תוצאת ההפעלה של הכלי בפורמט אובייקט JSON. משתמשים במפתח 'output' כדי לציין את התגובה של הכלי ובמפתח 'error' כדי לציין את פרטי השגיאה (אם יש). אם לא מציינים את המפתחות output ו-error, כל התגובה נחשבת לתוצאת ההפעלה של הכלי.

parentToolCallId

string

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

agentName

string

פלט בלבד. השם של הסוכן שהנפיק את השיחה הזו, בפורמט שקריא לבני אדם, למשל Contract Architect. ריק אם הסוכן הראשי הנפיק אותו.

שדה איחוד tool_identifier. המזהה של הכלי שהופעל. יכול להיות שמדובר בכלי קבוע או בכלי מתוך ערכת כלים. הערך tool_identifier יכול להיות רק אחד מהבאים:
tool

string

זה שינוי אופציונלי. שם הכלי להפעלה. פורמט: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

זה שינוי אופציונלי. הכלי בערכת הכלים שהופעל.

AgentTransfer

ייצוג ב-JSON
{
  "targetAgent": string,
  "displayName": string
}
שדות
targetAgent

string

חובה. הסוכן שאליו מועברת השיחה. הנציג יטפל בשיחה מכאן ואילך. פורמט: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

פלט בלבד. השם המוצג של הנציג.

Span

ייצוג ב-JSON
{
  "name": string,
  "startTime": string,
  "endTime": string,
  "duration": string,
  "attributes": {
    object
  },
  "childSpans": [
    {
      object (Span)
    }
  ]
}
שדות
name

string

פלט בלבד. שם הטווח.

startTime

string (Timestamp format)

פלט בלבד. שעת ההתחלה של טווח הזמן.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

פלט בלבד. שעת הסיום של טווח הזמן.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

duration

string (Duration format)

פלט בלבד. משך הזמן של הטווח.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-s. דוגמה: "3.5s".

attributes

object (Struct format)

פלט בלבד. מאפייני מפתח/ערך שמשויכים לטווח.

childSpans[]

object (Span)

פלט בלבד. טווחים משניים שמוטמעים בטווח הזה.

משך

ייצוג ב-JSON
{
  "seconds": string,
  "nanos": integer
}
שדות
seconds

string (int64 format)

מספר השניות עם סימן של טווח הזמן. הערך חייב להיות בין ‎-315,576,000,000 לבין ‎+315,576,000,000, כולל. הערה: הגבולות האלה מחושבים לפי: 60 שניות בדקה * 60 דקות בשעה * 24 שעות ביממה * 365.25 ימים בשנה * 10,000 שנים

nanos

integer

שברים חתומים של שנייה ברזולוציית ננו-שנייה של טווח הזמן. משכי זמן של פחות משנייה אחת מיוצגים באמצעות שדה seconds עם הערך 0 ושדה nanos עם ערך חיובי או שלילי. למשכי זמן של שנייה אחת או יותר, הערך בשדה nanos צריך להיות שונה מאפס ובעל אותו סימן כמו הערך בשדה seconds. הערך צריך להיות בין ‎-999,999,999 לבין ‎+999,999,999, כולל.

NullValue

מייצג JSON null.

‫NullValue הוא ערך שמירה, שמשתמש בסוג enum עם ערך אחד בלבד כדי לייצג את ערך ה-null עבור איחוד הסוגים Value.

שדה מסוג NullValue עם ערך כלשהו שאינו 0 נחשב לא תקין. רוב הסריאליזטורים של ProtoJSON יפלטו Value עם null_value שמוגדר כ-JSON null בלי קשר לערך המספרי, ולכן יבצעו המרה הלוך ושוב לערך 0.

טיפוסים בני מנייה (enum)
NULL_VALUE ערך null.

ChannelType

סוג הערוץ של השיחה.

טיפוסים בני מנייה (enum)
CHANNEL_TYPE_UNSPECIFIED סוג הערוץ לא צוין.
TEXT השיחה מכילה רק הודעות טקסט בין משתמש הקצה לבין הסוכן.
AUDIO השיחה מכילה הודעות אודיו בין משתמש הקצה לבין הסוכן.
MULTIMODAL השיחה כוללת הודעות מולטי-מודאליות (למשל, תמונה) בין משתמש הקצה לבין הסוכן.

מקור

המקור של השיחה.

טיפוסים בני מנייה (enum)
SOURCE_UNSPECIFIED מקור לא מוגדר.
LIVE השיחה היא ממשתמש הקצה הפעיל.
SIMULATOR השיחה היא מהסימולטור.
EVAL השיחה היא מההערכה.
AGENT_TOOL השיחה היא מכלי של סוכן. כלי הסוכן מריץ את הסוכן בסשן נפרד, שנשמר למטרות בדיקה וניפוי באגים.

InputType

סוג הודעת הקלט.

טיפוסים בני מנייה (enum)
INPUT_TYPE_UNSPECIFIED סוג הקלט לא צוין.
INPUT_TYPE_TEXT קלט טקסט.
INPUT_TYPE_EVENT קלט האירוע.
INPUT_TYPE_AUDIO קלט אודיו.
INPUT_TYPE_IMAGE תמונת הקלט.
INPUT_TYPE_BLOB קלט Blob.
INPUT_TYPE_TOOL_RESPONSE קלט של תגובה לכלי פונקציית לקוח.
INPUT_TYPE_VARIABLES קלט של משתנים.

הערות בכלי

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

בנוסף למחרוזת הכותרת, מוגדרים הרמזים הבוליאניים הבאים:

  • ‫readOnlyHint: אם הערך הוא true, הכלי לא משנה את הסביבה שלו. ברירת מחדל: false.
  • ‫destructiveHint: אם הערך הוא True, הכלי יכול לבצע פעולות הרסניות. אם הערך הוא false, הכלי יכול לבצע רק פעולות של הוספה. ברירת מחדל: true.
  • ‫idempotentHint: אם הערך הוא True, קריאה חוזרת לכלי עם אותם ארגומנטים לא תשפיע על הסביבה שלו. ברירת מחדל: false.
  • ‫openWorldHint: אם הערך הוא true, הכלי יכול ליצור אינטראקציה עם 'עולם פתוח' של ישויות חיצוניות. אם הערך הוא false, הכלי יכול ליצור אינטראקציה רק עם ישויות פנימיות. לדוגמה, כלי לחיפוש באינטרנט יהיה עולם פתוח, אבל כלי לזיכרון לא יהיה עולם פתוח.

רמז הרסני: ❌ | רמז אידמפוטנטי: ✅ | רמז לקריאה בלבד: ✅ | רמז לעולם פתוח: ❌