MCP Tools Reference: developerconnect.googleapis.com

Strumento: create-connection

Crea una nuova connessione in un progetto e una località specifici.

Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP create-connection.

Richiesta curl
curl --location 'https://developerconnect.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "create-connection",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Schema di input

Messaggio per la creazione di una connessione

CreateConnectionRequest

Rappresentazione JSON
{
  "parent": string,
  "connectionId": string,
  "connection": {
    object (Connection)
  },
  "requestId": string,
  "validateOnly": boolean
}
Campi
parent

string

Obbligatorio. Valore per il genitore.

connectionId

string

Obbligatorio. L'ID da utilizzare per la connessione, che diventa il componente finale del nome della risorsa della connessione.

connection

object (Connection)

Obbligatorio. La risorsa in fase di creazione

requestId

string

Facoltativo. Un ID richiesta facoltativo per identificare le richieste. Specifica un ID richiesta univoco in modo che, se devi riprovare a inviare la richiesta, il server sappia che deve ignorarla se è già stata completata. Il server garantirà di ignorare la seconda richiesta per almeno 60 minuti dopo la prima.

Ad esempio, considera una situazione in cui effettui una richiesta iniziale e questa scade. Se effettui nuovamente la richiesta con lo stesso ID richiesta, il server può verificare se l'operazione originale con lo stesso ID richiesta è stata ricevuta e, in caso affermativo, ignorerà la seconda richiesta. In questo modo, i client non creano impegni duplicati per errore.

L'ID richiesta deve essere un UUID valido, ad eccezione dell'UUID zero, che non è supportato (00000000-0000-0000-0000-000000000000).

validateOnly

boolean

Facoltativo. Se impostato, convalida la richiesta, ma non pubblicarla.

Connessione

Rappresentazione JSON
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "labels": {
    string: string,
    ...
  },
  "installationState": {
    object (InstallationState)
  },
  "disabled": boolean,
  "reconciling": boolean,
  "annotations": {
    string: string,
    ...
  },
  "etag": string,
  "uid": string,
  "cryptoKeyConfig": {
    object (CryptoKeyConfig)
  },
  "gitProxyConfig": {
    object (GitProxyConfig)
  },

  // Union field connection_config can be only one of the following:
  "githubConfig": {
    object (GitHubConfig)
  },
  "githubEnterpriseConfig": {
    object (GitHubEnterpriseConfig)
  },
  "gitlabConfig": {
    object (GitLabConfig)
  },
  "gitlabEnterpriseConfig": {
    object (GitLabEnterpriseConfig)
  },
  "bitbucketDataCenterConfig": {
    object (BitbucketDataCenterConfig)
  },
  "bitbucketCloudConfig": {
    object (BitbucketCloudConfig)
  },
  "secureSourceManagerInstanceConfig": {
    object (SecureSourceManagerInstanceConfig)
  },
  "httpConfig": {
    object (GenericHTTPEndpointConfig)
  }
  // End of list of possible types for union field connection_config.
}
Campi
name

string

Identificatore. Il nome della risorsa della connessione, nel formato projects/{project}/locations/{location}/connections/{connection_id}.

createTime

string (Timestamp format)

Solo output. Timestamp creazione.

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo output. Timestamp aggiornamento.

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

deleteTime

string (Timestamp format)

Solo output. Elimina il timestamp.

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Facoltativo. Etichette come coppie chiave-valore

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

installationState

object (InstallationState)

Solo output. Stato di installazione della connessione.

disabled

boolean

Facoltativo. Se disabled è impostato su true, la funzionalità è disattivata per questa connessione. I metodi API basati su repository e l'elaborazione dei webhook per i repository in questa connessione verranno disabilitati.

reconciling

boolean

Solo output. Impostato su true quando la connessione viene configurata o aggiornata in background.

annotations

map (key: string, value: string)

Facoltativo. Consente ai client di archiviare piccole quantità di dati arbitrari.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

etag

string

Facoltativo. Questo checksum viene calcolato dal server in base al valore di altri campi e può essere inviato con le richieste di aggiornamento ed eliminazione per garantire che il client abbia un valore aggiornato prima di procedere.

uid

string

Solo output. Un identificatore univoco assegnato dal sistema per la connessione.

cryptoKeyConfig

object (CryptoKeyConfig)

Facoltativo. La configurazione della chiave di crittografia. Questo campo viene utilizzato dalla funzionalità Chiavi di crittografia gestite dal cliente (CMEK).

gitProxyConfig

object (GitProxyConfig)

Facoltativo. Configurazione della funzionalità proxy Git. L'abilitazione del proxy Git consente ai client di eseguire operazioni Git sui repository collegati nella connessione. Scopri di più.

Campo unione connection_config. Configurazione della connessione in base al tipo di provider. connection_config può essere solo uno dei seguenti tipi:
githubConfig

object (GitHubConfig)

Configurazione per le connessioni a github.com.

githubEnterpriseConfig

object (GitHubEnterpriseConfig)

Configurazione per le connessioni a un'istanza di GitHub Enterprise.

gitlabConfig

object (GitLabConfig)

Configurazione per le connessioni a gitlab.com.

gitlabEnterpriseConfig

object (GitLabEnterpriseConfig)

Configurazione per le connessioni a un'istanza di GitLab Enterprise.

bitbucketDataCenterConfig

object (BitbucketDataCenterConfig)

Configurazione per le connessioni a un'istanza di Bitbucket Data Center.

bitbucketCloudConfig

object (BitbucketCloudConfig)

Configurazione per le connessioni a un'istanza di Bitbucket Cloud.

secureSourceManagerInstanceConfig

object (SecureSourceManagerInstanceConfig)

Configurazione per le connessioni a un'istanza di Secure Source Manager.

httpConfig

object (GenericHTTPEndpointConfig)

Facoltativo. Configurazione per le connessioni a un fornitore di servizi HTTP.

GitHubConfig

Rappresentazione JSON
{
  "githubApp": enum (GitHubApp),
  "authorizerCredential": {
    object (OAuthCredential)
  },
  "appInstallationId": string,
  "installationUri": string
}
Campi
githubApp

enum (GitHubApp)

Obbligatorio. Immutabile. L'applicazione GitHub installata nell'utente o nell'organizzazione GitHub.

authorizerCredential

object (OAuthCredential)

Facoltativo. Credenziale OAuth dell'account che ha autorizzato l'app GitHub. Ti consigliamo di utilizzare un account robot anziché un account utente umano. Il token OAuth deve essere associato all'app GitHub di questa configurazione.

appInstallationId

string (int64 format)

Facoltativo. ID installazione dell'app GitHub.

installationUri

string

Solo output. L'URI a cui accedere per gestire l'installazione associata a questo GitHubConfig.

OAuthCredential

Rappresentazione JSON
{
  "oauthTokenSecretVersion": string,
  "username": string
}
Campi
oauthTokenSecretVersion

string

Obbligatorio. Una risorsa SecretManager contenente il token OAuth che autorizza la connessione. Formato: projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (se i secret regionali sono supportati in quella località).

username

string

Solo output. Il nome utente associato a questo token.

GitHubEnterpriseConfig

Rappresentazione JSON
{
  "hostUri": string,
  "appId": string,
  "appSlug": string,
  "privateKeySecretVersion": string,
  "webhookSecretSecretVersion": string,
  "appInstallationId": string,
  "installationUri": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "serverVersion": string,
  "sslCaCertificate": string,
  "organization": string
}
Campi
hostUri

string

Obbligatorio. L'URI dell'host GitHub Enterprise per cui è stata creata questa connessione.

appId

string (int64 format)

Facoltativo. ID dell'app GitHub creata dal manifest.

appSlug

string

Solo output. Il nome dell'app GitHub compatibile con gli URL.

privateKeySecretVersion

string

Facoltativo. Risorsa SecretManager contenente la chiave privata dell'app GitHub, formattata come projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (se i secret regionali sono supportati in quella località).

webhookSecretSecretVersion

string

Facoltativo. Risorsa SecretManager contenente il secret del webhook dell'app GitHub, formattato come projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (se i secret regionali sono supportati in quella località).

appInstallationId

string (int64 format)

Facoltativo. ID dell'installazione dell'app GitHub.

installationUri

string

Solo output. L'URI a cui accedere per gestire l'installazione associata a questo GitHubEnterpriseConfig.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facoltativo. Configurazione per l'utilizzo di Service Directory per connettersi privatamente a un server GitHub Enterprise. Questo campo deve essere impostato solo se il server GitHub Enterprise è ospitato on-premise e non è raggiungibile tramite internet pubblico. Se questo campo viene lasciato vuoto, le chiamate al server GitHub Enterprise verranno effettuate tramite la rete internet pubblica.

serverVersion

string

Solo output. Versione di GitHub Enterprise installata in host_uri.

sslCaCertificate

string

Facoltativo. Certificato SSL da utilizzare per le richieste a GitHub Enterprise.

organization

string

Facoltativo. Immutabile. Organizzazione GitHub Enterprise in cui viene creata l'app GitHub.

ServiceDirectoryConfig

Rappresentazione JSON
{
  "service": string
}
Campi
service

string

Obbligatorio. Il nome del servizio Service Directory. Formato: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.

GitLabConfig

Rappresentazione JSON
{
  "webhookSecretSecretVersion": string,
  "readAuthorizerCredential": {
    object (UserCredential)
  },
  "authorizerCredential": {
    object (UserCredential)
  }
}
Campi
webhookSecretSecretVersion

string

Obbligatorio. Immutabile. Risorsa SecretManager contenente il secret del webhook di un progetto GitLab, formattato come projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (se i secret regionali sono supportati in quella località). Viene utilizzato per convalidare i webhook.

readAuthorizerCredential

object (UserCredential)

Obbligatorio. Un token di accesso personale GitLab con accesso all'ambito minimo read_api e un ruolo minimo di reporter. I progetti GitLab visibili a questo token di accesso personale controlleranno i progetti a cui Developer Connect ha accesso.

authorizerCredential

object (UserCredential)

Obbligatorio. Un token di accesso personale GitLab con accesso all'ambito minimo api e un ruolo minimo di maintainer. I progetti GitLab visibili a questo token di accesso personale controlleranno i progetti a cui Developer Connect ha accesso.

UserCredential

Rappresentazione JSON
{
  "userTokenSecretVersion": string,
  "username": string
}
Campi
userTokenSecretVersion

string

Obbligatorio. Una risorsa SecretManager contenente il token utente che autorizza la connessione di Developer Connect. Formato: projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (se i secret regionali sono supportati in quella località).

username

string

Solo output. Il nome utente associato a questo token.

GitLabEnterpriseConfig

Rappresentazione JSON
{
  "hostUri": string,
  "webhookSecretSecretVersion": string,
  "readAuthorizerCredential": {
    object (UserCredential)
  },
  "authorizerCredential": {
    object (UserCredential)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "sslCaCertificate": string,
  "serverVersion": string
}
Campi
hostUri

string

Obbligatorio. L'URI dell'host GitLab Enterprise per cui è stata creata questa connessione.

webhookSecretSecretVersion

string

Obbligatorio. Immutabile. Risorsa SecretManager contenente il secret del webhook di un progetto GitLab, formattato come projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (se i secret regionali sono supportati in quella località). Viene utilizzato per convalidare i webhook.

readAuthorizerCredential

object (UserCredential)

Obbligatorio. Un token di accesso personale GitLab con accesso all'ambito minimo read_api e un ruolo minimo di reporter. I progetti GitLab visibili a questo token di accesso personale controlleranno i progetti a cui Developer Connect ha accesso.

authorizerCredential

object (UserCredential)

Obbligatorio. Un token di accesso personale GitLab con accesso all'ambito minimo api e un ruolo minimo di maintainer. I progetti GitLab visibili a questo token di accesso personale controlleranno i progetti a cui Developer Connect ha accesso.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facoltativo. Configurazione per l'utilizzo di Service Directory per la connessione privata a un'istanza GitLab Enterprise. Questo valore deve essere impostato solo se il server GitLab Enterprise è ospitato on-premise e non è raggiungibile tramite internet pubblico. Se questo campo viene lasciato vuoto, le chiamate al server GitLab Enterprise verranno effettuate tramite internet pubblico.

sslCaCertificate

string

Facoltativo. Certificato dell'autorità di certificazione SSL da utilizzare per le richieste all'istanza GitLab Enterprise.

serverVersion

string

Solo output. Versione del server GitLab Enterprise in esecuzione su host_uri.

BitbucketDataCenterConfig

Rappresentazione JSON
{
  "hostUri": string,
  "webhookSecretSecretVersion": string,
  "readAuthorizerCredential": {
    object (UserCredential)
  },
  "authorizerCredential": {
    object (UserCredential)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "sslCaCertificate": string,
  "serverVersion": string
}
Campi
hostUri

string

Obbligatorio. L'URI dell'host Bitbucket Data Center per cui è stata creata questa connessione.

webhookSecretSecretVersion

string

Obbligatorio. Immutabile. Risorsa SecretManager contenente il secret del webhook utilizzato per verificare gli eventi del webhook, formattato come projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (se i secret regionali sono supportati in quella località). Viene utilizzato per convalidare i webhook.

readAuthorizerCredential

object (UserCredential)

Obbligatorio. Un token di accesso HTTP con l'accesso minimo Repository read. Ti consigliamo di utilizzare un account di sistema per generare le credenziali.

authorizerCredential

object (UserCredential)

Obbligatorio. Un token di accesso HTTP con accesso all'ambito Repository admin minimo. Questo è necessario per creare webhook. Ti consigliamo di utilizzare un account di sistema per generare queste credenziali.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facoltativo. Configurazione per l'utilizzo di Service Directory per connettersi privatamente a un'istanza Bitbucket Data Center. Questo campo deve essere impostato solo se Bitbucket Data Center è ospitato on-premise e non è raggiungibile tramite internet pubblico. Se questo campo viene lasciato vuoto, le chiamate al data center Bitbucket verranno effettuate tramite internet pubblico.

sslCaCertificate

string

Facoltativo. Autorità di certificazione SSL da considerare attendibile quando si effettuano richieste a Bitbucket Data Center.

serverVersion

string

Solo output. Versione del server Bitbucket Data Center in esecuzione su host_uri.

BitbucketCloudConfig

Rappresentazione JSON
{
  "workspace": string,
  "webhookSecretSecretVersion": string,
  "readAuthorizerCredential": {
    object (UserCredential)
  },
  "authorizerCredential": {
    object (UserCredential)
  }
}
Campi
workspace

string

Obbligatorio. L'ID dell'area di lavoro Bitbucket Cloud da connettere alla Google Cloud Platform.

webhookSecretSecretVersion

string

Obbligatorio. Immutabile. Risorsa SecretManager contenente il secret del webhook utilizzato per verificare gli eventi del webhook, formattato come projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (se i secret regionali sono supportati in quella località). Viene utilizzato per convalidare e creare webhook.

readAuthorizerCredential

object (UserCredential)

Obbligatorio. Un token di accesso con l'accesso minimo a repository. Può essere un token di accesso a un'area di lavoro, a un progetto o a un repository. Ti consigliamo di utilizzare un account di sistema per generare le credenziali.

authorizerCredential

object (UserCredential)

Obbligatorio. Un token di accesso con accesso minimo agli ambiti repository, pullrequest e webhook. Può essere un token di accesso a un'area di lavoro, a un progetto o a un repository. Questo è necessario per creare webhook. Ti consigliamo di utilizzare un account di sistema per generare queste credenziali.

SecureSourceManagerInstanceConfig

Rappresentazione JSON
{
  "instance": string
}
Campi
instance

string

Obbligatorio. Immutabile. Risorsa dell'istanza Secure Source Manager, formattata come projects/*/locations/*/instances/*

GenericHTTPEndpointConfig

Rappresentazione JSON
{
  "hostUri": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "sslCaCertificate": string,

  // Union field authentication can be only one of the following:
  "basicAuthentication": {
    object (BasicAuthentication)
  },
  "bearerTokenAuthentication": {
    object (BearerTokenAuthentication)
  }
  // End of list of possible types for union field authentication.
}
Campi
hostUri

string

Obbligatorio. Immutabile. L'endpoint HTTPS del fornitore di servizi.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facoltativo. Configurazione per l'utilizzo di Service Directory per la connessione privata a un fornitore di servizi HTTP. Questo valore deve essere impostato solo se il fornitore di servizi HTTP è ospitato on-premise e non è raggiungibile tramite internet pubblico. Se questo campo viene lasciato vuoto, le chiamate al fornitore di servizi HTTP verranno effettuate tramite la rete internet pubblica.

sslCaCertificate

string

Facoltativo. Il certificato SSL da utilizzare per le richieste al fornitore di servizi HTTP.

Campo unione authentication. Il meccanismo di autenticazione da utilizzare per le richieste al fornitore di servizi HTTP. authentication può essere solo uno dei seguenti tipi:
basicAuthentication

object (BasicAuthentication)

Facoltativo. Autenticazione di base con nome utente e password.

bearerTokenAuthentication

object (BearerTokenAuthentication)

Facoltativo. Autenticazione con token di connessione.

BasicAuthentication

Rappresentazione JSON
{
  "username": string,

  // Union field password can be only one of the following:
  "passwordSecretVersion": string
  // End of list of possible types for union field password.
}
Campi
username

string

Obbligatorio. Il nome utente da utilizzare per l'autenticazione.

Campo unione password. La password con cui eseguire l'autenticazione. password può essere solo uno dei seguenti tipi:
passwordSecretVersion

string

La versione del secret SecretManager della password da utilizzare per l'autenticazione.

BearerTokenAuthentication

Rappresentazione JSON
{

  // Union field token can be only one of the following:
  "tokenSecretVersion": string
  // End of list of possible types for union field token.
}
Campi
Campo unione token. Il token per l'autenticazione. token può essere solo uno dei seguenti tipi:
tokenSecretVersion

string

Facoltativo. La versione del secret SecretManager del token da utilizzare per l'autenticazione.

Timestamp

Rappresentazione JSON
{
  "seconds": string,
  "nanos": integer
}
Campi
seconds

string (int64 format)

Rappresenta i secondi dell'ora UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (che corrisponde a un intervallo compreso tra 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z).

nanos

integer

Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la parte in nanosecondi della durata, non un'alternativa ai secondi. I valori dei secondi negativi con frazioni devono comunque avere valori di nanosecondi non negativi che avanzano nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi.

LabelsEntry

Rappresentazione JSON
{
  "key": string,
  "value": string
}
Campi
key

string

value

string

InstallationState

Rappresentazione JSON
{
  "stage": enum (Stage),
  "message": string,
  "actionUri": string
}
Campi
stage

enum (Stage)

Solo output. Passaggio corrente del processo di installazione.

message

string

Solo output. Messaggio che indica all'utente cosa fare per continuare l'installazione. Stringa vuota se l'installazione è già stata completata.

actionUri

string

Solo output. Link da seguire per l'azione successiva. Stringa vuota se l'installazione è già stata completata.

AnnotationsEntry

Rappresentazione JSON
{
  "key": string,
  "value": string
}
Campi
key

string

value

string

CryptoKeyConfig

Rappresentazione JSON
{
  "keyReference": string
}
Campi
keyReference

string

Obbligatorio. Il nome della chiave utilizzata per criptare/decriptare i dati dei clienti. Per la chiave in Cloud KMS, il formato della chiave deve essere projects/*/locations/*/keyRings/*/cryptoKeys/*.

GitProxyConfig

Rappresentazione JSON
{
  "enabled": boolean,
  "httpProxyBaseUri": string
}
Campi
enabled

boolean

Facoltativo. Se impostato su true, il proxy Git può essere utilizzato per eseguire operazioni Git sui repository collegati nella connessione.

httpProxyBaseUri

string

Solo output. L'URI di base per l'endpoint del proxy HTTP. Ha il formato https://{generatedID}-c-h-{shortRegion}.developerconnect.dev. Viene compilato solo se l'opzione abilitata è impostata su true. Questo endpoint viene utilizzato da altri servizi Google che si integrano con Developer Connect.

GitHubApp

Rappresenta le varie applicazioni GitHub che possono essere installate su un utente o un'organizzazione GitHub e utilizzate con Developer Connect.

Enum
GIT_HUB_APP_UNSPECIFIED App GitHub non specificata.
DEVELOPER_CONNECT L'applicazione GitHub Developer Connect.
FIREBASE L'applicazione Firebase GitHub.
GEMINI_CODE_ASSIST L'applicazione Gemini Code Assist.
DATAFORM L'applicazione GitHub di Dataform.

Fase

Fase del processo di installazione.

Enum
STAGE_UNSPECIFIED Nessuna fase specificata.
PENDING_CREATE_APP Solo per GitHub Enterprise. È stata richiesta la creazione di un'app. L'utente deve confermare la creazione nel proprio host GitHub Enterprise.
PENDING_USER_OAUTH L'utente deve autorizzare l'app GitHub (o Enterprise) tramite OAuth.
PENDING_INSTALL_APP L'utente deve seguire il link per installare l'app GitHub (o Enterprise).
COMPLETE La procedura di installazione è stata completata.

Schema di output

Questa risorsa rappresenta un'operazione a lunga esecuzione che è il risultato di una chiamata API di rete.

Operazione

Rappresentazione JSON
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
Campi
name

string

Il nome assegnato dal server, che è univoco solo all'interno dello stesso servizio che lo restituisce originariamente. Se utilizzi la mappatura HTTP predefinita, name deve essere un nome risorsa che termina con operations/{unique_id}.

metadata

object

Metadati specifici del servizio associati all'operazione. In genere contengono informazioni sullo stato di avanzamento e metadati comuni come l'ora di creazione. Alcuni servizi potrebbero non fornire questi metadati. Qualsiasi metodo che restituisce un'operazione a lunga esecuzione deve documentare il tipo di metadati, se presenti.

Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo "@type" contenente un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

Se il valore è false, significa che l'operazione è ancora in corso. Se è true, l'operazione viene completata ed è disponibile error o response.

Campo unione result. Il risultato dell'operazione, che può essere un error o una response valida. Se done == false, né error né response vengono impostati. Se done == true, è possibile impostare esattamente uno tra error e response. Alcuni servizi potrebbero non fornire il risultato. result può essere solo uno dei seguenti tipi:
error

object (Status)

Il risultato di errore dell'operazione in caso di errore o annullamento.

response

object

La risposta normale e con esito positivo dell'operazione. Se il metodo originale non restituisce dati in caso di esito positivo, ad esempio Delete, la risposta è google.protobuf.Empty. Se il metodo originale è Get/Create/Update standard, la risposta deve essere la risorsa. Per gli altri metodi, la risposta deve avere il tipo XxxResponse, dove Xxx è il nome del metodo originale. Ad esempio, se il nome del metodo originale è TakeSnapshot(), il tipo di risposta dedotto è TakeSnapshotResponse.

Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo "@type" contenente un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }.

Qualsiasi

Rappresentazione JSON
{
  "typeUrl": string,
  "value": string
}
Campi
typeUrl

string

Identifica il tipo di messaggio Protobuf serializzato con un riferimento URI costituito da un prefisso che termina con una barra e dal nome del tipo completo.

Esempio: type.googleapis.com/google.protobuf.StringValue

Questa stringa deve contenere almeno un carattere / e il contenuto dopo l'ultimo / deve essere il nome completo del tipo in formato canonico, senza un punto iniziale. Non scrivere uno schema su questi riferimenti URI in modo che i client non tentino di contattarli.

Il prefisso è arbitrario e le implementazioni di Protobuf dovrebbero semplicemente rimuovere tutto fino all'ultimo / incluso per identificare il tipo. type.googleapis.com/ è un prefisso predefinito comune richiesto da alcune implementazioni legacy. Questo prefisso non indica l'origine del tipo e non è previsto che gli URI che lo contengono rispondano alle richieste.

Tutte le stringhe URL del tipo devono essere riferimenti URI validi con l'ulteriore limitazione (per il formato di testo) che i contenuti del riferimento devono essere costituiti solo da caratteri alfanumerici, escape con codifica percentuale e caratteri nel seguente insieme (esclusi gli apici inversi esterni): /-.~_!$&()*+,;=. Sebbene consentiamo le codifiche percentuali, le implementazioni non devono rimuovere l'escape per evitare confusione con i parser esistenti. Ad esempio, type.googleapis.com%2FFoo deve essere rifiutato.

Nel design originale di Any, è stata presa in considerazione la possibilità di lanciare un servizio di risoluzione dei tipi in questi URL di tipo, ma Protobuf non ne ha mai implementato uno e considera problematico contattare questi URL, oltre che un potenziale problema di sicurezza. Non tentare di contattare gli URL dei tipi.

value

string (bytes format)

Contiene una serializzazione Protobuf del tipo descritto da type_url.

Una stringa con codifica in base64.

Stato

Rappresentazione JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Campi
code

integer

Il codice di stato, che deve essere un valore enum di google.rpc.Code.

message

string

Un messaggio di errore rivolto agli sviluppatori, che deve essere in inglese. Qualsiasi messaggio di errore rivolto agli utenti deve essere localizzato e inviato nel campo google.rpc.Status.details o localizzato dal client.

details[]

object

Un elenco di messaggi contenenti i dettagli dell'errore. Esiste un insieme comune di tipi di messaggi da utilizzare per le API.

Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo "@type" contenente un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }.

Annotazioni dello strumento

Le annotazioni degli strumenti 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 un prompt di conferma a un utente.

Oltre alla stringa del titolo, i seguenti suggerimenti booleani sono definiti come segue:

  • readOnlyHint: se true, lo strumento non modifica il suo ambiente. Valore predefinito: false.
  • destructiveHint: se true, lo strumento può eseguire azioni distruttive. Se false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.
  • idempotentHint: se true, la chiamata ripetuta dello 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 entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria non lo sarebbe.

Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌