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 ( |
| Campi | |
|---|---|
parent |
Obbligatorio. Valore per il genitore. |
connectionId |
Obbligatorio. L'ID da utilizzare per la connessione, che diventa il componente finale del nome della risorsa della connessione. |
connection |
Obbligatorio. La risorsa in fase di creazione |
requestId |
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 |
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 ( |
| Campi | |
|---|---|
name |
Identificatore. Il nome della risorsa della connessione, nel formato |
createTime |
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: |
updateTime |
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: |
deleteTime |
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: |
labels |
Facoltativo. Etichette come coppie chiave-valore Un oggetto contenente un elenco di coppie |
installationState |
Solo output. Stato di installazione della connessione. |
disabled |
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 |
Solo output. Impostato su true quando la connessione viene configurata o aggiornata in background. |
annotations |
Facoltativo. Consente ai client di archiviare piccole quantità di dati arbitrari. Un oggetto contenente un elenco di coppie |
etag |
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 |
Solo output. Un identificatore univoco assegnato dal sistema per la connessione. |
cryptoKeyConfig |
Facoltativo. La configurazione della chiave di crittografia. Questo campo viene utilizzato dalla funzionalità Chiavi di crittografia gestite dal cliente (CMEK). |
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 |
Configurazione per le connessioni a github.com. |
githubEnterpriseConfig |
Configurazione per le connessioni a un'istanza di GitHub Enterprise. |
gitlabConfig |
Configurazione per le connessioni a gitlab.com. |
gitlabEnterpriseConfig |
Configurazione per le connessioni a un'istanza di GitLab Enterprise. |
bitbucketDataCenterConfig |
Configurazione per le connessioni a un'istanza di Bitbucket Data Center. |
bitbucketCloudConfig |
Configurazione per le connessioni a un'istanza di Bitbucket Cloud. |
secureSourceManagerInstanceConfig |
Configurazione per le connessioni a un'istanza di Secure Source Manager. |
httpConfig |
Facoltativo. Configurazione per le connessioni a un fornitore di servizi HTTP. |
GitHubConfig
| Rappresentazione JSON |
|---|
{ "githubApp": enum ( |
| Campi | |
|---|---|
githubApp |
Obbligatorio. Immutabile. L'applicazione GitHub installata nell'utente o nell'organizzazione GitHub. |
authorizerCredential |
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 |
Facoltativo. ID installazione dell'app GitHub. |
installationUri |
Solo output. L'URI a cui accedere per gestire l'installazione associata a questo GitHubConfig. |
OAuthCredential
| Rappresentazione JSON |
|---|
{ "oauthTokenSecretVersion": string, "username": string } |
| Campi | |
|---|---|
oauthTokenSecretVersion |
Obbligatorio. Una risorsa SecretManager contenente il token OAuth che autorizza la connessione. Formato: |
username |
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 ( |
| Campi | |
|---|---|
hostUri |
Obbligatorio. L'URI dell'host GitHub Enterprise per cui è stata creata questa connessione. |
appId |
Facoltativo. ID dell'app GitHub creata dal manifest. |
appSlug |
Solo output. Il nome dell'app GitHub compatibile con gli URL. |
privateKeySecretVersion |
Facoltativo. Risorsa SecretManager contenente la chiave privata dell'app GitHub, formattata come |
webhookSecretSecretVersion |
Facoltativo. Risorsa SecretManager contenente il secret del webhook dell'app GitHub, formattato come |
appInstallationId |
Facoltativo. ID dell'installazione dell'app GitHub. |
installationUri |
Solo output. L'URI a cui accedere per gestire l'installazione associata a questo GitHubEnterpriseConfig. |
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 |
Solo output. Versione di GitHub Enterprise installata in host_uri. |
sslCaCertificate |
Facoltativo. Certificato SSL da utilizzare per le richieste a GitHub Enterprise. |
organization |
Facoltativo. Immutabile. Organizzazione GitHub Enterprise in cui viene creata l'app GitHub. |
ServiceDirectoryConfig
| Rappresentazione JSON |
|---|
{ "service": string } |
| Campi | |
|---|---|
service |
Obbligatorio. Il nome del servizio Service Directory. Formato: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. |
GitLabConfig
| Rappresentazione JSON |
|---|
{ "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| Campi | |
|---|---|
webhookSecretSecretVersion |
Obbligatorio. Immutabile. Risorsa SecretManager contenente il secret del webhook di un progetto GitLab, formattato come |
readAuthorizerCredential |
Obbligatorio. Un token di accesso personale GitLab con accesso all'ambito minimo |
authorizerCredential |
Obbligatorio. Un token di accesso personale GitLab con accesso all'ambito minimo |
UserCredential
| Rappresentazione JSON |
|---|
{ "userTokenSecretVersion": string, "username": string } |
| Campi | |
|---|---|
userTokenSecretVersion |
Obbligatorio. Una risorsa SecretManager contenente il token utente che autorizza la connessione di Developer Connect. Formato: |
username |
Solo output. Il nome utente associato a questo token. |
GitLabEnterpriseConfig
| Rappresentazione JSON |
|---|
{ "hostUri": string, "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| Campi | |
|---|---|
hostUri |
Obbligatorio. L'URI dell'host GitLab Enterprise per cui è stata creata questa connessione. |
webhookSecretSecretVersion |
Obbligatorio. Immutabile. Risorsa SecretManager contenente il secret del webhook di un progetto GitLab, formattato come |
readAuthorizerCredential |
Obbligatorio. Un token di accesso personale GitLab con accesso all'ambito minimo |
authorizerCredential |
Obbligatorio. Un token di accesso personale GitLab con accesso all'ambito minimo |
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 |
Facoltativo. Certificato dell'autorità di certificazione SSL da utilizzare per le richieste all'istanza GitLab Enterprise. |
serverVersion |
Solo output. Versione del server GitLab Enterprise in esecuzione su |
BitbucketDataCenterConfig
| Rappresentazione JSON |
|---|
{ "hostUri": string, "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| Campi | |
|---|---|
hostUri |
Obbligatorio. L'URI dell'host Bitbucket Data Center per cui è stata creata questa connessione. |
webhookSecretSecretVersion |
Obbligatorio. Immutabile. Risorsa SecretManager contenente il secret del webhook utilizzato per verificare gli eventi del webhook, formattato come |
readAuthorizerCredential |
Obbligatorio. Un token di accesso HTTP con l'accesso minimo |
authorizerCredential |
Obbligatorio. Un token di accesso HTTP con accesso all'ambito |
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 |
Facoltativo. Autorità di certificazione SSL da considerare attendibile quando si effettuano richieste a Bitbucket Data Center. |
serverVersion |
Solo output. Versione del server Bitbucket Data Center in esecuzione su |
BitbucketCloudConfig
| Rappresentazione JSON |
|---|
{ "workspace": string, "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| Campi | |
|---|---|
workspace |
Obbligatorio. L'ID dell'area di lavoro Bitbucket Cloud da connettere alla Google Cloud Platform. |
webhookSecretSecretVersion |
Obbligatorio. Immutabile. Risorsa SecretManager contenente il secret del webhook utilizzato per verificare gli eventi del webhook, formattato come |
readAuthorizerCredential |
Obbligatorio. Un token di accesso con l'accesso minimo a |
authorizerCredential |
Obbligatorio. Un token di accesso con accesso minimo agli ambiti |
SecureSourceManagerInstanceConfig
| Rappresentazione JSON |
|---|
{ "instance": string } |
| Campi | |
|---|---|
instance |
Obbligatorio. Immutabile. Risorsa dell'istanza Secure Source Manager, formattata come |
GenericHTTPEndpointConfig
| Rappresentazione JSON |
|---|
{ "hostUri": string, "serviceDirectoryConfig": { object ( |
| Campi | |
|---|---|
hostUri |
Obbligatorio. Immutabile. L'endpoint HTTPS del fornitore di servizi. |
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 |
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 |
Facoltativo. Autenticazione di base con nome utente e password. |
bearerTokenAuthentication |
Facoltativo. Autenticazione con token di connessione. |
BasicAuthentication
| Rappresentazione JSON |
|---|
{ "username": string, // Union field |
| Campi | |
|---|---|
username |
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 |
La versione del secret SecretManager della password da utilizzare per l'autenticazione. |
BearerTokenAuthentication
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione token. Il token per l'autenticazione. token può essere solo uno dei seguenti tipi: |
|
tokenSecretVersion |
Facoltativo. La versione del secret SecretManager del token da utilizzare per l'autenticazione. |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
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 |
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 |
|
value |
|
InstallationState
| Rappresentazione JSON |
|---|
{
"stage": enum ( |
| Campi | |
|---|---|
stage |
Solo output. Passaggio corrente del processo di installazione. |
message |
Solo output. Messaggio che indica all'utente cosa fare per continuare l'installazione. Stringa vuota se l'installazione è già stata completata. |
actionUri |
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 |
|
value |
|
CryptoKeyConfig
| Rappresentazione JSON |
|---|
{ "keyReference": string } |
| Campi | |
|---|---|
keyReference |
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 |
GitProxyConfig
| Rappresentazione JSON |
|---|
{ "enabled": boolean, "httpProxyBaseUri": string } |
| Campi | |
|---|---|
enabled |
Facoltativo. Se impostato su true, il proxy Git può essere utilizzato per eseguire operazioni Git sui repository collegati nella connessione. |
httpProxyBaseUri |
Solo output. L'URI di base per l'endpoint del proxy HTTP. Ha il formato |
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 |
| Campi | |
|---|---|
name |
Il nome assegnato dal server, che è univoco solo all'interno dello stesso servizio che lo restituisce originariamente. Se utilizzi la mappatura HTTP predefinita, |
metadata |
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 |
done |
Se il valore è |
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 |
Il risultato di errore dell'operazione in caso di errore o annullamento. |
response |
La risposta normale e con esito positivo dell'operazione. Se il metodo originale non restituisce dati in caso di esito positivo, ad esempio Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo |
Qualsiasi
| Rappresentazione JSON |
|---|
{ "typeUrl": string, "value": string } |
| Campi | |
|---|---|
typeUrl |
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 Il prefisso è arbitrario e le implementazioni di Protobuf dovrebbero semplicemente rimuovere tutto fino all'ultimo 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): Nel design originale di |
value |
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 |
Il codice di stato, che deve essere un valore enum di |
message |
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 |
details[] |
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 |
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: ❌