Strumento: create_toolset
Crea un nuovo set di strumenti nell'app specificata.
Il seguente esempio mostra come utilizzare curl per richiamare lo strumento MCP create_toolset.
| Curl Request |
|---|
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": "create_toolset", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
Messaggio di richiesta per AgentService.CreateToolset.
CreateToolsetRequest
| Rappresentazione JSON |
|---|
{
"parent": string,
"toolsetId": string,
"toolset": {
object ( |
| Campi | |
|---|---|
parent |
Obbligatorio. Il nome della risorsa dell'app in cui creare un insieme di strumenti. |
toolsetId |
Facoltativo. L'ID da utilizzare per il toolset, che diventerà il componente finale del nome della risorsa del toolset. Se non viene fornito, verrà assegnato automaticamente un ID univoco per il toolset. |
toolset |
Obbligatorio. Il set di strumenti per creare. |
Toolset
| Rappresentazione JSON |
|---|
{ "name": string, "displayName": string, "description": string, "createTime": string, "updateTime": string, "etag": string, "executionType": enum ( |
| Campi | |
|---|---|
name |
Identificatore. L'identificatore univoco del set di strumenti. Formato: |
displayName |
Facoltativo. Il nome visualizzato del toolset. Deve essere univoco all'interno della stessa app. |
description |
Facoltativo. La descrizione del set di strumenti. |
createTime |
Solo output. Timestamp di creazione del toolset. 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 del toolset. 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: |
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. |
executionType |
Facoltativo. Il tipo di esecuzione degli strumenti nel toolset. |
toolFakeConfig |
Facoltativo. Configurazione del comportamento degli strumenti in modalità simulata. |
Campo unione toolset_type. Il tipo di toolset. toolset_type può essere solo uno dei seguenti tipi: |
|
mcpToolset |
Facoltativo. Un insieme di strumenti che contiene un elenco di strumenti offerti dal server MCP. |
openApiToolset |
Facoltativo. Un insieme di strumenti che contiene un elenco di strumenti definiti da uno schema OpenAPI. |
connectorToolset |
Facoltativo. Un insieme di strumenti che genera strumenti da una connessione Integration Connectors. |
McpToolset
| Rappresentazione JSON |
|---|
{ "serverAddress": string, "apiAuthentication": { object ( |
| Campi | |
|---|---|
serverAddress |
Obbligatorio. L'indirizzo del server MCP, ad esempio "https://example.com/mcp/". Se il server è creato con l'SDK MCP, l'URL deve avere il suffisso "/mcp/". Sono supportati solo i server basati sul trasporto HTTP in streaming. Per ulteriori dettagli, consulta la pagina https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http. |
apiAuthentication |
Facoltativo. Informazioni di autenticazione necessarie per accedere agli strumenti ed eseguire uno strumento sul server MCP. Per l'autenticazione con token di autenticazione, il token si applica solo all'esecuzione dello strumento, non agli strumenti di gestione delle schede. Ciò richiede che gli strumenti possano essere elencati senza autenticazione. |
serviceDirectoryConfig |
Facoltativo. Configurazione di Service Directory per VPC-SC, utilizzata per risolvere i nomi dei servizi all'interno di un perimetro. |
tlsConfig |
Facoltativo. La configurazione TLS. Include i certificati del server personalizzati che il client deve considerare attendibili. |
customHeaders |
Facoltativo. Le intestazioni personalizzate da inviare nella richiesta al server MCP. I valori devono essere nel formato Un oggetto contenente un elenco di coppie |
toolOverrides[] |
Facoltativo. Override per singoli strumenti all'interno di questo insieme di strumenti. In questo modo, puoi ignorare dettagli specifici come descrizioni, nomi o bloccare gli stati degli strumenti in modo che non siano completamente dinamici. |
ApiAuthentication
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione auth_config. La configurazione di autenticazione. auth_config può essere solo uno dei seguenti tipi: |
|
apiKeyConfig |
Facoltativo. Configurazione per l'autenticazione della chiave API. |
oauthConfig |
Facoltativo. Configurazione per OAuth. |
serviceAgentIdTokenAuthConfig |
Facoltativo. Configurazione per l'autenticazione con token ID generato dall'agente di servizio CES. |
serviceAccountAuthConfig |
Facoltativo. Configurazione per l'autenticazione del account di servizio. |
bearerTokenConfig |
Facoltativo. Configurazione per l'autenticazione con token di connessione. |
ApiKeyConfig
| Rappresentazione JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Campi | |
|---|---|
keyName |
Obbligatorio. Il nome del parametro o dell'intestazione della chiave API. Ad esempio, Se la richiesta API è "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia la chiave API. Formato: Nota: devi concedere il ruolo |
requestLocation |
Obbligatorio. Posizione della chiave nella richiesta. |
OAuthConfig
| Rappresentazione JSON |
|---|
{
"oauthGrantType": enum ( |
| Campi | |
|---|---|
oauthGrantType |
Obbligatorio. Tipi di autorizzazione con OAuth. |
clientId |
Obbligatorio. L'ID client del provider OAuth. |
clientSecretVersion |
Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia il client secret. Formato: Nota: devi concedere il ruolo |
tokenEndpoint |
Obbligatorio. L'endpoint del token nel provider OAuth da scambiare con un token di accesso. |
scopes[] |
Facoltativo. Gli ambiti OAuth da concedere. |
ServiceAccountAuthConfig
| Rappresentazione JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Campi | |
|---|---|
serviceAccount |
Obbligatorio. L'indirizzo email del account di servizio utilizzato per l'autenticazione. CES utilizza questo account di servizio per scambiare un token di accesso, che viene poi inviato nell'intestazione All'account di servizio deve essere concesso il ruolo |
scopes[] |
Facoltativo. Gli ambiti OAuth da concedere. Se non specificato, viene utilizzato l'ambito predefinito |
BearerTokenConfig
| Rappresentazione JSON |
|---|
{ "token": string } |
| Campi | |
|---|---|
token |
Obbligatorio. Il token di connessione. Deve essere nel formato |
ServiceDirectoryConfig
| Rappresentazione JSON |
|---|
{ "service": string } |
| Campi | |
|---|---|
service |
Obbligatorio. Il nome del servizio Service Directory. Formato: |
TlsConfig
| Rappresentazione JSON |
|---|
{
"caCerts": [
{
object ( |
| Campi | |
|---|---|
caCerts[] |
Obbligatorio. Specifica un elenco di certificati CA personalizzati consentiti per la verifica HTTPS. |
CaCert
| Rappresentazione JSON |
|---|
{ "displayName": string, "cert": string } |
| Campi | |
|---|---|
displayName |
Obbligatorio. Il nome dei certificati CA personalizzati consentiti. Può essere utilizzato per distinguere i certificati CA personalizzati. |
cert |
Obbligatorio. I certificati CA personalizzati consentiti (in formato DER) per la verifica HTTPS. Esegue l'override dell'archivio di attendibilità SSL predefinito. Se questo campo è vuoto o non specificato, CES utilizzerà l'archivio di attendibilità predefinito di Google per verificare i certificati. Nota: assicurati che i certificati del server HTTPS siano firmati con "subject alt name". Ad esempio, un certificato può essere autofirmato utilizzando il seguente comando: Una stringa con codifica in base64. |
CustomHeadersEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
McpToolOverride
| Rappresentazione JSON |
|---|
{
"tool": string,
"nameOverride": string,
"descriptionOverride": string,
"snapshot": {
object ( |
| Campi | |
|---|---|
tool |
Obbligatorio. Il nome originale dello strumento così come viene emesso dal server MCP. |
nameOverride |
Facoltativo. Se presente, questo strumento utilizza questo nome nell'agente al posto del nome originale. Viene utilizzato principalmente come alias se il server MCP offre strumenti con nomi poco chiari. |
descriptionOverride |
Facoltativo. Se presente, questo strumento utilizza questa descrizione anziché quella originale del server. |
snapshot |
Solo output. Se presente, questo strumento è "Bloccato" e utilizza i valori dello snapshot come fallback se il server non è temporaneamente disponibile o se non è presente alcuna sostituzione. |
McpToolDefinition
| Rappresentazione JSON |
|---|
{ "description": string, "inputSchema": { object ( |
| Campi | |
|---|---|
description |
Solo output. La descrizione dello strumento MCP. Questa impostazione può essere sostituita da |
inputSchema |
Solo output. Lo schema degli argomenti di input dello strumento MCP. |
outputSchema |
Solo output. Lo schema degli argomenti di output dello strumento MCP. |
Schema
| Rappresentazione JSON |
|---|
{ "type": enum ( |
| Campi | |
|---|---|
type |
Obbligatorio. Il tipo di dati. |
properties |
Facoltativo. Proprietà di Type.OBJECT. Un oggetto contenente un elenco di coppie |
required[] |
Facoltativo. Proprietà obbligatorie di Type.OBJECT. |
description |
Facoltativo. La descrizione dei dati. |
items |
Facoltativo. Schema degli elementi di Type.ARRAY. |
nullable |
Facoltativo. Indica se il valore può essere null. |
uniqueItems |
Facoltativo. Indica che gli elementi dell'array devono essere univoci. Si applica solo a TYPE.ARRAY. |
prefixItems[] |
Facoltativo. Schemi degli elementi iniziali di Type.ARRAY. |
additionalProperties |
Facoltativo. Può essere un valore booleano o un oggetto, controlla la presenza di proprietà aggiuntive. |
anyOf[] |
Facoltativo. Il valore deve essere convalidato in base a uno o più sottoschema nell'elenco. |
enum[] |
Facoltativo. Valori possibili dell'elemento di tipo primitivo con formato enum. Esempi: 1. Possiamo definire la direzione come : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Possiamo definire il numero di appartamento come : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Facoltativo. Valore predefinito dei dati. |
ref |
Facoltativo. Consente riferimenti indiretti tra i nodi dello schema. Il valore deve essere un riferimento valido a un elemento secondario della radice Ad esempio, lo schema seguente definisce un riferimento a un nodo dello schema denominato "Pet": Il valore della proprietà "pet" è un riferimento al nodo dello schema denominato "Pet". Per maggiori dettagli, visita la pagina https://json-schema.org/understanding-json-schema/structuring. |
defs |
Facoltativo. Una mappa delle definizioni da utilizzare per Un oggetto contenente un elenco di coppie |
title |
Facoltativo. Il titolo dello schema. |
minItems |
Facoltativo. Numero minimo di elementi per Type.ARRAY. |
maxItems |
Facoltativo. Numero massimo di elementi per Type.ARRAY. |
Campo unione
|
|
minimum |
Facoltativo. Valore minimo per Type.INTEGER e Type.NUMBER. |
Campo unione
|
|
maximum |
Facoltativo. Valore massimo per Type.INTEGER e Type.NUMBER. |
PropertiesEntry
| Rappresentazione JSON |
|---|
{
"key": string,
"value": {
object ( |
| Campi | |
|---|---|
key |
|
value |
|
Valore
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione kind. Il tipo di valore. kind può essere solo uno dei seguenti tipi: |
|
nullValue |
Rappresenta un |
numberValue |
Rappresenta un numero JSON. Non deve essere |
stringValue |
Rappresenta una stringa JSON. |
boolValue |
Rappresenta un valore booleano JSON (valore letterale |
structValue |
Rappresenta un oggetto JSON. |
listValue |
Rappresenta un array JSON. |
Struct
| Rappresentazione JSON |
|---|
{ "fields": { string: value, ... } } |
| Campi | |
|---|---|
fields |
Mappa non ordinata di valori con tipo dinamico. Un oggetto contenente un elenco di coppie |
FieldsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": value } |
| Campi | |
|---|---|
key |
|
value |
|
ListValue
| Rappresentazione JSON |
|---|
{ "values": [ value ] } |
| Campi | |
|---|---|
values[] |
Campo ripetuto di valori con tipo dinamico. |
DefsEntry
| Rappresentazione JSON |
|---|
{
"key": string,
"value": {
object ( |
| Campi | |
|---|---|
key |
|
value |
|
OpenApiToolset
| Rappresentazione JSON |
|---|
{ "openApiSchema": string, "apiAuthentication": { object ( |
| Campi | |
|---|---|
openApiSchema |
Obbligatorio. Lo schema OpenAPI del set di strumenti. |
apiAuthentication |
Facoltativo. Informazioni di autenticazione richieste dall'API. |
tlsConfig |
Facoltativo. La configurazione TLS. Include i certificati del server personalizzati |
serviceDirectoryConfig |
Facoltativo. Configurazione di Service Directory. |
ignoreUnknownFields |
Facoltativo. Se il valore è true, l'agente ignorerà i campi sconosciuti nella risposta API per tutte le operazioni definite nello schema OpenAPI. |
url |
Facoltativo. L'URL del server dello schema Open API. Questo campo viene impostato solo nei toolset nelle dipendenze dell'ambiente durante il processo di esportazione se lo schema contiene un URL del server. Durante il processo di importazione, se questo URL è presente nelle dipendenze dell'ambiente e lo schema contiene il segnaposto $env_var, quest'ultimo verrà sostituito nello schema. |
ConnectorToolset
| Rappresentazione JSON |
|---|
{ "connection": string, "authConfig": { object ( |
| Campi | |
|---|---|
connection |
Obbligatorio. Il nome completo della risorsa della connessione Integration Connectors a cui viene fatto riferimento. Formato: |
authConfig |
Facoltativo. Configura la gestione dell'autenticazione in Integration Connectors. Per impostazione predefinita, un'autenticazione amministratore viene trasmessa nelle richieste dell'API Integration Connectors. Puoi ignorarla con una configurazione di autenticazione dell'utente finale diversa. Nota: per specificare una configurazione EUC qui, l'override dell'autenticazione deve essere abilitato per la connessione. In caso contrario, la creazione del Toolset non riuscirà. Consulta: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override |
connectorActions[] |
Obbligatorio. L'elenco delle azioni/operazioni di entità del connettore per cui generare strumenti. |
EndUserAuthConfig
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione auth_config. La configurazione di autenticazione. auth_config può essere solo uno dei seguenti tipi: |
|
oauth2AuthCodeConfig |
Autenticazione del codice di autorizzazione OAuth 2.0. |
oauth2JwtBearerConfig |
Autenticazione della concessione di autorizzazione OAuth 2.0 del profilo JWT. |
Oauth2AuthCodeConfig
| Rappresentazione JSON |
|---|
{ "oauthToken": string } |
| Campi | |
|---|---|
oauthToken |
Obbligatorio. Nome del parametro token OAuth da trasferire. Deve essere nel formato |
Oauth2JwtBearerConfig
| Rappresentazione JSON |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Campi | |
|---|---|
issuer |
Obbligatorio. Nome del parametro dell'emittente da trasferire. Deve essere nel formato |
subject |
Obbligatorio. Nome del parametro oggetto da trasferire. Deve essere nel formato |
clientKey |
Obbligatorio. Nome del parametro client da trasferire. Deve essere nel formato |
Azione
| Rappresentazione JSON |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Campi | |
|---|---|
inputFields[] |
Facoltativo. Campi dell'entità da utilizzare come input per l'operazione. Se non vengono specificati campi, verranno utilizzati tutti i campi dell'entità. |
outputFields[] |
Facoltativo. Campi dell'entità da restituire dall'operazione. Se non vengono specificati campi, vengono restituiti tutti i campi dell'entità. |
Campo unione action_spec. Specifica di un'azione da configurare per l'utilizzo dello strumento. action_spec può essere solo uno dei seguenti tipi: |
|
connectionActionId |
ID di un'azione di connessione da utilizzare per lo strumento. |
entityOperation |
Configurazione dell'operazione dell'entità da utilizzare per lo strumento. |
EntityOperation
| Rappresentazione JSON |
|---|
{
"entityId": string,
"operation": enum ( |
| Campi | |
|---|---|
entityId |
Obbligatorio. ID dell'entità. |
operation |
Obbligatorio. Operazione da eseguire sull'entità. |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi del tempo UTC a partire dall'epoca 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 porzione di 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. |
ToolFakeConfig
| Rappresentazione JSON |
|---|
{ "enableFakeMode": boolean, // Union field |
| Campi | |
|---|---|
enableFakeMode |
Facoltativo. Indica se lo strumento utilizza la modalità Falso. |
Campo unione tool_response. La risposta è statica o fornita da una funzione Python. tool_response può essere solo uno dei seguenti tipi: |
|
codeBlock |
Facoltativo. Blocco di codice che verrà eseguito al posto di una chiamata allo strumento reale. |
CodeBlock
| Rappresentazione JSON |
|---|
{ "pythonCode": string } |
| Campi | |
|---|---|
pythonCode |
Obbligatorio. Codice Python che verrà richiamato in modalità di simulazione dello strumento. Firma della funzione Python prevista: per intercettare tutte le chiamate di strumenti: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: per intercettare una chiamata di strumento specifica: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: se la funzione restituisce None, verrà richiamato lo strumento reale. |
RequestLocation
La posizione della chiave API nella richiesta.
| Enum | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Non specificato. Questo valore non deve essere utilizzato. |
HEADER |
Rappresenta la chiave nell'intestazione HTTP. |
QUERY_STRING |
Rappresenta la chiave nella stringa di query. |
OauthGrantType
Tipi di autorizzazione con OAuth. È supportata solo la concessione delle credenziali client.
| Enum | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Non specificato. Il valore predefinito è CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Rappresenta il flusso delle credenziali client. |
Tipo
Tipi di dati OpenAPI.
| Enum | |
|---|---|
TYPE_UNSPECIFIED |
Tipo non specificato. |
STRING |
Tipo di stringa. |
INTEGER |
Tipo intero. |
NUMBER |
Tipo di numero. |
BOOLEAN |
Tipo booleano. |
OBJECT |
Tipo di oggetto. |
ARRAY |
Tipo di array. |
NullValue
Rappresenta un null JSON.
NullValue è un sentinel che utilizza un'enumerazione con un solo valore per rappresentare il valore nullo per l'unione di tipi Value.
Un campo di tipo NullValue con un valore diverso da 0 è considerato non valido. La maggior parte dei serializzatori ProtoJSON emetterà un valore con null_value impostato come null JSON indipendentemente dal valore intero, quindi eseguirà l'andata e il ritorno a un valore 0.
| Enum | |
|---|---|
NULL_VALUE |
Valore nullo. |
OperationType
L'operazione da eseguire sull'entità.
| Enum | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
Tipo di operazione non specificato. Non valido, la creazione/l'aggiornamento di ConnectorTool non riuscirà. |
LIST |
Elenco operazioni. |
GET |
Recupera operazione. |
CREATE |
Crea operazione. |
UPDATE |
Operazione di aggiornamento. |
DELETE |
Operazione di eliminazione. |
ExecutionType
Il tipo di esecuzione dello strumento o del set di strumenti.
| Enum | |
|---|---|
EXECUTION_TYPE_UNSPECIFIED |
Il tipo di esecuzione non è specificato. Se non specificato, il valore predefinito è SYNCHRONOUS. |
SYNCHRONOUS |
Lo strumento viene eseguito in modo sincrono. La sessione viene bloccata finché lo strumento non viene restituito. |
ASYNCHRONOUS |
Lo strumento viene eseguito in modo asincrono. La sessione continuerà durante l'esecuzione dello strumento. |
Schema di output
Un insieme di strumenti rappresenta un gruppo di strumenti gestiti dinamicamente che possono essere utilizzati dall'agente.
Toolset
| Rappresentazione JSON |
|---|
{ "name": string, "displayName": string, "description": string, "createTime": string, "updateTime": string, "etag": string, "executionType": enum ( |
| Campi | |
|---|---|
name |
Identificatore. L'identificatore univoco del set di strumenti. Formato: |
displayName |
Facoltativo. Il nome visualizzato del toolset. Deve essere univoco all'interno della stessa app. |
description |
Facoltativo. La descrizione del set di strumenti. |
createTime |
Solo output. Timestamp di creazione del toolset. 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 del toolset. 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: |
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. |
executionType |
Facoltativo. Il tipo di esecuzione degli strumenti nel toolset. |
toolFakeConfig |
Facoltativo. Configurazione del comportamento degli strumenti in modalità simulata. |
Campo unione toolset_type. Il tipo di toolset. toolset_type può essere solo uno dei seguenti tipi: |
|
mcpToolset |
Facoltativo. Un insieme di strumenti che contiene un elenco di strumenti offerti dal server MCP. |
openApiToolset |
Facoltativo. Un insieme di strumenti che contiene un elenco di strumenti definiti da uno schema OpenAPI. |
connectorToolset |
Facoltativo. Un insieme di strumenti che genera strumenti da una connessione Integration Connectors. |
McpToolset
| Rappresentazione JSON |
|---|
{ "serverAddress": string, "apiAuthentication": { object ( |
| Campi | |
|---|---|
serverAddress |
Obbligatorio. L'indirizzo del server MCP, ad esempio "https://example.com/mcp/". Se il server è creato con l'SDK MCP, l'URL deve avere il suffisso "/mcp/". Sono supportati solo i server basati sul trasporto HTTP in streaming. Per ulteriori dettagli, consulta la pagina https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http. |
apiAuthentication |
Facoltativo. Informazioni di autenticazione necessarie per accedere agli strumenti ed eseguire uno strumento sul server MCP. Per l'autenticazione con token di autenticazione, il token si applica solo all'esecuzione dello strumento, non agli strumenti di gestione delle schede. Ciò richiede che gli strumenti possano essere elencati senza autenticazione. |
serviceDirectoryConfig |
Facoltativo. Configurazione di Service Directory per VPC-SC, utilizzata per risolvere i nomi dei servizi all'interno di un perimetro. |
tlsConfig |
Facoltativo. La configurazione TLS. Include i certificati del server personalizzati che il client deve considerare attendibili. |
customHeaders |
Facoltativo. Le intestazioni personalizzate da inviare nella richiesta al server MCP. I valori devono essere nel formato Un oggetto contenente un elenco di coppie |
toolOverrides[] |
Facoltativo. Override per singoli strumenti all'interno di questo insieme di strumenti. In questo modo, puoi ignorare dettagli specifici come descrizioni, nomi o bloccare gli stati degli strumenti in modo che non siano completamente dinamici. |
ApiAuthentication
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione auth_config. La configurazione di autenticazione. auth_config può essere solo uno dei seguenti tipi: |
|
apiKeyConfig |
Facoltativo. Configurazione per l'autenticazione della chiave API. |
oauthConfig |
Facoltativo. Configurazione per OAuth. |
serviceAgentIdTokenAuthConfig |
Facoltativo. Configurazione per l'autenticazione con token ID generato dall'agente di servizio CES. |
serviceAccountAuthConfig |
Facoltativo. Configurazione per l'autenticazione del account di servizio. |
bearerTokenConfig |
Facoltativo. Configurazione per l'autenticazione con token di connessione. |
ApiKeyConfig
| Rappresentazione JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Campi | |
|---|---|
keyName |
Obbligatorio. Il nome del parametro o dell'intestazione della chiave API. Ad esempio, Se la richiesta API è "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia la chiave API. Formato: Nota: devi concedere il ruolo |
requestLocation |
Obbligatorio. Posizione della chiave nella richiesta. |
OAuthConfig
| Rappresentazione JSON |
|---|
{
"oauthGrantType": enum ( |
| Campi | |
|---|---|
oauthGrantType |
Obbligatorio. Tipi di autorizzazione con OAuth. |
clientId |
Obbligatorio. L'ID client del provider OAuth. |
clientSecretVersion |
Obbligatorio. Il nome della risorsa della versione del secret di Secret Manager che archivia il client secret. Formato: Nota: devi concedere il ruolo |
tokenEndpoint |
Obbligatorio. L'endpoint del token nel provider OAuth da scambiare con un token di accesso. |
scopes[] |
Facoltativo. Gli ambiti OAuth da concedere. |
ServiceAccountAuthConfig
| Rappresentazione JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Campi | |
|---|---|
serviceAccount |
Obbligatorio. L'indirizzo email del account di servizio utilizzato per l'autenticazione. CES utilizza questo account di servizio per scambiare un token di accesso, che viene poi inviato nell'intestazione All'account di servizio deve essere concesso il ruolo |
scopes[] |
Facoltativo. Gli ambiti OAuth da concedere. Se non specificato, viene utilizzato l'ambito predefinito |
BearerTokenConfig
| Rappresentazione JSON |
|---|
{ "token": string } |
| Campi | |
|---|---|
token |
Obbligatorio. Il token di connessione. Deve essere nel formato |
ServiceDirectoryConfig
| Rappresentazione JSON |
|---|
{ "service": string } |
| Campi | |
|---|---|
service |
Obbligatorio. Il nome del servizio Service Directory. Formato: |
TlsConfig
| Rappresentazione JSON |
|---|
{
"caCerts": [
{
object ( |
| Campi | |
|---|---|
caCerts[] |
Obbligatorio. Specifica un elenco di certificati CA personalizzati consentiti per la verifica HTTPS. |
CaCert
| Rappresentazione JSON |
|---|
{ "displayName": string, "cert": string } |
| Campi | |
|---|---|
displayName |
Obbligatorio. Il nome dei certificati CA personalizzati consentiti. Può essere utilizzato per distinguere i certificati CA personalizzati. |
cert |
Obbligatorio. I certificati CA personalizzati consentiti (in formato DER) per la verifica HTTPS. Esegue l'override dell'archivio di attendibilità SSL predefinito. Se questo campo è vuoto o non specificato, CES utilizzerà l'archivio di attendibilità predefinito di Google per verificare i certificati. Nota: assicurati che i certificati del server HTTPS siano firmati con "subject alt name". Ad esempio, un certificato può essere autofirmato utilizzando il seguente comando: Una stringa con codifica in base64. |
CustomHeadersEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
McpToolOverride
| Rappresentazione JSON |
|---|
{
"tool": string,
"nameOverride": string,
"descriptionOverride": string,
"snapshot": {
object ( |
| Campi | |
|---|---|
tool |
Obbligatorio. Il nome originale dello strumento così come viene emesso dal server MCP. |
nameOverride |
Facoltativo. Se presente, questo strumento utilizza questo nome nell'agente al posto del nome originale. Viene utilizzato principalmente come alias se il server MCP offre strumenti con nomi poco chiari. |
descriptionOverride |
Facoltativo. Se presente, questo strumento utilizza questa descrizione anziché quella originale del server. |
snapshot |
Solo output. Se presente, questo strumento è "Bloccato" e utilizza i valori dello snapshot come fallback se il server non è temporaneamente disponibile o se non è presente alcuna sostituzione. |
McpToolDefinition
| Rappresentazione JSON |
|---|
{ "description": string, "inputSchema": { object ( |
| Campi | |
|---|---|
description |
Solo output. La descrizione dello strumento MCP. Questa impostazione può essere sostituita da |
inputSchema |
Solo output. Lo schema degli argomenti di input dello strumento MCP. |
outputSchema |
Solo output. Lo schema degli argomenti di output dello strumento MCP. |
Schema
| Rappresentazione JSON |
|---|
{ "type": enum ( |
| Campi | |
|---|---|
type |
Obbligatorio. Il tipo di dati. |
properties |
Facoltativo. Proprietà di Type.OBJECT. Un oggetto contenente un elenco di coppie |
required[] |
Facoltativo. Proprietà obbligatorie di Type.OBJECT. |
description |
Facoltativo. La descrizione dei dati. |
items |
Facoltativo. Schema degli elementi di Type.ARRAY. |
nullable |
Facoltativo. Indica se il valore può essere null. |
uniqueItems |
Facoltativo. Indica che gli elementi dell'array devono essere univoci. Si applica solo a TYPE.ARRAY. |
prefixItems[] |
Facoltativo. Schemi degli elementi iniziali di Type.ARRAY. |
additionalProperties |
Facoltativo. Può essere un valore booleano o un oggetto, controlla la presenza di proprietà aggiuntive. |
anyOf[] |
Facoltativo. Il valore deve essere convalidato in base a uno o più sottoschema nell'elenco. |
enum[] |
Facoltativo. Valori possibili dell'elemento di tipo primitivo con formato enum. Esempi: 1. Possiamo definire la direzione come : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Possiamo definire il numero di appartamento come : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Facoltativo. Valore predefinito dei dati. |
ref |
Facoltativo. Consente riferimenti indiretti tra i nodi dello schema. Il valore deve essere un riferimento valido a un elemento secondario della radice Ad esempio, lo schema seguente definisce un riferimento a un nodo dello schema denominato "Pet": Il valore della proprietà "pet" è un riferimento al nodo dello schema denominato "Pet". Per maggiori dettagli, visita la pagina https://json-schema.org/understanding-json-schema/structuring. |
defs |
Facoltativo. Una mappa delle definizioni da utilizzare per Un oggetto contenente un elenco di coppie |
title |
Facoltativo. Il titolo dello schema. |
minItems |
Facoltativo. Numero minimo di elementi per Type.ARRAY. |
maxItems |
Facoltativo. Numero massimo di elementi per Type.ARRAY. |
Campo unione
|
|
minimum |
Facoltativo. Valore minimo per Type.INTEGER e Type.NUMBER. |
Campo unione
|
|
maximum |
Facoltativo. Valore massimo per Type.INTEGER e Type.NUMBER. |
PropertiesEntry
| Rappresentazione JSON |
|---|
{
"key": string,
"value": {
object ( |
| Campi | |
|---|---|
key |
|
value |
|
Valore
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione kind. Il tipo di valore. kind può essere solo uno dei seguenti tipi: |
|
nullValue |
Rappresenta un |
numberValue |
Rappresenta un numero JSON. Non deve essere |
stringValue |
Rappresenta una stringa JSON. |
boolValue |
Rappresenta un valore booleano JSON (valore letterale |
structValue |
Rappresenta un oggetto JSON. |
listValue |
Rappresenta un array JSON. |
Struct
| Rappresentazione JSON |
|---|
{ "fields": { string: value, ... } } |
| Campi | |
|---|---|
fields |
Mappa non ordinata di valori con tipo dinamico. Un oggetto contenente un elenco di coppie |
FieldsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": value } |
| Campi | |
|---|---|
key |
|
value |
|
ListValue
| Rappresentazione JSON |
|---|
{ "values": [ value ] } |
| Campi | |
|---|---|
values[] |
Campo ripetuto di valori con tipo dinamico. |
DefsEntry
| Rappresentazione JSON |
|---|
{
"key": string,
"value": {
object ( |
| Campi | |
|---|---|
key |
|
value |
|
OpenApiToolset
| Rappresentazione JSON |
|---|
{ "openApiSchema": string, "apiAuthentication": { object ( |
| Campi | |
|---|---|
openApiSchema |
Obbligatorio. Lo schema OpenAPI del set di strumenti. |
apiAuthentication |
Facoltativo. Informazioni di autenticazione richieste dall'API. |
tlsConfig |
Facoltativo. La configurazione TLS. Include i certificati del server personalizzati |
serviceDirectoryConfig |
Facoltativo. Configurazione di Service Directory. |
ignoreUnknownFields |
Facoltativo. Se il valore è true, l'agente ignorerà i campi sconosciuti nella risposta API per tutte le operazioni definite nello schema OpenAPI. |
url |
Facoltativo. L'URL del server dello schema Open API. Questo campo viene impostato solo nei toolset nelle dipendenze dell'ambiente durante il processo di esportazione se lo schema contiene un URL del server. Durante il processo di importazione, se questo URL è presente nelle dipendenze dell'ambiente e lo schema contiene il segnaposto $env_var, quest'ultimo verrà sostituito nello schema. |
ConnectorToolset
| Rappresentazione JSON |
|---|
{ "connection": string, "authConfig": { object ( |
| Campi | |
|---|---|
connection |
Obbligatorio. Il nome completo della risorsa della connessione Integration Connectors a cui viene fatto riferimento. Formato: |
authConfig |
Facoltativo. Configura la gestione dell'autenticazione in Integration Connectors. Per impostazione predefinita, un'autenticazione amministratore viene trasmessa nelle richieste dell'API Integration Connectors. Puoi ignorarla con una configurazione di autenticazione dell'utente finale diversa. Nota: per specificare una configurazione EUC qui, l'override dell'autenticazione deve essere abilitato per la connessione. In caso contrario, la creazione del Toolset non riuscirà. Consulta: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override |
connectorActions[] |
Obbligatorio. L'elenco delle azioni/operazioni di entità del connettore per cui generare strumenti. |
EndUserAuthConfig
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione auth_config. La configurazione di autenticazione. auth_config può essere solo uno dei seguenti tipi: |
|
oauth2AuthCodeConfig |
Autenticazione del codice di autorizzazione OAuth 2.0. |
oauth2JwtBearerConfig |
Autenticazione della concessione di autorizzazione OAuth 2.0 del profilo JWT. |
Oauth2AuthCodeConfig
| Rappresentazione JSON |
|---|
{ "oauthToken": string } |
| Campi | |
|---|---|
oauthToken |
Obbligatorio. Nome del parametro token OAuth da trasferire. Deve essere nel formato |
Oauth2JwtBearerConfig
| Rappresentazione JSON |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Campi | |
|---|---|
issuer |
Obbligatorio. Nome del parametro dell'emittente da trasferire. Deve essere nel formato |
subject |
Obbligatorio. Nome del parametro oggetto da trasferire. Deve essere nel formato |
clientKey |
Obbligatorio. Nome del parametro client da trasferire. Deve essere nel formato |
Azione
| Rappresentazione JSON |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Campi | |
|---|---|
inputFields[] |
Facoltativo. Campi dell'entità da utilizzare come input per l'operazione. Se non vengono specificati campi, verranno utilizzati tutti i campi dell'entità. |
outputFields[] |
Facoltativo. Campi dell'entità da restituire dall'operazione. Se non vengono specificati campi, vengono restituiti tutti i campi dell'entità. |
Campo unione action_spec. Specifica di un'azione da configurare per l'utilizzo dello strumento. action_spec può essere solo uno dei seguenti tipi: |
|
connectionActionId |
ID di un'azione di connessione da utilizzare per lo strumento. |
entityOperation |
Configurazione dell'operazione dell'entità da utilizzare per lo strumento. |
EntityOperation
| Rappresentazione JSON |
|---|
{
"entityId": string,
"operation": enum ( |
| Campi | |
|---|---|
entityId |
Obbligatorio. ID dell'entità. |
operation |
Obbligatorio. Operazione da eseguire sull'entità. |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi del tempo UTC a partire dall'epoca 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 porzione di 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. |
ToolFakeConfig
| Rappresentazione JSON |
|---|
{ "enableFakeMode": boolean, // Union field |
| Campi | |
|---|---|
enableFakeMode |
Facoltativo. Indica se lo strumento utilizza la modalità Falso. |
Campo unione tool_response. La risposta è statica o fornita da una funzione Python. tool_response può essere solo uno dei seguenti tipi: |
|
codeBlock |
Facoltativo. Blocco di codice che verrà eseguito al posto di una chiamata allo strumento reale. |
CodeBlock
| Rappresentazione JSON |
|---|
{ "pythonCode": string } |
| Campi | |
|---|---|
pythonCode |
Obbligatorio. Codice Python che verrà richiamato in modalità di simulazione dello strumento. Firma della funzione Python prevista: per intercettare tutte le chiamate di strumenti: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: per intercettare una chiamata di strumento specifica: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: se la funzione restituisce None, verrà richiamato lo strumento reale. |
RequestLocation
La posizione della chiave API nella richiesta.
| Enum | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Non specificato. Questo valore non deve essere utilizzato. |
HEADER |
Rappresenta la chiave nell'intestazione HTTP. |
QUERY_STRING |
Rappresenta la chiave nella stringa di query. |
OauthGrantType
Tipi di autorizzazione con OAuth. È supportata solo la concessione delle credenziali client.
| Enum | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Non specificato. Il valore predefinito è CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Rappresenta il flusso delle credenziali client. |
Tipo
Tipi di dati OpenAPI.
| Enum | |
|---|---|
TYPE_UNSPECIFIED |
Tipo non specificato. |
STRING |
Tipo di stringa. |
INTEGER |
Tipo intero. |
NUMBER |
Tipo di numero. |
BOOLEAN |
Tipo booleano. |
OBJECT |
Tipo di oggetto. |
ARRAY |
Tipo di array. |
NullValue
Rappresenta un null JSON.
NullValue è un sentinel che utilizza un'enumerazione con un solo valore per rappresentare il valore nullo per l'unione di tipi Value.
Un campo di tipo NullValue con un valore diverso da 0 è considerato non valido. La maggior parte dei serializzatori ProtoJSON emetterà un valore con null_value impostato come null JSON indipendentemente dal valore intero, quindi eseguirà l'andata e il ritorno a un valore 0.
| Enum | |
|---|---|
NULL_VALUE |
Valore nullo. |
OperationType
L'operazione da eseguire sull'entità.
| Enum | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
Tipo di operazione non specificato. Non valido, la creazione/l'aggiornamento di ConnectorTool non riuscirà. |
LIST |
Elenco operazioni. |
GET |
Recupera operazione. |
CREATE |
Crea operazione. |
UPDATE |
Operazione di aggiornamento. |
DELETE |
Operazione di eliminazione. |
ExecutionType
Il tipo di esecuzione dello strumento o del set di strumenti.
| Enum | |
|---|---|
EXECUTION_TYPE_UNSPECIFIED |
Il tipo di esecuzione non è specificato. Se non specificato, il valore predefinito è SYNCHRONOUS. |
SYNCHRONOUS |
Lo strumento viene eseguito in modo sincrono. La sessione viene bloccata finché lo strumento non viene restituito. |
ASYNCHRONOUS |
Lo strumento viene eseguito in modo asincrono. La sessione continuerà durante l'esecuzione dello strumento. |
Annotazioni dello strumento
Suggerimento distruttivo: ✅ | Suggerimento idempotente: ❌ | Suggerimento di sola lettura: ❌ | Suggerimento di mondo aperto: ❌