MCP Tools Reference: developerconnect.googleapis.com

Herramienta: create-connection

Crea una conexión nueva en un proyecto y una ubicación determinados.

En la siguiente muestra de código, se indica cómo usar curl para llamar a la herramienta de MCP create-connection.

Solicitud de 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

Es el mensaje para crear una conexión.

CreateConnectionRequest

Representación JSON
{
  "parent": string,
  "connectionId": string,
  "connection": {
    object (Connection)
  },
  "requestId": string,
  "validateOnly": boolean
}
Campos
parent

string

Obligatorio. Valor para el elemento superior.

connectionId

string

Obligatorio. Es el ID que se usará para la conexión, que se convierte en el componente final del nombre del recurso de la conexión.

connection

object (Connection)

Obligatorio. Es el recurso que se está creando.

requestId

string

Es opcional. Un ID de solicitud opcional para identificar solicitudes. Especifica un ID de solicitud único para que, si debes reintentar la solicitud, el servidor sepa que debe ignorarla si ya se completó. El servidor lo garantizará durante, al menos, 60 minutos después de la primera solicitud.

Por ejemplo, imagina una situación en la que haces una solicitud inicial y se agota el tiempo de espera. Si vuelves a hacer la solicitud con el mismo ID, el servidor puede verificar si se recibió la operación original con el mismo ID y, de ser así, ignorar la segunda solicitud. Esto evita que los clientes creen compromisos duplicados por accidente.

El ID de solicitud debe ser un UUID válido, con la excepción de que no se admite ningún UUID cero (00000000-0000-0000-0000-000000000000).

validateOnly

boolean

Es opcional. Si se configura, valida la solicitud, pero no la publica.

Conexión

Representación 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

Es el identificador. Es el nombre del recurso de la conexión, en el formato projects/{project}/locations/{location}/connections/{connection_id}.

createTime

string (Timestamp format)

Solo salida. Marca de tiempo de la fecha de creación.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la actualización.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

deleteTime

string (Timestamp format)

Solo salida. Borrar marca de tiempo.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Opcional. Etiquetas como pares clave-valor

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

installationState

object (InstallationState)

Solo salida. Es el estado de instalación de la conexión.

disabled

boolean

Es opcional. Si disabled se establece como verdadero, se inhabilita la funcionalidad para esta conexión. Se inhabilitarán los métodos de la API basados en repositorios y el procesamiento de webhooks para los repositorios de esta conexión.

reconciling

boolean

Solo salida. Se establece en verdadero cuando la conexión se configura o actualiza en segundo plano.

annotations

map (key: string, value: string)

Es opcional. Permite que los clientes almacenen pequeñas cantidades de datos arbitrarios.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

etag

string

Es opcional. El servidor calcula esta suma de comprobación según el valor de otros campos y se puede enviar en las solicitudes de actualización y eliminación para garantizar que el cliente tenga un valor actualizado antes de continuar.

uid

string

Solo salida. Es un identificador único asignado por el sistema para la conexión.

cryptoKeyConfig

object (CryptoKeyConfig)

Es opcional. Es la configuración de la clave criptográfica. La función de claves de encriptación administradas por el cliente (CMEK) usa este campo.

gitProxyConfig

object (GitProxyConfig)

Es opcional. Es la configuración de la función de proxy de Git. Habilitar el proxy de Git permite que los clientes realicen operaciones de Git en los repositorios vinculados en la conexión. Obtén más información.

Campo de unión connection_config. Es la configuración de la conexión según el tipo de proveedor. connection_config puede ser solo uno de los parámetros siguientes:
githubConfig

object (GitHubConfig)

Es la configuración de las conexiones a github.com.

githubEnterpriseConfig

object (GitHubEnterpriseConfig)

Es la configuración de las conexiones a una instancia de GitHub Enterprise.

gitlabConfig

object (GitLabConfig)

Es la configuración de las conexiones a gitlab.com.

gitlabEnterpriseConfig

object (GitLabEnterpriseConfig)

Es la configuración de las conexiones a una instancia de GitLab Enterprise.

bitbucketDataCenterConfig

object (BitbucketDataCenterConfig)

Es la configuración de las conexiones a una instancia de Bitbucket Data Center.

bitbucketCloudConfig

object (BitbucketCloudConfig)

Es la configuración de las conexiones a una instancia de Bitbucket Cloud.

secureSourceManagerInstanceConfig

object (SecureSourceManagerInstanceConfig)

Es la configuración de las conexiones a una instancia de Secure Source Manager.

httpConfig

object (GenericHTTPEndpointConfig)

Es opcional. Es la configuración de las conexiones a un proveedor de servicios HTTP.

GitHubConfig

Representación JSON
{
  "githubApp": enum (GitHubApp),
  "authorizerCredential": {
    object (OAuthCredential)
  },
  "appInstallationId": string,
  "installationUri": string
}
Campos
githubApp

enum (GitHubApp)

Obligatorio. Inmutable. La aplicación de GitHub que se instaló en el usuario o la organización de GitHub.

authorizerCredential

object (OAuthCredential)

Es opcional. Es la credencial de OAuth de la cuenta que autorizó la app de GitHub. Se recomienda usar una cuenta de robot en lugar de una cuenta de usuario humano. El token de OAuth debe estar vinculado a la app de GitHub de este parámetro de configuración.

appInstallationId

string (int64 format)

Es opcional. ID de instalación de la app de GitHub.

installationUri

string

Solo salida. Es el URI al que se debe navegar para administrar la instalación asociada con este GitHubConfig.

OAuthCredential

Representación JSON
{
  "oauthTokenSecretVersion": string,
  "username": string
}
Campos
oauthTokenSecretVersion

string

Obligatorio. Un recurso de SecretManager que contiene el token de OAuth que autoriza la conexión. Formato: projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (si se admiten secretos regionales en esa ubicación).

username

string

Solo salida. Es el nombre de usuario asociado a este token.

GitHubEnterpriseConfig

Representación 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

Obligatorio. Es el URI del host de GitHub Enterprise para el que se establece esta conexión.

appId

string (int64 format)

Es opcional. Es el ID de la app de GitHub creada a partir del manifiesto.

appSlug

string

Solo salida. Es el nombre compatible con URL de la app de GitHub.

privateKeySecretVersion

string

Es opcional. Es el recurso de SecretManager que contiene la clave privada de la app de GitHub, con el formato projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (si se admiten Secrets regionales en esa ubicación).

webhookSecretSecretVersion

string

Es opcional. Es el recurso de SecretManager que contiene el secreto del webhook de la app de GitHub, con el formato projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (si se admiten secretos regionales en esa ubicación).

appInstallationId

string (int64 format)

Es opcional. Es el ID de la instalación de la app de GitHub.

installationUri

string

Solo salida. Es el URI al que se debe navegar para administrar la instalación asociada con este GitHubEnterpriseConfig.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Configuración para usar el Directorio de servicios y conectarse de forma privada a un servidor de GitHub Enterprise. Esto solo se debe configurar si el servidor de GitHub Enterprise está alojado de forma local y no se puede acceder a él a través de la Internet pública. Si este campo se deja vacío, las llamadas al servidor de GitHub Enterprise se realizarán a través de la Internet pública.

serverVersion

string

Solo salida. Es la versión de GitHub Enterprise instalada en host_uri.

sslCaCertificate

string

Es opcional. Es el certificado SSL que se usará para las solicitudes a GitHub Enterprise.

organization

string

Es opcional. Inmutable. Es la organización de GitHub Enterprise en la que se crea la app de GitHub.

ServiceDirectoryConfig

Representación JSON
{
  "service": string
}
Campos
service

string

Obligatorio. Es el nombre del servicio del Directorio de servicios. Formato: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}.

GitLabConfig

Representación JSON
{
  "webhookSecretSecretVersion": string,
  "readAuthorizerCredential": {
    object (UserCredential)
  },
  "authorizerCredential": {
    object (UserCredential)
  }
}
Campos
webhookSecretSecretVersion

string

Obligatorio. Inmutable. Es el recurso de SecretManager que contiene el secreto de webhook de un proyecto de GitLab, con el formato projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (si se admiten secretos regionales en esa ubicación). Se usa para validar los webhooks.

readAuthorizerCredential

object (UserCredential)

Obligatorio. Un token de acceso personal de GitLab con el acceso mínimo al permiso read_api y un rol mínimo de reporter. Los proyectos de GitLab visibles para este token de acceso personal controlarán a qué proyectos tiene acceso Developer Connect.

authorizerCredential

object (UserCredential)

Obligatorio. Un token de acceso personal de GitLab con el acceso mínimo al permiso api y un rol mínimo de maintainer. Los proyectos de GitLab visibles para este token de acceso personal controlarán a qué proyectos tiene acceso Developer Connect.

UserCredential

Representación JSON
{
  "userTokenSecretVersion": string,
  "username": string
}
Campos
userTokenSecretVersion

string

Obligatorio. Un recurso de SecretManager que contiene el token de usuario que autoriza la conexión de Developer Connect. Formato: projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (si se admiten secretos regionales en esa ubicación).

username

string

Solo salida. Es el nombre de usuario asociado a este token.

GitLabEnterpriseConfig

Representación JSON
{
  "hostUri": string,
  "webhookSecretSecretVersion": string,
  "readAuthorizerCredential": {
    object (UserCredential)
  },
  "authorizerCredential": {
    object (UserCredential)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "sslCaCertificate": string,
  "serverVersion": string
}
Campos
hostUri

string

Obligatorio. Es el URI del host de GitLab Enterprise para el que se establece esta conexión.

webhookSecretSecretVersion

string

Obligatorio. Inmutable. Es el recurso de SecretManager que contiene el secreto de webhook de un proyecto de GitLab, con el formato projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (si se admiten secretos regionales en esa ubicación). Se usa para validar los webhooks.

readAuthorizerCredential

object (UserCredential)

Obligatorio. Un token de acceso personal de GitLab con el acceso mínimo al permiso read_api y un rol mínimo de reporter. Los proyectos de GitLab visibles para este token de acceso personal controlarán a qué proyectos tiene acceso Developer Connect.

authorizerCredential

object (UserCredential)

Obligatorio. Un token de acceso personal de GitLab con el acceso mínimo al permiso api y un rol mínimo de maintainer. Los proyectos de GitLab visibles para este token de acceso personal controlarán a qué proyectos tiene acceso Developer Connect.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Configuración para usar el Directorio de servicios y conectarse de forma privada a una instancia de GitLab Enterprise. Esto solo se debe configurar si el servidor de GitLab Enterprise se aloja de forma local y no se puede acceder a él a través de la Internet pública. Si este campo se deja vacío, las llamadas al servidor de GitLab Enterprise se realizarán a través de la Internet pública.

sslCaCertificate

string

Es opcional. Es el certificado de la autoridad certificadora SSL que se usará para las solicitudes a la instancia de GitLab Enterprise.

serverVersion

string

Solo salida. Versión del servidor de GitLab Enterprise que se ejecuta en host_uri.

BitbucketDataCenterConfig

Representación JSON
{
  "hostUri": string,
  "webhookSecretSecretVersion": string,
  "readAuthorizerCredential": {
    object (UserCredential)
  },
  "authorizerCredential": {
    object (UserCredential)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "sslCaCertificate": string,
  "serverVersion": string
}
Campos
hostUri

string

Obligatorio. Es el URI del host de Bitbucket Data Center para el que se establece esta conexión.

webhookSecretSecretVersion

string

Obligatorio. Inmutable. Es el recurso de SecretManager que contiene el secreto del webhook que se usa para verificar los eventos de webhook, con el formato projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (si se admiten secretos regionales en esa ubicación). Se usa para validar los webhooks.

readAuthorizerCredential

object (UserCredential)

Obligatorio. Un token de acceso HTTP con el acceso mínimo de Repository read. Se recomienda usar una cuenta del sistema para generar las credenciales.

authorizerCredential

object (UserCredential)

Obligatorio. Un token de acceso HTTP con el acceso mínimo al permiso Repository admin. Esto es necesario para crear webhooks. Se recomienda usar una cuenta del sistema para generar estas credenciales.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Es la configuración para usar el Directorio de servicios y conectarse de forma privada a una instancia de Bitbucket Data Center. Esto solo se debe configurar si el centro de datos de Bitbucket se aloja de forma local y no se puede acceder a él a través de la Internet pública. Si este campo se deja vacío, las llamadas al centro de datos de Bitbucket se realizarán a través de la Internet pública.

sslCaCertificate

string

Es opcional. Es la autoridad certificadora SSL en la que se debe confiar cuando se realizan solicitudes a Bitbucket Data Center.

serverVersion

string

Solo salida. Es la versión del servidor de Bitbucket Data Center que se ejecuta en host_uri.

BitbucketCloudConfig

Representación JSON
{
  "workspace": string,
  "webhookSecretSecretVersion": string,
  "readAuthorizerCredential": {
    object (UserCredential)
  },
  "authorizerCredential": {
    object (UserCredential)
  }
}
Campos
workspace

string

Obligatorio. Es el ID del espacio de trabajo de Bitbucket Cloud que se conectará a Google Cloud Platform.

webhookSecretSecretVersion

string

Obligatorio. Inmutable. Es el recurso de SecretManager que contiene el secreto del webhook que se usa para verificar los eventos de webhook, con el formato projects/*/secrets/*/versions/* o projects/*/locations/*/secrets/*/versions/* (si se admiten secretos regionales en esa ubicación). Se usa para validar y crear webhooks.

readAuthorizerCredential

object (UserCredential)

Obligatorio. Un token de acceso con el acceso mínimo de repository. Puede ser un token de acceso al espacio de trabajo, al proyecto o al repositorio. Se recomienda usar una cuenta del sistema para generar las credenciales.

authorizerCredential

object (UserCredential)

Obligatorio. Un token de acceso con el acceso mínimo a los permisos repository, pullrequest y webhook. Puede ser un token de acceso al espacio de trabajo, al proyecto o al repositorio. Esto es necesario para crear webhooks. Se recomienda usar una cuenta del sistema para generar estas credenciales.

SecureSourceManagerInstanceConfig

Representación JSON
{
  "instance": string
}
Campos
instance

string

Obligatorio. Inmutable. Recurso de instancia de Secure Source Manager, con el formato projects/*/locations/*/instances/*

GenericHTTPEndpointConfig

Representación 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

Obligatorio. Inmutable. Es el extremo HTTPS del proveedor de servicios.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Es opcional. Configuración para usar el Directorio de servicios y conectarse de forma privada a un proveedor de servicios HTTP. Esto solo se debe configurar si el proveedor de servicios HTTP se aloja de forma local y no se puede acceder a él a través de la Internet pública. Si este campo se deja vacío, las llamadas al proveedor de servicios HTTP se realizarán a través de la Internet pública.

sslCaCertificate

string

Es opcional. Es el certificado SSL que se usará para las solicitudes al proveedor de servicios HTTP.

Campo de unión authentication. Es el mecanismo de autenticación que se usará para las solicitudes al proveedor de servicios HTTP. authentication puede ser solo uno de los parámetros siguientes:
basicAuthentication

object (BasicAuthentication)

Es opcional. Autenticación básica con nombre de usuario y contraseña

bearerTokenAuthentication

object (BearerTokenAuthentication)

Es opcional. Autenticación con un token del portador.

BasicAuthentication

Representación 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

Obligatorio. Es el nombre de usuario con el que se autenticará.

Campo de unión password. Es la contraseña para autenticarse. password puede ser solo uno de los parámetros siguientes:
passwordSecretVersion

string

Es la versión del secreto de Secret Manager de la contraseña con la que se autenticará.

BearerTokenAuthentication

Representación 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ón token. Es el token para autenticarse. token puede ser solo uno de los parámetros siguientes:
tokenSecretVersion

string

Es opcional. La versión del Secret de SecretManager del token para autenticarse.

Marca de tiempo

Representación JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Representa los segundos del horario UTC desde el tiempo Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z).

nanos

integer

Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de nanosegundos de la duración, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Deben ser valores de 0 a 999,999,999 inclusive.

LabelsEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

InstallationState

Representación JSON
{
  "stage": enum (Stage),
  "message": string,
  "actionUri": string
}
Campos
stage

enum (Stage)

Solo salida. Es el paso actual del proceso de instalación.

message

string

Solo salida. Es un mensaje que indica lo que el usuario debe hacer a continuación para continuar con la instalación. Es una cadena vacía si la instalación ya se completó.

actionUri

string

Solo salida. Vínculo que se debe seguir para la próxima acción. Es una cadena vacía si la instalación ya se completó.

AnnotationsEntry

Representación JSON
{
  "key": string,
  "value": string
}
Campos
key

string

value

string

CryptoKeyConfig

Representación JSON
{
  "keyReference": string
}
Campos
keyReference

string

Obligatorio. Es el nombre de la clave que se usa para encriptar o desencriptar los datos del cliente. Para la clave en Cloud KMS, la clave debe tener el formato projects/*/locations/*/keyRings/*/cryptoKeys/*.

GitProxyConfig

Representación JSON
{
  "enabled": boolean,
  "httpProxyBaseUri": string
}
Campos
enabled

boolean

Es opcional. Si se establece en verdadero, se permite que el proxy de Git se use para realizar operaciones de Git en los repositorios vinculados en la conexión.

httpProxyBaseUri

string

Solo salida. Es el URI base para el extremo del proxy HTTP. Tiene el formato https://{generatedID}-c-h-{shortRegion}.developerconnect.dev. Se propaga solo cuando el valor de habilitado se establece como verdadero. Otros servicios de Google que se integran en Developer Connect usan este extremo.

GitHubApp

Representa las diversas aplicaciones de GitHub que se pueden instalar en un usuario o una organización de GitHub, y usarse con Developer Connect.

Enums
GIT_HUB_APP_UNSPECIFIED No se especificó la app de GitHub.
DEVELOPER_CONNECT La aplicación de GitHub de Developer Connect.
FIREBASE La aplicación de Firebase para GitHub.
GEMINI_CODE_ASSIST La aplicación de Gemini Code Assist
DATAFORM La aplicación de GitHub de Dataform.

Etapa

Es la etapa del proceso de instalación.

Enums
STAGE_UNSPECIFIED No se especificó ninguna etapa.
PENDING_CREATE_APP Solo para GitHub Enterprise. Se solicitó la creación de una app. El usuario debe confirmar la creación en su host de GitHub Enterprise.
PENDING_USER_OAUTH El usuario debe autorizar la app de GitHub (o Enterprise) a través de OAuth.
PENDING_INSTALL_APP El usuario debe seguir el vínculo para instalar la app de GitHub (o Enterprise).
COMPLETE Se completó el proceso de instalación.

Esquema de salida

Este recurso representa una operación de larga duración que es el resultado de una llamada a la API de la red.

Operación

Representación 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

El nombre asignado por el servidor, que solo es único dentro del mismo servicio que lo muestra en un principio. Si usas la asignación HTTP predeterminada, el name debe ser un nombre de recurso que termine con operations/{unique_id}.

metadata

object

Metadatos específicos del servicio asociados con la operación. Por lo general, contiene información de progreso y metadatos comunes, como la fecha de creación. Puede que algunos servicios no proporcionen estos metadatos. Cualquier método que muestra una operación de larga duración debe documentar el tipo de metadatos, si corresponde.

Un objeto que contiene campos de un tipo arbitrario. Un campo adicional "@type" contiene una URI que identifica el tipo. Ejemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

Si el valor es false, significa que la operación aún está en progreso. Si es true, la operación está completa, y error o response están disponibles.

Campo de unión result. El resultado de la operación, que puede ser un error o una response válida. Si done == false, no se establecen error ni response. Si done == true, se puede establecer error o response. Es posible que algunos servicios no proporcionen el resultado. result puede ser solo uno de los siguientes:
error

object (Status)

El resultado de error de la operación en caso de falla o cancelación.

response

object

Es la respuesta normal y correcta de la operación. Si el método original no devuelve datos en caso de éxito, como Delete, la respuesta es google.protobuf.Empty. Si el método original es Get, Create o Update estándar, la respuesta debe ser el recurso. Para otros métodos, la respuesta debe tener el tipo XxxResponse, en la que Xxx es el nombre del método original. Por ejemplo, si el nombre del método original es TakeSnapshot(), el tipo de respuesta inferido es TakeSnapshotResponse.

Un objeto que contiene campos de un tipo arbitrario. Un campo adicional "@type" contiene una URI que identifica el tipo. Ejemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

Cualquiera

Representación JSON
{
  "typeUrl": string,
  "value": string
}
Campos
typeUrl

string

Identifica el tipo de mensaje de Protobuf serializado con una referencia de URI que consta de un prefijo que termina en una barra diagonal y el nombre de tipo completamente calificado.

Ejemplo: type.googleapis.com/google.protobuf.StringValue

Esta cadena debe contener al menos un carácter /, y el contenido después del último / debe ser el nombre completamente calificado del tipo en formato canónico, sin un punto inicial. No escribas un esquema en estas referencias de URI para que los clientes no intenten comunicarse con ellos.

El prefijo es arbitrario y se espera que las implementaciones de Protobuf simplemente quiten todo hasta el último /, incluido este, para identificar el tipo. type.googleapis.com/ es un prefijo predeterminado común que requieren algunas implementaciones heredadas. Este prefijo no indica el origen del tipo, y no se espera que los URI que lo contienen respondan a ninguna solicitud.

Todas las cadenas de URL de tipo deben ser referencias de URI legales con la restricción adicional (para el formato de texto) de que el contenido de la referencia debe constar solo de caracteres alfanuméricos, escapes codificados con porcentaje y caracteres del siguiente conjunto (sin incluir las comillas simples exteriores): /-.~_!$&()*+,;=. A pesar de que permitimos las codificaciones porcentuales, las implementaciones no deben quitarles el escape para evitar confusiones con los analizadores existentes. Por ejemplo, se debería rechazar type.googleapis.com%2FFoo.

En el diseño original de Any, se consideró la posibilidad de lanzar un servicio de resolución de tipos en estas URLs de tipo, pero Protobuf nunca implementó uno y considera que comunicarse con estas URLs es problemático y un posible problema de seguridad. No intentes comunicarte con las URLs de tipo.

value

string (bytes format)

Contiene una serialización de Protobuf del tipo que se describe en type_url.

Es una cadena codificada en Base64.

Estado

Representación JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Campos
code

integer

El código de estado, que debe ser un valor enum de google.rpc.Code.

message

string

Un mensaje de error dirigido al desarrollador, que debe estar en inglés. Cualquier mensaje de error dirigido al usuario debe localizarse y enviarse al campo google.rpc.Status.details; o el cliente debe localizarlo.

details[]

object

Una lista de mensajes que contienen los detalles del error. Hay un conjunto común de tipos de mensajes para que usen las API.

Un objeto que contiene campos de un tipo arbitrario. Un campo adicional "@type" contiene una URI que identifica el tipo. Ejemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

Anotaciones de herramientas

Las anotaciones de herramientas se envían a los clientes de MCP para describir el riesgo básico de una herramienta determinada. La mayoría de los clientes tratan estas sugerencias como no confiables, pero se pueden usar para decidir cuándo se puede enviar un mensaje de confirmación a un usuario.

Junto con la cadena de título, las siguientes sugerencias booleanas se definen de la siguiente manera:

  • readOnlyHint: Si es verdadero, la herramienta no modifica su entorno. Valor predeterminado: false.
  • destructiveHint: Si es verdadero, la herramienta puede realizar acciones destructivas. Si es falso, la herramienta solo puede realizar acciones aditivas. Valor predeterminado: true.
  • idempotentHint: Si es verdadero, llamar a la herramienta de forma repetida con los mismos argumentos no tendrá ningún efecto adicional en su entorno. Valor predeterminado: false.
  • openWorldHint: Si es verdadero, la herramienta puede interactuar con un "mundo abierto" de entidades externas. Si es falso, la herramienta solo puede interactuar con entidades internas. Por ejemplo, una herramienta de búsqueda web sería de mundo abierto, mientras que una herramienta de memoria no lo sería.

Sugerencia destructiva: ❌ | Sugerencia idempotente: ❌ | Sugerencia de solo lectura: ❌ | Sugerencia de mundo abierto: ❌