Strumento: list_agents
Elenca gli agenti nell'app specificata.
Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP list_agents.
| Richiesta 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": "list_agents", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
Messaggio di richiesta per AgentService.ListAgents.
ListAgentsRequest
| Rappresentazione JSON |
|---|
{ "parent": string, "pageSize": integer, "pageToken": string, "filter": string, "orderBy": string } |
| Campi | |
|---|---|
parent |
Obbligatorio. Il nome della risorsa dell'app da cui elencare gli agenti. |
pageSize |
Facoltativo. Dimensioni della pagina richiesta. Il server potrebbe restituire meno elementi di quelli richiesti. Se non specificato, il server sceglierà un valore predefinito appropriato. |
pageToken |
Facoltativo. Il valore |
filter |
Facoltativo. Filtro da applicare durante l'elenco degli agenti. Per maggiori dettagli, visita la pagina https://google.aip.dev/160. |
orderBy |
Facoltativo. Campo in base al quale ordinare. Sono supportati solo "name" e "create_time". Per maggiori dettagli, visita la pagina https://google.aip.dev/132#ordering. |
Schema di output
Messaggio di risposta per AgentService.ListAgents.
ListAgentsResponse
| Rappresentazione JSON |
|---|
{
"agents": [
{
object ( |
| Campi | |
|---|---|
agents[] |
L'elenco degli agenti. |
nextPageToken |
Un token che può essere inviato come |
Agente
| Rappresentazione JSON |
|---|
{ "name": string, "displayName": string, "description": string, "modelSettings": { object ( |
| Campi | |
|---|---|
name |
Identificatore. L'identificatore univoco dell'agente. Formato: |
displayName |
Obbligatorio. Nome visualizzato dell'agente. |
description |
Facoltativo. Descrizione dell'agente leggibile. |
modelSettings |
Facoltativo. Configurazioni per il modello LLM. |
instruction |
Facoltativo. Istruzioni per il modello LLM per guidare il comportamento dell'agente. |
tools[] |
Facoltativo. Elenco degli strumenti disponibili per l'agente. Formato: |
childAgents[] |
Facoltativo. Elenco degli agenti secondari nell'albero degli agenti. Formato: |
beforeAgentCallbacks[] |
Facoltativo. Le funzioni di callback da eseguire prima di chiamare l'agente. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
afterAgentCallbacks[] |
Facoltativo. I callback da eseguire dopo la chiamata all'agente. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
beforeModelCallbacks[] |
Facoltativo. I callback da eseguire prima di chiamare il modello. Se vengono effettuate più chiamate al modello, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
afterModelCallbacks[] |
Facoltativo. I callback da eseguire dopo la chiamata al modello. Se vengono effettuate più chiamate al modello, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
beforeToolCallbacks[] |
Facoltativo. Le funzioni di callback da eseguire prima di richiamare lo strumento. Se ci sono più chiamate di strumenti, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
afterToolCallbacks[] |
Facoltativo. I callback da eseguire dopo l'invocazione dello strumento. Se ci sono più chiamate di strumenti, il callback verrà eseguito più volte. Le callback fornite vengono eseguite in sequenza nell'ordine esatto in cui sono elencate. Se un callback restituisce una risposta sostituita, l'esecuzione si interrompe e tutti i callback rimanenti vengono ignorati. |
createTime |
Solo output. Timestamp di creazione dell'agente. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
updateTime |
Solo output. Timestamp dell'ultimo aggiornamento dell'agente. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
guardrails[] |
Facoltativo. Elenco delle barriere protettive per l'agente. Formato: |
etag |
Etag utilizzato per garantire che l'oggetto non sia stato modificato durante un'operazione di lettura, modifica e scrittura. Se l'etag è vuoto, l'aggiornamento sovrascriverà eventuali modifiche simultanee. |
toolsets[] |
Facoltativo. Elenco dei toolset per l'agente. |
generatedSummary |
Solo output. Se l'agente viene generato dall'assistente LLM, questo campo contiene un riepilogo descrittivo della generazione. |
transferRules[] |
Facoltativo. Regole di trasferimento dell'agente. Se corrispondono più regole, verrà utilizzata la prima nell'elenco. |
validationErrors[] |
Solo output. Errori o configurazioni errate nell'agente che potrebbero influire sulla qualità dell'agente. |
Campo unione agent_type. Il tipo di agente. agent_type può essere solo uno dei seguenti tipi: |
|
llmAgent |
Facoltativo. Il tipo di agente predefinito. |
remoteDialogflowAgent |
Facoltativo. L'agente Dialogflow remoto da utilizzare per l'esecuzione dell'agente. Se questo campo è impostato, tutte le altre proprietà a livello di agente verranno ignorate. Nota: se l'agente Dialogflow si trova in un progetto diverso dall'app, devi concedere |
RemoteDialogflowAgent
| Rappresentazione JSON |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean, "languageCodeVariable": string } |
| Campi | |
|---|---|
agent |
Obbligatorio. Il nome risorsa dell'agente Dialogflow. Formato: |
flowId |
Facoltativo. L'ID del flusso nell'agente Dialogflow. |
environmentId |
Facoltativo. L'ID ambiente dell'agente Dialogflow da utilizzare per l'esecuzione dell'agente. Se non specificato, verrà utilizzato l'ambiente bozza. |
inputVariableMapping |
Facoltativo. Il mapping dei nomi delle variabili dell'app ai nomi dei parametri di sessione di Dialogflow da inviare all'agente Dialogflow come input. Un oggetto contenente un elenco di coppie |
outputVariableMapping |
Facoltativo. La mappatura dei nomi dei parametri di sessione di Dialogflow ai nomi delle variabili dell'app da inviare di nuovo all'agente CES al termine dell'esecuzione dell'agente Dialogflow. Un oggetto contenente un elenco di coppie |
respectResponseInterruptionSettings |
Facoltativo. Indica se rispettare le impostazioni di interruzione a livello di messaggio configurate nell'agente Dialogflow.
|
languageCodeVariable |
Facoltativo. Il nome della variabile che contiene il codice della lingua da utilizzare per la sessione Dialogflow. Se non specificato, verrà utilizzato il codice di lingua predefinito dell'agente Dialogflow. |
InputVariableMappingEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
ModelSettings
| Rappresentazione JSON |
|---|
{ "model": string, // Union field |
| Campi | |
|---|---|
model |
Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non è impostato, l'agente erediterà il modello dall'agente principale. |
Campo unione
|
|
temperature |
Facoltativo. Se impostata, questa temperatura verrà utilizzata per il modello LLM. La temperatura controlla la casualità delle risposte del modello. Le temperature più basse producono risposte più prevedibili. Le temperature più alte producono risposte più creative. |
Callback
| Rappresentazione JSON |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| Campi | |
|---|---|
description |
Facoltativo. Descrizione leggibile del callback. |
disabled |
Facoltativo. Indica se il callback è disattivato. I callback disattivati vengono ignorati dall'agente. |
proactiveExecutionEnabled |
Facoltativo. Se abilitata, la richiamata verrà eseguita anche sugli output intermedi del modello. Questa impostazione ha effetto solo dopo il callback del modello. ATTIVA CON CAUTELA. In genere, il callback del modello deve essere eseguito solo dopo aver ricevuto tutte le risposte del modello. L'attivazione dell'esecuzione proattiva può avere implicazioni negative sul costo e sulla latenza dell'esecuzione e deve essere attivata solo in rare situazioni. |
Campo unione callback. Il callback da eseguire. callback può essere solo uno dei seguenti tipi: |
|
pythonCode |
Obbligatorio. Il codice Python da eseguire per il callback. |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi di tempo UTC trascorsi dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z). |
nanos |
Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la parte in nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che vengono conteggiati in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi. |
AgentToolset
| Rappresentazione JSON |
|---|
{ "toolset": string, "toolIds": [ string ] } |
| Campi | |
|---|---|
toolset |
Obbligatorio. Il nome della risorsa del toolset. Formato: |
toolIds[] |
Facoltativo. Gli ID degli strumenti per filtrare il set di strumenti. |
TransferRule
| Rappresentazione JSON |
|---|
{ "childAgent": string, "direction": enum ( |
| Campi | |
|---|---|
childAgent |
Obbligatorio. Il nome della risorsa dell'agente secondario a cui si applica la regola. Formato: |
direction |
Obbligatorio. La direzione del trasferimento. |
Campo unione rule_type. Il tipo di regola. rule_type può essere solo uno dei seguenti tipi: |
|
deterministicTransfer |
Facoltativo. Una regola che viene trasferita immediatamente all'agente di destinazione quando la condizione è soddisfatta. |
disablePlannerTransfer |
Facoltativo. Regola che impedisce al pianificatore di trasferire la chiamata all'agente di destinazione. |
DeterministicTransfer
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione condition_type. La condizione da valutare. condition_type può essere solo uno dei seguenti tipi: |
|
expressionCondition |
Facoltativo. Una regola che valuta una condizione di stato della sessione. Se la condizione restituisce il valore true, il trasferimento viene eseguito. |
pythonCodeCondition |
Facoltativo. Una regola che utilizza il blocco di codice Python per valutare le condizioni. Se la condizione restituisce il valore true, il trasferimento viene eseguito. |
ExpressionCondition
| Rappresentazione JSON |
|---|
{ "expression": string } |
| Campi | |
|---|---|
expression |
Obbligatorio. La rappresentazione di stringa della condizione cloud.api.Expression. |
PythonCodeCondition
| Rappresentazione JSON |
|---|
{ "pythonCode": string } |
| Campi | |
|---|---|
pythonCode |
Obbligatorio. Il codice Python da eseguire. |
DisablePlannerTransfer
| Rappresentazione JSON |
|---|
{
"expressionCondition": {
object ( |
| Campi | |
|---|---|
expressionCondition |
Obbligatorio. Se la condizione restituisce true, il pianificatore non potrà essere trasferito all'agente di destinazione. |
Direzione
La direzione del trasferimento.
| Enum | |
|---|---|
DIRECTION_UNSPECIFIED |
Direzione non specificata. |
PARENT_TO_CHILD |
Trasferimento dall'agente principale all'agente secondario. |
CHILD_TO_PARENT |
Trasferimento dall'agente secondario all'agente principale. |
Annotazioni dello strumento
Le annotazioni dello strumento vengono inviate ai client MCP per descrivere il rischio di base di un determinato strumento. La maggior parte dei client considera questi suggerimenti non attendibili, ma possono essere utilizzati per decidere quando inviare a un utente una richiesta di conferma.
Oltre alla stringa del titolo, sono definiti i seguenti suggerimenti booleani:
readOnlyHint: se è true, lo strumento non modifica il suo ambiente. Valore predefinito: false.destructiveHint: se è true, lo strumento può eseguire azioni distruttive. Se il valore è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.idempotentHint: se è true, chiamare ripetutamente lo strumento con gli stessi argomenti non avrà alcun effetto aggiuntivo sul suo ambiente. Valore predefinito: false.openWorldHint: se è true, lo strumento può interagire con un "open world" di entità esterne. Se è false, lo strumento può interagire solo con le entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria no.
Suggerimento distruttivo: ❌ | Suggerimento idempotente: ✅ | Suggerimento di sola lettura: ✅ | Suggerimento open world: ❌