MCP Tools Reference: ces.googleapis.com

Herramienta: list_agents

Enumera los agentes de la app especificada.

En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP list_agents.

Solicitud de Curl
                  
curl --location 'https://ces.[REGION].rep.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "list_agents",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Esquema de entrada

Mensaje de solicitud para AgentService.ListAgents.

ListAgentsRequest

Representación JSON
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string,
  "filter": string,
  "orderBy": string
}
Campos
parent

string

Obligatorio. Es el nombre del recurso de la app desde la que se enumerarán los agentes.

pageSize

integer

Es opcional. Indica el tamaño de la página solicitada. Es posible que el servidor devuelva menos elementos de los que se solicitaron. Si no se especifica, el servidor elegirá un valor predeterminado adecuado.

pageToken

string

Es opcional. El valor de next_page_token que se muestra de una llamada AgentService.ListAgents de lista anterior.

filter

string

Es opcional. Es el filtro que se aplicará cuando se enumeren los agentes. Para obtener más información, consulta https://google.aip.dev/160.

orderBy

string

Es opcional. Campo por el que se ordenará. Solo se admiten "name" y "create_time". Consulta https://google.aip.dev/132#ordering para obtener más detalles.

Esquema de salida

Mensaje de respuesta para AgentService.ListAgents.

ListAgentsResponse

Representación JSON
{
  "agents": [
    {
      object (Agent)
    }
  ],
  "nextPageToken": string
}
Campos
agents[]

object (Agent)

La lista de agentes.

nextPageToken

string

Es un token que se puede enviar como ListAgentsRequest.page_token para recuperar la página siguiente. La ausencia de este campo indica que no hay páginas posteriores.

Agente

Representación 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)
    }
  ],

  // 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.
}
Campos
name

string

Es el identificador. El identificador único del agente. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

Obligatorio. Es el nombre visible del agente.

description

string

Es opcional. Es una descripción del agente legible por humanos.

modelSettings

object (ModelSettings)

Es opcional. Es la configuración del modelo de LLM.

instruction

string

Es opcional. Son las instrucciones para el modelo de LLM que guían el comportamiento del agente.

tools[]

string

Es opcional. Es la lista de herramientas disponibles para el agente. Formato: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

childAgents[]

string

Es opcional. Es la lista de agentes secundarios en el árbol de agentes. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

beforeAgentCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán antes de que se llame al agente. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada muestra una respuesta anulada, se detiene la ejecución y se omiten las devoluciones de llamada restantes.

afterAgentCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán después de que se llame al agente. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada muestra una respuesta anulada, se detiene la ejecución y se omiten las devoluciones de llamada restantes.

beforeModelCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán antes de que se llame al modelo. Si hay varias llamadas al modelo, la devolución de llamada se ejecutará varias veces. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada muestra una respuesta anulada, se detiene la ejecución y se omiten las devoluciones de llamada restantes.

afterModelCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán después de que se llame al modelo. Si hay varias llamadas al modelo, la devolución de llamada se ejecutará varias veces. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada muestra una respuesta anulada, se detiene la ejecución y se omiten las devoluciones de llamada restantes.

beforeToolCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán antes de invocar la herramienta. Si hay varias invocaciones de herramientas, la devolución de llamada se ejecutará varias veces. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada muestra una respuesta anulada, se detiene la ejecución y se omiten las devoluciones de llamada restantes.

afterToolCallbacks[]

object (Callback)

Es opcional. Son las devoluciones de llamada que se ejecutarán después de invocar la herramienta. Si hay varias invocaciones de herramientas, la devolución de llamada se ejecutará varias veces. Las devoluciones de llamada proporcionadas se ejecutan de forma secuencial en el orden exacto en que se proporcionan en la lista. Si una devolución de llamada muestra una respuesta anulada, se detiene la ejecución y se omiten las devoluciones de llamada restantes.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de cuando se creó el agente.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la última actualización del agente.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

guardrails[]

string

Es opcional. Es la lista de medidas de protección del agente. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

etag

string

Es el ETag que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura, modificación y escritura. Si el ETag está vacío, la actualización reemplazará cualquier cambio simultáneo.

toolsets[]

object (AgentToolset)

Es opcional. Es la lista de conjuntos de herramientas del agente.

generatedSummary

string

Solo salida. Si el agente lo genera el asistente de LLM, este campo contiene un resumen descriptivo de la generación.

transferRules[]

object (TransferRule)

Es opcional. Son las reglas de transferencia de agentes. Si coinciden varias reglas, se usará la primera de la lista.

Campo de unión agent_type. Es el tipo de agente. agent_type puede ser solo uno de los parámetros siguientes:
llmAgent

object (LlmAgent)

Es opcional. Es el tipo de agente predeterminado.

remoteDialogflowAgent

object (RemoteDialogflowAgent)

Es opcional. Es el agente remoto de Dialogflow que se usará para la ejecución del agente. Si se configura este campo, se ignorarán todas las demás propiedades a nivel del agente.

Nota: Si el agente de Dialogflow está en un proyecto diferente al de la app, debes otorgar roles/dialogflow.client al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

RemoteDialogflowAgent

Representación JSON
{
  "agent": string,
  "flowId": string,
  "environmentId": string,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "respectResponseInterruptionSettings": boolean
}
Campos
agent

string

Obligatorio. Es el nombre del recurso del agente de Dialogflow. Formato: projects/{project}/locations/{location}/agents/{agent}

flowId

string

Es opcional. Es el ID del flujo en el agente de Dialogflow.

environmentId

string

Es opcional. Es el ID del entorno del agente de Dialogflow que se usará para la ejecución del agente. Si no se especifica, se usará el entorno de borrador.

inputVariableMapping

map (key: string, value: string)

Es opcional. Es la asignación de los nombres de las variables de la app a los nombres de los parámetros de sesión de Dialogflow que se enviarán al agente de Dialogflow como entrada.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

outputVariableMapping

map (key: string, value: string)

Es opcional. Es la asignación de los nombres de los parámetros de la sesión de Dialogflow a los nombres de las variables de la app que se enviarán al agente de CES después de que finalice la ejecución del agente de Dialogflow.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

respectResponseInterruptionSettings

boolean

Es opcional. Indica si se debe respetar la configuración de interrupción a nivel del mensaje configurada en el agente de Dialogflow.

  • Si es falso, todos los mensajes de respuesta del agente de Dialogflow siguen la configuración de interrupción a nivel de la app.
  • Si es verdadero, solo se podrán interrumpir los mensajes de respuesta con allow_playback_interruption establecido como verdadero. Todos los demás mensajes seguirán la configuración de interrupción a nivel de la app.

InputVariableMappingEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

OutputVariableMappingEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

ModelSettings

Representación 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.
}
Campos
model

string

Es opcional. Es el modelo de LLM que debe usar el agente. Si no se configura, el agente heredará el modelo de su agente principal.

Campo de unión _temperature.

_temperature puede ser una de las siguientes opciones:

temperature

number

Es opcional. Si se configura, se usará esta temperatura para el modelo LLM. La temperatura controla la aleatoriedad de las respuestas del modelo. Las temperaturas más bajas producen respuestas más predecibles. Las temperaturas más altas producen respuestas más creativas.

Devolución de llamada

Representación 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.
}
Campos
description

string

Es opcional. Es una descripción legible del callback.

disabled

boolean

Es opcional. Indica si la devolución de llamada está inhabilitada. El agente ignora las devoluciones de llamada inhabilitadas.

proactiveExecutionEnabled

boolean

Es opcional. Si está habilitada, la devolución de llamada también se ejecutará en los resultados intermedios del modelo. Este parámetro de configuración solo afecta a la devolución de llamada posterior al modelo. Habilítala con precaución. Por lo general, la devolución de llamada posterior al modelo solo debe ejecutarse después de recibir todas las respuestas del modelo. Habilitar la ejecución proactiva puede tener implicaciones negativas en el costo y la latencia de la ejecución, y solo debe habilitarse en situaciones excepcionales.

Campo de unión callback. Es la devolución de llamada que se ejecutará. callback puede ser solo uno de los parámetros siguientes:
pythonCode

string

Obligatorio. Es el código de Python que se ejecutará para la devolución de llamada.

Marca de tiempo

Representación JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z y 9999-12-31T23:59:59Z).

nanos

integer

Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de la duración en nanosegundos, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Debe ser un valor entre 0 y 999,999,999, inclusive.

AgentToolset

Representación JSON
{
  "toolset": string,
  "toolIds": [
    string
  ]
}
Campos
toolset

string

Obligatorio. Es el nombre del recurso del conjunto de herramientas. Formato: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolIds[]

string

Es opcional. Son los IDs de las herramientas para filtrar el conjunto de herramientas.

TransferRule

Representación 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.
}
Campos
childAgent

string

Obligatorio. Es el nombre del recurso del agente secundario al que se aplica la regla. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

direction

enum (Direction)

Obligatorio. Es la dirección de la transferencia.

Campo de unión rule_type. Es el tipo de regla. rule_type puede ser solo uno de los parámetros siguientes:
deterministicTransfer

object (DeterministicTransfer)

Es opcional. Es una regla que se transfiere de inmediato al agente objetivo cuando se cumple la condición.

disablePlannerTransfer

object (DisablePlannerTransfer)

Es opcional. Es una regla que impide que el planificador transfiera la llamada al agente objetivo.

DeterministicTransfer

Representación 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.
}
Campos
Campo de unión condition_type. Es la condición que se evaluará. condition_type puede ser solo uno de los parámetros siguientes:
expressionCondition

object (ExpressionCondition)

Es opcional. Es una regla que evalúa una condición de estado de la sesión. Si la condición se evalúa como verdadera, se realiza la transferencia.

pythonCodeCondition

object (PythonCodeCondition)

Es opcional. Una regla que usa un bloque de código de Python para evaluar las condiciones. Si la condición se evalúa como verdadera, se realiza la transferencia.

ExpressionCondition

Representación JSON
{
  "expression": string
}
Campos
expression

string

Obligatorio. Es la representación de cadena de la condición cloud.api.Expression.

PythonCodeCondition

Representación JSON
{
  "pythonCode": string
}
Campos
pythonCode

string

Obligatorio. Es el código de Python que se ejecutará.

DisablePlannerTransfer

Representación JSON
{
  "expressionCondition": {
    object (ExpressionCondition)
  }
}
Campos
expressionCondition

object (ExpressionCondition)

Obligatorio. Si la condición se evalúa como verdadera, no se permitirá que el planificador realice la transferencia al agente objetivo.

Anotaciones de herramientas

Sugerencia destructiva: ❌ | Sugerencia idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌