Ferramenta: create-repo-link
Cria um novo GitRepositoryLink em determinado projeto e local.
O exemplo de código abaixo mostra como usar curl para chamar a ferramenta MCP create-repo-link.
| Solicitação 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 }' |
Esquema de entrada
Mensagem para criar um GitRepositoryLink
CreateGitRepositoryLinkRequest
| Representação JSON |
|---|
{
"parent": string,
"gitRepositoryLink": {
object ( |
| Campos | |
|---|---|
parent |
Obrigatório. Valor do elemento principal. |
gitRepositoryLink |
Obrigatório. O recurso que está sendo criado |
gitRepositoryLinkId |
Obrigatório. O ID a ser usado no repositório, que se tornará o componente final do nome do recurso do repositório. Esse ID precisa ser exclusivo na conexão. Permite caracteres alfanuméricos e qualquer um dos seguintes: -._~%!$&'()*+,;=@. |
requestId |
Opcional. Um ID de solicitação opcional para identificar solicitações. Especifique um ID de solicitação exclusivo para que, se precisar repetir a solicitação, o servidor saberá que é preciso ignorar a solicitação se ela já tiver sido concluída. O servidor vai garantir isso por pelo menos 60 minutos após a primeira solicitação. Por exemplo, considere uma situação em que você faz uma solicitação inicial e ela expira. Se você fizer a solicitação novamente com o mesmo ID, o servidor poderá verificar se a operação original com o mesmo ID foi recebida e, em caso afirmativo, vai ignorar a segunda solicitação. Isso evita que os clientes criem compromissos duplicados acidentalmente. O ID da solicitação precisa ser um UUID válido, com exceção de que o UUID zero não é aceito (00000000-0000-0000-0000-000000000000). |
validateOnly |
Opcional. Se definido, valida a solicitação, mas não a publica. |
GitRepositoryLink
| Representação 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 } |
| Campos | |
|---|---|
name |
Identificador. Nome do recurso do repositório, no formato |
cloneUri |
Obrigatório. URI do clone do Git. |
createTime |
Apenas saída. Criar carimbo de data/hora. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
updateTime |
Apenas saída. Atualizar carimbo de data/hora. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
deleteTime |
Apenas saída. Excluir marcação de tempo. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
labels |
Opcional. Rótulos como pares de chave-valor. Um objeto com uma lista de pares |
etag |
Opcional. Essa checksum é calculada pelo servidor com base no valor de outros campos e pode ser enviada em solicitações de atualização e exclusão para garantir que o cliente tenha um valor atualizado antes de prosseguir. |
reconciling |
Apenas saída. Defina como verdadeiro quando a conexão estiver sendo configurada ou atualizada em segundo plano. |
annotations |
Opcional. Permite que os clientes armazenem pequenas quantidades de dados arbitrários. Um objeto com uma lista de pares |
uid |
Apenas saída. Um identificador exclusivo atribuído pelo sistema para o GitRepositoryLink. |
webhookId |
Apenas saída. ID externo do webhook criado para o repositório. |
gitProxyUri |
Apenas saída. URI para acessar o repositório vinculado pelo proxy do Git. Esse campo só é preenchido se o proxy do Git estiver ativado para a conexão. |
Carimbo de data/hora
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799, inclusive (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa ser de 0 a 999.999.999. |
LabelsEntry
| Representação JSON |
|---|
{ "key": string, "value": string } |
| Campos | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| Representação JSON |
|---|
{ "key": string, "value": string } |
| Campos | |
|---|---|
key |
|
value |
|
Esquema de saída
Este recurso representa uma operação de longa duração resultante de uma chamada de API de rede.
Operação
| Representação JSON |
|---|
{ "name": string, "metadata": { "@type": string, field1: ..., ... }, "done": boolean, // Union field |
| Campos | |
|---|---|
name |
O nome atribuído pelo servidor, que é exclusivo somente no mesmo serviço que o retorna originalmente. Se você usar o mapeamento padrão de HTTP, |
metadata |
Metadados específicos do serviço associados à operação. Eles geralmente contêm informações sobre o progresso e metadados comuns, como a hora da criação. Em alguns serviços, esses metadados talvez não sejam fornecidos. Em qualquer método que retorna uma operação de longa duração, o tipo de metadados, se houver, deve ser documentado. Um objeto contendo campos de um tipo arbitrário. Um campo adicional |
done |
Se o valor for |
Campo de união result. O resultado da operação, que pode ser um error ou uma response válida. Se done == false, nem error ou response estão definidos. Se done == true, será possível definir exatamente um entre error ou response. Alguns serviços podem não fornecer o resultado. result pode ser apenas de um dos tipos a seguir: |
|
error |
Resultado do erro da operação em caso de falha ou cancelamento. |
response |
A resposta normal e bem-sucedida da operação. Se o método original não retornar dados em caso de sucesso, como Um objeto contendo campos de um tipo arbitrário. Um campo adicional |
Qualquer
| Representação JSON |
|---|
{ "typeUrl": string, "value": string } |
| Campos | |
|---|---|
typeUrl |
Identifica o tipo da mensagem Protobuf serializada com uma referência de URI que consiste em um prefixo que termina em uma barra e o nome do tipo totalmente qualificado. Exemplo: type.googleapis.com/google.protobuf.StringValue Essa string precisa conter pelo menos um caractere O prefixo é arbitrário, e as implementações do Protobuf precisam simplesmente remover tudo até o último Todas as strings de URL de tipo precisam ser referências de URI válidas com a restrição adicional (para o formato de texto) de que o conteúdo da referência precisa consistir apenas em caracteres alfanuméricos, escapes codificados por porcentagem e caracteres no seguinte conjunto (não incluindo as aspas externas): No design original de |
value |
Contém uma serialização de Protobuf do tipo descrito por type_url. Uma string codificada em base64. |
Status
| Representação JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Campos | |
|---|---|
code |
O código de status, que precisa ser um valor de enumeração de |
message |
Uma mensagem de erro em inglês para o desenvolvedor. Qualquer mensagem de erro para o usuário precisa ser localizada e enviada no campo |
details[] |
Uma lista de mensagens com os detalhes do erro. Há um conjunto comum de tipos de mensagens para as APIs usarem. Um objeto contendo campos de um tipo arbitrário. Um campo adicional |
Anotações de ferramentas
As anotações de ferramentas são enviadas aos clientes do MCP para descrever o risco básico de uma determinada ferramenta. A maioria dos clientes trata essas dicas como não confiáveis, mas elas podem ser usadas para decidir quando um pedido de confirmação pode ser enviado a um usuário.
Além da string de título, as seguintes dicas booleanas são definidas:
readOnlyHint: se for verdadeiro, a ferramenta não modifica o ambiente. Padrão: false.destructiveHint: se for verdadeiro, a ferramenta poderá realizar ações destrutivas. Se for falso, a ferramenta só poderá realizar ações aditivas. Padrão: verdadeiro.idempotentHint: se for verdadeiro, chamar a ferramenta repetidamente com os mesmos argumentos não terá efeito adicional no ambiente. Padrão: false.openWorldHint: se for verdadeiro, a ferramenta poderá interagir com um "mundo aberto" de entidades externas. Se for falso, a ferramenta só poderá interagir com entidades internas. Por exemplo, uma ferramenta de pesquisa na Web seria de mundo aberto, enquanto uma ferramenta de memória não seria.
Dica destrutiva: ❌ | Dica idempotente: ❌ | Dica somente leitura: ❌ | Dica de mundo aberto: ❌