MCP Tools Reference: developerconnect.googleapis.com

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 (Connection)
  },
  "requestId": string,
  "validateOnly": boolean
}
Campos
parent

string

Obrigatório. Valor do elemento principal.

connectionId

string

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

object (Connection)

Obrigatório. O recurso que está sendo criado

requestId

string

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

boolean

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 (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.
}
Campos
name

string

Identificador. O nome do recurso da conexão, no formato projects/{project}/locations/{location}/connections/{connection_id}.

createTime

string (Timestamp format)

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

updateTime

string (Timestamp format)

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

deleteTime

string (Timestamp format)

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

labels

map (key: string, value: string)

Opcional. Rótulos como pares de chave-valor.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

installationState

object (InstallationState)

Apenas saída. Estado de instalação da conexão.

disabled

boolean

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

boolean

Apenas saída. Defina como verdadeiro quando a conexão estiver sendo configurada ou atualizada em segundo plano.

annotations

map (key: string, value: string)

Opcional. Permite que os clientes armazenem pequenas quantidades de dados arbitrários.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

etag

string

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

string

Apenas saída. Um identificador exclusivo atribuído pelo sistema para a conexão.

cryptoKeyConfig

object (CryptoKeyConfig)

Opcional. A configuração da chave criptográfica. Esse campo é usado pelo recurso de chaves de criptografia gerenciadas pelo cliente (CMEK).

gitProxyConfig

object (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

object (GitHubConfig)

Configuração para conexões com github.com.

githubEnterpriseConfig

object (GitHubEnterpriseConfig)

Configuração para conexões com uma instância do GitHub Enterprise.

gitlabConfig

object (GitLabConfig)

Configuração para conexões com o gitlab.com.

gitlabEnterpriseConfig

object (GitLabEnterpriseConfig)

Configuração para conexões com uma instância do GitLab Enterprise.

bitbucketDataCenterConfig

object (BitbucketDataCenterConfig)

Configuração para conexões com uma instância do Bitbucket Data Center.

bitbucketCloudConfig

object (BitbucketCloudConfig)

Configuração para conexões com uma instância do Bitbucket Cloud.

secureSourceManagerInstanceConfig

object (SecureSourceManagerInstanceConfig)

Configuração para conexões com uma instância do Secure Source Manager.

httpConfig

object (GenericHTTPEndpointConfig)

Opcional. Configuração para conexões com um provedor de serviços HTTP.

GitHubConfig

Representação JSON
{
  "githubApp": enum (GitHubApp),
  "authorizerCredential": {
    object (OAuthCredential)
  },
  "appInstallationId": string,
  "installationUri": string
}
Campos
githubApp

enum (GitHubApp)

Obrigatório. Imutável. O aplicativo do GitHub que foi instalado no usuário ou na organização do GitHub.

authorizerCredential

object (OAuthCredential)

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

string (int64 format)

Opcional. ID de instalação do app GitHub.

installationUri

string

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

string

Obrigatório. Um recurso do SecretManager que contém o token OAuth que autoriza a conexão. Formato: projects/*/secrets/*/versions/* ou projects/*/locations/*/secrets/*/versions/* (se secrets regionais forem aceitos nesse local).

username

string

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 (ServiceDirectoryConfig)
  },
  "serverVersion": string,
  "sslCaCertificate": string,
  "organization": string
}
Campos
hostUri

string

Obrigatório. O URI do host do GitHub Enterprise para o qual esta conexão é destinada.

appId

string (int64 format)

Opcional. ID do app do GitHub criado com base no manifesto.

appSlug

string

Apenas saída. O nome do app do GitHub compatível com URL.

privateKeySecretVersion

string

Opcional. Recurso do SecretManager que contém a chave privada do app do GitHub, formatado como projects/*/secrets/*/versions/* ou projects/*/locations/*/secrets/*/versions/* (se houver suporte para secrets regionais nesse local).

webhookSecretSecretVersion

string

Opcional. Recurso do SecretManager que contém o secret do webhook do app do GitHub, formatado como projects/*/secrets/*/versions/* ou projects/*/locations/*/secrets/*/versions/* (se secrets regionais forem aceitos nesse local).

appInstallationId

string (int64 format)

Opcional. ID da instalação do app do GitHub.

installationUri

string

Apenas saída. O URI para navegar e gerenciar a instalação associada a este GitHubEnterpriseConfig.

serviceDirectoryConfig

object (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

string

Apenas saída. Versão do GitHub Enterprise instalada no host_uri.

sslCaCertificate

string

Opcional. Certificado SSL a ser usado para solicitações ao GitHub Enterprise.

organization

string

Opcional. Imutável. Organização do GitHub Enterprise em que o app do GitHub é criado.

ServiceDirectoryConfig

Representação JSON
{
  "service": string
}
Campos
service

string

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 (UserCredential)
  },
  "authorizerCredential": {
    object (UserCredential)
  }
}
Campos
webhookSecretSecretVersion

string

Obrigatório. Imutável. Recurso do SecretManager que contém o secret do webhook de um projeto do GitLab, formatado como projects/*/secrets/*/versions/* ou projects/*/locations/*/secrets/*/versions/* (se secrets regionais forem compatíveis com esse local). Isso é usado para validar webhooks.

readAuthorizerCredential

object (UserCredential)

Obrigatório. Um token de acesso pessoal do GitLab com o acesso mínimo ao escopo read_api e um papel mínimo de reporter. Os projetos do GitLab visíveis para esse token de acesso pessoal vão controlar quais projetos o Developer Connect pode acessar.

authorizerCredential

object (UserCredential)

Obrigatório. Um token de acesso pessoal do GitLab com o acesso mínimo ao escopo api e um papel mínimo de maintainer. Os projetos do GitLab visíveis para esse token de acesso pessoal vão controlar quais projetos o Developer Connect pode acessar.

UserCredential

Representação JSON
{
  "userTokenSecretVersion": string,
  "username": string
}
Campos
userTokenSecretVersion

string

Obrigatório. Um recurso do SecretManager que contém o token de usuário que autoriza a conexão do Developer Connect. Formato: projects/*/secrets/*/versions/* ou projects/*/locations/*/secrets/*/versions/* (se secrets regionais forem aceitos nesse local).

username

string

Apenas saída. O nome de usuário associado a esse token.

GitLabEnterpriseConfig

Representação JSON
{
  "hostUri": string,
  "webhookSecretSecretVersion": string,
  "readAuthorizerCredential": {
    object (UserCredential)
  },
  "authorizerCredential": {
    object (UserCredential)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "sslCaCertificate": string,
  "serverVersion": string
}
Campos
hostUri

string

Obrigatório. O URI do host do GitLab Enterprise ao qual esta conexão se destina.

webhookSecretSecretVersion

string

Obrigatório. Imutável. Recurso do SecretManager que contém o secret do webhook de um projeto do GitLab, formatado como projects/*/secrets/*/versions/* ou projects/*/locations/*/secrets/*/versions/* (se secrets regionais forem compatíveis com esse local). Isso é usado para validar webhooks.

readAuthorizerCredential

object (UserCredential)

Obrigatório. Um token de acesso pessoal do GitLab com o acesso mínimo ao escopo read_api e um papel mínimo de reporter. Os projetos do GitLab visíveis para esse token de acesso pessoal vão controlar quais projetos o Developer Connect pode acessar.

authorizerCredential

object (UserCredential)

Obrigatório. Um token de acesso pessoal do GitLab com o acesso mínimo ao escopo api e um papel mínimo de maintainer. Os projetos do GitLab visíveis para esse token de acesso pessoal vão controlar quais projetos o Developer Connect pode acessar.

serviceDirectoryConfig

object (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

string

Opcional. Certificado da autoridade de certificação SSL a ser usado para solicitações à instância do GitLab Enterprise.

serverVersion

string

Apenas saída. Versão do servidor do GitLab Enterprise em execução no host_uri.

BitbucketDataCenterConfig

Representação JSON
{
  "hostUri": string,
  "webhookSecretSecretVersion": string,
  "readAuthorizerCredential": {
    object (UserCredential)
  },
  "authorizerCredential": {
    object (UserCredential)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "sslCaCertificate": string,
  "serverVersion": string
}
Campos
hostUri

string

Obrigatório. O URI do host do Bitbucket Data Center ao qual esta conexão se destina.

webhookSecretSecretVersion

string

Obrigatório. Imutável. Recurso do SecretManager que contém o secret do webhook usado para verificar eventos de webhook, formatado como projects/*/secrets/*/versions/* ou projects/*/locations/*/secrets/*/versions/* (se secrets regionais forem compatíveis com esse local). Isso é usado para validar webhooks.

readAuthorizerCredential

object (UserCredential)

Obrigatório. Um token de acesso HTTP com o acesso mínimo de Repository read. Recomendamos usar uma conta do sistema para gerar as credenciais.

authorizerCredential

object (UserCredential)

Obrigatório. Um token de acesso HTTP com o acesso mínimo ao escopo Repository admin. Isso é necessário para criar webhooks. Recomendamos usar uma conta do sistema para gerar essas credenciais.

serviceDirectoryConfig

object (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

string

Opcional. Autoridade de certificação SSL em que confiar ao fazer solicitações ao Bitbucket Data Center.

serverVersion

string

Apenas saída. Versão do servidor do Bitbucket Data Center em execução no host_uri.

BitbucketCloudConfig

Representação JSON
{
  "workspace": string,
  "webhookSecretSecretVersion": string,
  "readAuthorizerCredential": {
    object (UserCredential)
  },
  "authorizerCredential": {
    object (UserCredential)
  }
}
Campos
workspace

string

Obrigatório. O ID do espaço de trabalho do Bitbucket Cloud que será conectado ao Google Cloud Platform.

webhookSecretSecretVersion

string

Obrigatório. Imutável. Recurso do SecretManager que contém o secret do webhook usado para verificar eventos de webhook, formatado como projects/*/secrets/*/versions/* ou projects/*/locations/*/secrets/*/versions/* (se secrets regionais forem compatíveis com esse local). Isso é usado para validar e criar webhooks.

readAuthorizerCredential

object (UserCredential)

Obrigatório. Um token de acesso com o acesso mínimo de repository. Pode ser um token de acesso de espaço de trabalho, projeto ou repositório. Recomendamos usar uma conta do sistema para gerar as credenciais.

authorizerCredential

object (UserCredential)

Obrigatório. Um token de acesso com o acesso mínimo ao escopo repository, pullrequest e webhook. Pode ser um token de acesso de espaço de trabalho, projeto ou repositório. Isso é necessário para criar webhooks. Recomendamos usar uma conta do sistema para gerar essas credenciais.

SecureSourceManagerInstanceConfig

Representação JSON
{
  "instance": string
}
Campos
instance

string

Obrigatório. Imutável. Recurso de instância do Secure Source Manager, formatado como projects/*/locations/*/instances/*

GenericHTTPEndpointConfig

Representação 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.
}
Campos
hostUri

string

Obrigatório. Imutável. O endpoint https do provedor de serviços.

serviceDirectoryConfig

object (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

string

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

object (BasicAuthentication)

Opcional. Autenticação básica com nome de usuário e senha.

bearerTokenAuthentication

object (BearerTokenAuthentication)

Opcional. Autenticação de token do portador com um token.

BasicAuthentication

Representação 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.
}
Campos
username

string

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

string

A versão do secret do SecretManager da senha para autenticação.

BearerTokenAuthentication

Representação JSON
{

  // Union field token can be only one of the following:
  "tokenSecretVersion": string
  // End of list of possible types for union field token.
}
Campos
Campo de união token. O token para autenticação. token pode ser apenas de um dos tipos a seguir:
tokenSecretVersion

string

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

string (int64 format)

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

integer

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

string

value

string

InstallationState

Representação JSON
{
  "stage": enum (Stage),
  "message": string,
  "actionUri": string
}
Campos
stage

enum (Stage)

Apenas saída. Etapa atual do processo de instalação.

message

string

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

string

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

string

value

string

CryptoKeyConfig

Representação JSON
{
  "keyReference": string
}
Campos
keyReference

string

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 projects/*/locations/*/keyRings/*/cryptoKeys/*.

GitProxyConfig

Representação JSON
{
  "enabled": boolean,
  "httpProxyBaseUri": string
}
Campos
enabled

boolean

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

string

Apenas saída. O URI base do endpoint do proxy HTTP. Tem o formato https://{generatedID}-c-h-{shortRegion}.developerconnect.dev. Preenchido apenas quando enabled é definido como verdadeiro. Esse endpoint é usado por outros serviços do Google que se integram ao Developer Connect.

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 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.
}
Campos
name

string

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, name precisa ser um nome de recurso que termine com operations/{unique_id}.

metadata

object

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 "@type" contém uma URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

Se o valor for false, significa que a operação ainda está em andamento. Se for true, a operação será concluída e error ou response estarão disponíveis.

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

object (Status)

Resultado do erro da operação em caso de falha ou cancelamento.

response

object

A resposta normal e bem-sucedida da operação. Se o método original não retornar dados em caso de sucesso, como Delete, a resposta será google.protobuf.Empty. Se o método original for Get/Create/Update padrão, a resposta será o recurso. Para outros métodos, a resposta precisa ser do tipo XxxResponse, em que Xxx é o nome do método original. Por exemplo, se o nome do método original for TakeSnapshot(), o tipo inferido de resposta será TakeSnapshotResponse.

Um objeto contendo campos de um tipo arbitrário. Um campo adicional "@type" contém uma URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

Qualquer

Representação JSON
{
  "typeUrl": string,
  "value": string
}
Campos
typeUrl

string

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 /, e o conteúdo após o último / precisa ser o nome totalmente qualificado do tipo na forma canônica, sem um ponto inicial. Não escreva um esquema nessas referências de URI para que os clientes não tentem entrar em contato com eles.

O prefixo é arbitrário, e as implementações do Protobuf precisam simplesmente remover tudo até o último /, inclusive, para identificar o tipo. type.googleapis.com/ é um prefixo padrão comum que algumas implementações legadas exigem. Esse prefixo não indica a origem do tipo, e os URIs que o contêm não devem responder a nenhuma solicitação.

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): /-.~_!$&()*+,;=. Embora permitamos codificações de porcentagem, as implementações não devem remover o escape delas para evitar confusão com os analisadores atuais. Por exemplo, type.googleapis.com%2FFoo deve ser rejeitado.

No design original de Any, a possibilidade de iniciar um serviço de resolução de tipo nesses URLs de tipo foi considerada, mas o Protobuf nunca implementou um e considera que entrar em contato com esses URLs é problemático e um possível problema de segurança. Não tente entrar em contato com URLs de tipo.

value

string (bytes format)

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

integer

O código de status, que precisa ser um valor de enumeração de google.rpc.Code.

message

string

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 google.rpc.Status.details, ou localizada pelo cliente.

details[]

object

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 "@type" contém uma URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

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: ❌