Ferramenta: create-connection
Cria uma nova conexão em um determinado projeto e local.
O exemplo de código abaixo mostra como usar curl para chamar a ferramenta MCP create-connection.
| 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-connection", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
Mensagem para criar uma conexão
CreateConnectionRequest
| Representação JSON |
|---|
{
"parent": string,
"connectionId": string,
"connection": {
object ( |
| Campos | |
|---|---|
parent |
Obrigatório. Valor do elemento principal. |
connectionId |
Obrigatório. O ID a ser usado para a conexão, que se torna o componente final do nome do recurso da conexão. |
connection |
Obrigatório. O recurso que está sendo criado |
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. |
Conexão
| Representação JSON |
|---|
{ "name": string, "createTime": string, "updateTime": string, "deleteTime": string, "labels": { string: string, ... }, "installationState": { object ( |
| Campos | |
|---|---|
name |
Identificador. O nome do recurso da conexão, no formato |
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 |
installationState |
Apenas saída. Estado de instalação da conexão. |
disabled |
Opcional. Se disabled for definido como verdadeiro, a funcionalidade será desativada para essa conexão. Os métodos de API baseados em repositório e o processamento de webhooks para repositórios nessa conexão serão desativados. |
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 |
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. |
uid |
Apenas saída. Um identificador exclusivo atribuído pelo sistema para a conexão. |
cryptoKeyConfig |
Opcional. A configuração da chave criptográfica. Esse campo é usado pelo recurso de chaves de criptografia gerenciadas pelo cliente (CMEK). |
gitProxyConfig |
Opcional. Configuração do recurso de proxy do Git. Ao ativar o proxy do Git, os clientes podem realizar operações do Git nos repositórios vinculados à conexão. Saiba mais. |
Campo de união connection_config. Configuração da conexão, dependendo do tipo de provedor. connection_config pode ser apenas de um dos tipos a seguir: |
|
githubConfig |
Configuração para conexões com github.com. |
githubEnterpriseConfig |
Configuração para conexões com uma instância do GitHub Enterprise. |
gitlabConfig |
Configuração para conexões com o gitlab.com. |
gitlabEnterpriseConfig |
Configuração para conexões com uma instância do GitLab Enterprise. |
bitbucketDataCenterConfig |
Configuração para conexões com uma instância do Bitbucket Data Center. |
bitbucketCloudConfig |
Configuração para conexões com uma instância do Bitbucket Cloud. |
secureSourceManagerInstanceConfig |
Configuração para conexões com uma instância do Secure Source Manager. |
httpConfig |
Opcional. Configuração para conexões com um provedor de serviços HTTP. |
GitHubConfig
| Representação JSON |
|---|
{ "githubApp": enum ( |
| Campos | |
|---|---|
githubApp |
Obrigatório. Imutável. O aplicativo do GitHub que foi instalado no usuário ou na organização do GitHub. |
authorizerCredential |
Opcional. Credencial OAuth da conta que autorizou o app do GitHub. Recomendamos usar uma conta robô em vez de uma conta de usuário humano. O token OAuth precisa estar vinculado ao app GitHub dessa configuração. |
appInstallationId |
Opcional. ID de instalação do app GitHub. |
installationUri |
Apenas saída. O URI para navegar e gerenciar a instalação associada a este GitHubConfig. |
OAuthCredential
| Representação JSON |
|---|
{ "oauthTokenSecretVersion": string, "username": string } |
| Campos | |
|---|---|
oauthTokenSecretVersion |
Obrigatório. Um recurso do SecretManager que contém o token OAuth que autoriza a conexão. Formato: |
username |
Apenas saída. O nome de usuário associado a esse token. |
GitHubEnterpriseConfig
| Representação JSON |
|---|
{
"hostUri": string,
"appId": string,
"appSlug": string,
"privateKeySecretVersion": string,
"webhookSecretSecretVersion": string,
"appInstallationId": string,
"installationUri": string,
"serviceDirectoryConfig": {
object ( |
| Campos | |
|---|---|
hostUri |
Obrigatório. O URI do host do GitHub Enterprise para o qual esta conexão é destinada. |
appId |
Opcional. ID do app do GitHub criado com base no manifesto. |
appSlug |
Apenas saída. O nome do app do GitHub compatível com URL. |
privateKeySecretVersion |
Opcional. Recurso do SecretManager que contém a chave privada do app do GitHub, formatado como |
webhookSecretSecretVersion |
Opcional. Recurso do SecretManager que contém o secret do webhook do app do GitHub, formatado como |
appInstallationId |
Opcional. ID da instalação do app do GitHub. |
installationUri |
Apenas saída. O URI para navegar e gerenciar a instalação associada a este GitHubEnterpriseConfig. |
serviceDirectoryConfig |
Opcional. Configuração para usar o Diretório de Serviços para se conectar de forma particular a um servidor do GitHub Enterprise. Isso só deve ser definido se o servidor do GitHub Enterprise estiver hospedado no local e não puder ser acessado pela Internet pública. Se esse campo for deixado em branco, as chamadas para o servidor do GitHub Enterprise serão feitas pela Internet pública. |
serverVersion |
Apenas saída. Versão do GitHub Enterprise instalada no host_uri. |
sslCaCertificate |
Opcional. Certificado SSL a ser usado para solicitações ao GitHub Enterprise. |
organization |
Opcional. Imutável. Organização do GitHub Enterprise em que o app do GitHub é criado. |
ServiceDirectoryConfig
| Representação JSON |
|---|
{ "service": string } |
| Campos | |
|---|---|
service |
Obrigatório. O nome do serviço do Diretório de Serviços. Formato: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. |
GitLabConfig
| Representação JSON |
|---|
{ "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| Campos | |
|---|---|
webhookSecretSecretVersion |
Obrigatório. Imutável. Recurso do SecretManager que contém o secret do webhook de um projeto do GitLab, formatado como |
readAuthorizerCredential |
Obrigatório. Um token de acesso pessoal do GitLab com o acesso mínimo ao escopo |
authorizerCredential |
Obrigatório. Um token de acesso pessoal do GitLab com o acesso mínimo ao escopo |
UserCredential
| Representação JSON |
|---|
{ "userTokenSecretVersion": string, "username": string } |
| Campos | |
|---|---|
userTokenSecretVersion |
Obrigatório. Um recurso do SecretManager que contém o token de usuário que autoriza a conexão do Developer Connect. Formato: |
username |
Apenas saída. O nome de usuário associado a esse token. |
GitLabEnterpriseConfig
| Representação JSON |
|---|
{ "hostUri": string, "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| Campos | |
|---|---|
hostUri |
Obrigatório. O URI do host do GitLab Enterprise ao qual esta conexão se destina. |
webhookSecretSecretVersion |
Obrigatório. Imutável. Recurso do SecretManager que contém o secret do webhook de um projeto do GitLab, formatado como |
readAuthorizerCredential |
Obrigatório. Um token de acesso pessoal do GitLab com o acesso mínimo ao escopo |
authorizerCredential |
Obrigatório. Um token de acesso pessoal do GitLab com o acesso mínimo ao escopo |
serviceDirectoryConfig |
Opcional. Configuração para usar o Diretório de Serviços para se conectar de forma particular a uma instância do GitLab Enterprise. Isso só deve ser definido se o servidor do GitLab Enterprise estiver hospedado no local e não puder ser acessado pela Internet pública. Se esse campo for deixado em branco, as chamadas para o servidor do GitLab Enterprise serão feitas pela Internet pública. |
sslCaCertificate |
Opcional. Certificado da autoridade de certificação SSL a ser usado para solicitações à instância do GitLab Enterprise. |
serverVersion |
Apenas saída. Versão do servidor do GitLab Enterprise em execução no |
BitbucketDataCenterConfig
| Representação JSON |
|---|
{ "hostUri": string, "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| Campos | |
|---|---|
hostUri |
Obrigatório. O URI do host do Bitbucket Data Center ao qual esta conexão se destina. |
webhookSecretSecretVersion |
Obrigatório. Imutável. Recurso do SecretManager que contém o secret do webhook usado para verificar eventos de webhook, formatado como |
readAuthorizerCredential |
Obrigatório. Um token de acesso HTTP com o acesso mínimo de |
authorizerCredential |
Obrigatório. Um token de acesso HTTP com o acesso mínimo ao escopo |
serviceDirectoryConfig |
Opcional. Configuração para usar o Diretório de Serviços para se conectar de forma particular a uma instância do Bitbucket Data Center. Isso só deve ser definido se o Bitbucket Data Center estiver hospedado no local e não puder ser acessado pela Internet pública. Se esse campo ficar em branco, as chamadas para o Bitbucket Data Center serão feitas pela Internet pública. |
sslCaCertificate |
Opcional. Autoridade de certificação SSL em que confiar ao fazer solicitações ao Bitbucket Data Center. |
serverVersion |
Apenas saída. Versão do servidor do Bitbucket Data Center em execução no |
BitbucketCloudConfig
| Representação JSON |
|---|
{ "workspace": string, "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| Campos | |
|---|---|
workspace |
Obrigatório. O ID do espaço de trabalho do Bitbucket Cloud que será conectado ao Google Cloud Platform. |
webhookSecretSecretVersion |
Obrigatório. Imutável. Recurso do SecretManager que contém o secret do webhook usado para verificar eventos de webhook, formatado como |
readAuthorizerCredential |
Obrigatório. Um token de acesso com o acesso mínimo de |
authorizerCredential |
Obrigatório. Um token de acesso com o acesso mínimo ao escopo |
SecureSourceManagerInstanceConfig
| Representação JSON |
|---|
{ "instance": string } |
| Campos | |
|---|---|
instance |
Obrigatório. Imutável. Recurso de instância do Secure Source Manager, formatado como |
GenericHTTPEndpointConfig
| Representação JSON |
|---|
{ "hostUri": string, "serviceDirectoryConfig": { object ( |
| Campos | |
|---|---|
hostUri |
Obrigatório. Imutável. O endpoint https do provedor de serviços. |
serviceDirectoryConfig |
Opcional. Configuração para usar o Diretório de Serviços para se conectar de forma particular a um provedor de serviços HTTP. Isso só deve ser definido se o provedor de serviços HTTP estiver hospedado no local e não puder ser acessado pela Internet pública. Se esse campo for deixado em branco, as chamadas para o provedor de serviços HTTP serão feitas pela Internet pública. |
sslCaCertificate |
Opcional. O certificado SSL a ser usado para solicitações ao provedor de serviços HTTP. |
Campo de união authentication. O mecanismo de autenticação a ser usado para solicitações ao provedor de serviços HTTP. authentication pode ser apenas de um dos tipos a seguir: |
|
basicAuthentication |
Opcional. Autenticação básica com nome de usuário e senha. |
bearerTokenAuthentication |
Opcional. Autenticação de token do portador com um token. |
BasicAuthentication
| Representação JSON |
|---|
{ "username": string, // Union field |
| Campos | |
|---|---|
username |
Obrigatório. O nome de usuário para autenticação. |
Campo de união password. A senha para autenticação. password pode ser apenas de um dos tipos a seguir: |
|
passwordSecretVersion |
A versão do secret do SecretManager da senha para autenticação. |
BearerTokenAuthentication
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união token. O token para autenticação. token pode ser apenas de um dos tipos a seguir: |
|
tokenSecretVersion |
Opcional. A versão do secret do SecretManager do token para autenticaçã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 |
|
InstallationState
| Representação JSON |
|---|
{
"stage": enum ( |
| Campos | |
|---|---|
stage |
Apenas saída. Etapa atual do processo de instalação. |
message |
Apenas saída. Mensagem sobre o que o usuário deve fazer em seguida para continuar a instalação. String vazia se a instalação já estiver concluída. |
actionUri |
Apenas saída. Link para a próxima ação. String vazia se a instalação já estiver concluída. |
AnnotationsEntry
| Representação JSON |
|---|
{ "key": string, "value": string } |
| Campos | |
|---|---|
key |
|
value |
|
CryptoKeyConfig
| Representação JSON |
|---|
{ "keyReference": string } |
| Campos | |
|---|---|
keyReference |
Obrigatório. O nome da chave usada para criptografar/descriptografar os dados do cliente. Para a chave no Cloud KMS, ela precisa estar no formato |
GitProxyConfig
| Representação JSON |
|---|
{ "enabled": boolean, "httpProxyBaseUri": string } |
| Campos | |
|---|---|
enabled |
Opcional. Definir como verdadeiro permite que o proxy do Git seja usado para realizar operações do Git nos repositórios vinculados na conexão. |
httpProxyBaseUri |
Apenas saída. O URI base do endpoint do proxy HTTP. Tem o formato |
GitHubApp
Representa os vários aplicativos do GitHub que podem ser instalados em um usuário ou organização do GitHub e usados com o Developer Connect.
| Tipos enumerados | |
|---|---|
GIT_HUB_APP_UNSPECIFIED |
O app GitHub não foi especificado. |
DEVELOPER_CONNECT |
O aplicativo do GitHub do Developer Connect. |
FIREBASE |
O aplicativo do Firebase no GitHub. |
GEMINI_CODE_ASSIST |
O aplicativo Gemini Code Assist. |
DATAFORM |
O aplicativo Dataform do GitHub. |
Fase
Fase do processo de instalação.
| Tipos enumerados | |
|---|---|
STAGE_UNSPECIFIED |
Nenhum estágio especificado. |
PENDING_CREATE_APP |
Somente para o GitHub Enterprise. A criação de um app foi solicitada. O usuário precisa confirmar a criação no host do GitHub Enterprise. |
PENDING_USER_OAUTH |
O usuário precisa autorizar o app do GitHub (ou Enterprise) via OAuth. |
PENDING_INSTALL_APP |
O usuário precisa seguir o link para instalar o app do GitHub (ou Enterprise). |
COMPLETE |
O processo de instalação foi concluído. |
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: ❌