Strumento: create-repo-link
Crea un nuovo GitRepositoryLink in un progetto e una località specifici.
Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP create-repo-link.
| 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-repo-link", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schema di input
Messaggio per la creazione di un GitRepositoryLink
CreateGitRepositoryLinkRequest
| Rappresentazione JSON |
|---|
{
"parent": string,
"gitRepositoryLink": {
object ( |
| Campi | |
|---|---|
parent |
Obbligatorio. Valore per il genitore. |
gitRepositoryLink |
Obbligatorio. La risorsa in fase di creazione |
gitRepositoryLinkId |
Obbligatorio. L'ID da utilizzare per il repository, che diventerà il componente finale del nome della risorsa del repository. Questo ID deve essere univoco nella connessione. Consente caratteri alfanumerici e uno qualsiasi dei seguenti caratteri: -._~%!$&'()*+,;=@. |
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. |
GitRepositoryLink
| Rappresentazione JSON |
|---|
{ "name": string, "cloneUri": string, "createTime": string, "updateTime": string, "deleteTime": string, "labels": { string: string, ... }, "etag": string, "reconciling": boolean, "annotations": { string: string, ... }, "uid": string, "webhookId": string, "gitProxyUri": string } |
| Campi | |
|---|---|
name |
Identificatore. Nome risorsa del repository, nel formato |
cloneUri |
Obbligatorio. URI clone Git. |
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 |
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. |
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 |
uid |
Solo output. Un identificatore univoco assegnato dal sistema per GitRepositoryLink. |
webhookId |
Solo output. ID esterno del webhook creato per il repository. |
gitProxyUri |
Solo output. URI per accedere al repository collegato tramite il proxy Git. Questo campo viene compilato solo se il proxy Git è abilitato per la connessione. |
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 |
|
AnnotationsEntry
| Rappresentazione JSON |
|---|
{ "key": string, "value": string } |
| Campi | |
|---|---|
key |
|
value |
|
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: ❌