MCP Tools Reference: ces.googleapis.com

כלי: get_agent

קבלת פרטים של סוכן ספציפי.

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

סכימת הקלט

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

GetAgentRequest

ייצוג JSON
{
  "name": string
}
שדות
name

string

חובה. שם המשאב של הסוכן לאחזור.

סכימת הפלט

סוכן פועל כאבן בניין בסיסית שמספקת הוראות למודל שפה גדול (LLM) לביצוע משימות ספציפיות.

סוכן

ייצוג JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "modelSettings": {
    object (ModelSettings)
  },
  "instruction": string,
  "tools": [
    string
  ],
  "childAgents": [
    string
  ],
  "beforeAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "guardrails": [
    string
  ],
  "etag": string,
  "toolsets": [
    {
      object (AgentToolset)
    }
  ],
  "generatedSummary": string,
  "transferRules": [
    {
      object (TransferRule)
    }
  ],
  "validationErrors": [
    string
  ],

  // Union field agent_type can be only one of the following:
  "llmAgent": {
    object (LlmAgent)
  },
  "remoteDialogflowAgent": {
    object (RemoteDialogflowAgent)
  }
  // End of list of possible types for union field agent_type.
}
שדות
name

string

מזהה. המזהה הייחודי של הסוכן. פורמט: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

חובה. השם המוצג של הסוכן.

description

string

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

modelSettings

object (ModelSettings)

זה שינוי אופציונלי. הגדרות למודל ה-LLM.

instruction

string

זה שינוי אופציונלי. הוראות למודל שפה גדול (LLM) שמנחות את התנהגות הסוכן.

tools[]

string

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

childAgents[]

string

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

beforeAgentCallbacks[]

object (Callback)

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

afterAgentCallbacks[]

object (Callback)

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

beforeModelCallbacks[]

object (Callback)

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

afterModelCallbacks[]

object (Callback)

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

beforeToolCallbacks[]

object (Callback)

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

afterToolCallbacks[]

object (Callback)

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

createTime

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".

updateTime

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".

guardrails[]

string

זה שינוי אופציונלי. רשימת אמצעי הבקרה של הסוכן. פורמט: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

etag

string

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

toolsets[]

object (AgentToolset)

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

generatedSummary

string

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

transferRules[]

object (TransferRule)

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

validationErrors[]

string

פלט בלבד. בעיות בהגדרות או שגיאות בסוכן שעלולות להשפיע על איכות הסוכן.

שדה איחוד agent_type. סוג הנציג. הערך agent_type יכול להיות רק אחד מהבאים:
llmAgent

object (LlmAgent)

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

remoteDialogflowAgent

object (RemoteDialogflowAgent)

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

הערה: אם סוכן Dialogflow נמצא בפרויקט אחר מהאפליקציה, צריך להעניק את ההרשאה roles/dialogflow.client לסוכן שירות ה-CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

RemoteDialogflowAgent

ייצוג JSON
{
  "agent": string,
  "flowId": string,
  "environmentId": string,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "respectResponseInterruptionSettings": boolean,
  "languageCodeVariable": string
}
שדות
agent

string

חובה. שם המשאב של הנציג ב-Dialogflow. פורמט: projects/{project}/locations/{location}/agents/{agent}

flowId

string

זה שינוי אופציונלי. מזהה התהליך של התהליך בסוכן Dialogflow.

environmentId

string

זה שינוי אופציונלי. מזהה הסביבה של נציג Dialogflow שישמש להפעלת הנציג. אם לא מציינים סביבה, המערכת משתמשת בסביבת הטיוטה.

inputVariableMapping

map (key: string, value: string)

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

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

outputVariableMapping

map (key: string, value: string)

זה שינוי אופציונלי. מיפוי של שמות הפרמטרים של סשן Dialogflow לשמות המשתנים של האפליקציה שיוחזרו לסוכן CES אחרי שהסוכן של Dialogflow יסיים את ההפעלה.

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

respectResponseInterruptionSettings

boolean

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

  • אם הערך הוא false: כל הודעות התגובה מהנציג ב-Dialogflow פועלות לפי הגדרות ההתפרצות ברמת האפליקציה.
  • אם הערך הוא true: רק הודעות תגובה עם allow_playback_interruption שמוגדר כ-true יוכלו לקטוע את השיחה. כל ההודעות האחרות יפעלו לפי ההגדרות של קטיעת השיחה ברמת האפליקציה.
languageCodeVariable

string

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

InputVariableMappingEntry

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

string

value

string

OutputVariableMappingEntry

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

string

value

string

ModelSettings

ייצוג JSON
{
  "model": string,

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
שדות
model

string

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

שדה איחוד _temperature.

הערך _temperature יכול להיות רק אחד מהבאים:

temperature

number

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

התקשרות חזרה

ייצוג JSON
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
שדות
description

string

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

disabled

boolean

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

proactiveExecutionEnabled

boolean

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

שדה איחוד callback. הקריאה החוזרת לביצוע. הערך callback יכול להיות רק אחד מהבאים:
pythonCode

string

חובה. קוד ה-Python להרצה עבור הקריאה החוזרת.

חותמת הזמן

ייצוג 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, כולל.

AgentToolset

ייצוג JSON
{
  "toolset": string,
  "toolIds": [
    string
  ]
}
שדות
toolset

string

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

toolIds[]

string

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

TransferRule

ייצוג JSON
{
  "childAgent": string,
  "direction": enum (Direction),

  // Union field rule_type can be only one of the following:
  "deterministicTransfer": {
    object (DeterministicTransfer)
  },
  "disablePlannerTransfer": {
    object (DisablePlannerTransfer)
  }
  // End of list of possible types for union field rule_type.
}
שדות
childAgent

string

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

direction

enum (Direction)

חובה. כיוון ההעברה.

שדה איחוד rule_type. סוג הכלל. הערך rule_type יכול להיות רק אחד מהבאים:
deterministicTransfer

object (DeterministicTransfer)

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

disablePlannerTransfer

object (DisablePlannerTransfer)

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

DeterministicTransfer

ייצוג JSON
{

  // Union field condition_type can be only one of the following:
  "expressionCondition": {
    object (ExpressionCondition)
  },
  "pythonCodeCondition": {
    object (PythonCodeCondition)
  }
  // End of list of possible types for union field condition_type.
}
שדות
שדה איחוד condition_type. התנאי לבדיקה. הערך condition_type יכול להיות רק אחד מהבאים:
expressionCondition

object (ExpressionCondition)

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

pythonCodeCondition

object (PythonCodeCondition)

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

ExpressionCondition

ייצוג JSON
{
  "expression": string
}
שדות
expression

string

חובה. ייצוג המחרוזת של התנאי cloud.api.Expression.

PythonCodeCondition

ייצוג JSON
{
  "pythonCode": string
}
שדות
pythonCode

string

חובה. קוד ה-Python להרצה.

DisablePlannerTransfer

ייצוג JSON
{
  "expressionCondition": {
    object (ExpressionCondition)
  }
}
שדות
expressionCondition

object (ExpressionCondition)

חובה. אם התנאי מקבל את הערך True, המתכנן לא יוכל להעביר את השיחה לסוכן היעד.

כיוון

כיוון ההעברה.

טיפוסים בני מנייה (enum)
DIRECTION_UNSPECIFIED כיוון לא מוגדר.
PARENT_TO_CHILD העברה מסוכן ראשי לסוכן הבן.
CHILD_TO_PARENT העברה מסוכן צאצא לסוכן ראשי.

הערות על כלים

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

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

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

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