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 ( |
| Campos | |
|---|---|
parent |
Obligatorio. Valor para el elemento superior. |
connectionId |
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 |
Obligatorio. Es el recurso que se está creando. |
requestId |
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 |
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 ( |
| Campos | |
|---|---|
name |
Es el identificador. Es el nombre del recurso de la conexión, en el formato |
createTime |
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: |
updateTime |
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: |
deleteTime |
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: |
labels |
Opcional. Etiquetas como pares clave-valor Un objeto que contiene una lista de pares |
installationState |
Solo salida. Es el estado de instalación de la conexión. |
disabled |
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 |
Solo salida. Se establece en verdadero cuando la conexión se configura o actualiza en segundo plano. |
annotations |
Es opcional. Permite que los clientes almacenen pequeñas cantidades de datos arbitrarios. Un objeto que contiene una lista de pares |
etag |
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 |
Solo salida. Es un identificador único asignado por el sistema para la conexión. |
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 |
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 |
Es la configuración de las conexiones a github.com. |
githubEnterpriseConfig |
Es la configuración de las conexiones a una instancia de GitHub Enterprise. |
gitlabConfig |
Es la configuración de las conexiones a gitlab.com. |
gitlabEnterpriseConfig |
Es la configuración de las conexiones a una instancia de GitLab Enterprise. |
bitbucketDataCenterConfig |
Es la configuración de las conexiones a una instancia de Bitbucket Data Center. |
bitbucketCloudConfig |
Es la configuración de las conexiones a una instancia de Bitbucket Cloud. |
secureSourceManagerInstanceConfig |
Es la configuración de las conexiones a una instancia de Secure Source Manager. |
httpConfig |
Es opcional. Es la configuración de las conexiones a un proveedor de servicios HTTP. |
GitHubConfig
| Representación JSON |
|---|
{ "githubApp": enum ( |
| Campos | |
|---|---|
githubApp |
Obligatorio. Inmutable. La aplicación de GitHub que se instaló en el usuario o la organización de GitHub. |
authorizerCredential |
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 |
Es opcional. ID de instalación de la app de GitHub. |
installationUri |
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 |
Obligatorio. Un recurso de SecretManager que contiene el token de OAuth que autoriza la conexión. Formato: |
username |
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 ( |
| Campos | |
|---|---|
hostUri |
Obligatorio. Es el URI del host de GitHub Enterprise para el que se establece esta conexión. |
appId |
Es opcional. Es el ID de la app de GitHub creada a partir del manifiesto. |
appSlug |
Solo salida. Es el nombre compatible con URL de la app de GitHub. |
privateKeySecretVersion |
Es opcional. Es el recurso de SecretManager que contiene la clave privada de la app de GitHub, con el formato |
webhookSecretSecretVersion |
Es opcional. Es el recurso de SecretManager que contiene el secreto del webhook de la app de GitHub, con el formato |
appInstallationId |
Es opcional. Es el ID de la instalación de la app de GitHub. |
installationUri |
Solo salida. Es el URI al que se debe navegar para administrar la instalación asociada con este GitHubEnterpriseConfig. |
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 |
Solo salida. Es la versión de GitHub Enterprise instalada en host_uri. |
sslCaCertificate |
Es opcional. Es el certificado SSL que se usará para las solicitudes a GitHub Enterprise. |
organization |
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 |
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 ( |
| Campos | |
|---|---|
webhookSecretSecretVersion |
Obligatorio. Inmutable. Es el recurso de SecretManager que contiene el secreto de webhook de un proyecto de GitLab, con el formato |
readAuthorizerCredential |
Obligatorio. Un token de acceso personal de GitLab con el acceso mínimo al permiso |
authorizerCredential |
Obligatorio. Un token de acceso personal de GitLab con el acceso mínimo al permiso |
UserCredential
| Representación JSON |
|---|
{ "userTokenSecretVersion": string, "username": string } |
| Campos | |
|---|---|
userTokenSecretVersion |
Obligatorio. Un recurso de SecretManager que contiene el token de usuario que autoriza la conexión de Developer Connect. Formato: |
username |
Solo salida. Es el nombre de usuario asociado a este token. |
GitLabEnterpriseConfig
| Representación JSON |
|---|
{ "hostUri": string, "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| Campos | |
|---|---|
hostUri |
Obligatorio. Es el URI del host de GitLab Enterprise para el que se establece esta conexión. |
webhookSecretSecretVersion |
Obligatorio. Inmutable. Es el recurso de SecretManager que contiene el secreto de webhook de un proyecto de GitLab, con el formato |
readAuthorizerCredential |
Obligatorio. Un token de acceso personal de GitLab con el acceso mínimo al permiso |
authorizerCredential |
Obligatorio. Un token de acceso personal de GitLab con el acceso mínimo al permiso |
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 |
Es opcional. Es el certificado de la autoridad certificadora SSL que se usará para las solicitudes a la instancia de GitLab Enterprise. |
serverVersion |
Solo salida. Versión del servidor de GitLab Enterprise que se ejecuta en |
BitbucketDataCenterConfig
| Representación JSON |
|---|
{ "hostUri": string, "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| Campos | |
|---|---|
hostUri |
Obligatorio. Es el URI del host de Bitbucket Data Center para el que se establece esta conexión. |
webhookSecretSecretVersion |
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 |
readAuthorizerCredential |
Obligatorio. Un token de acceso HTTP con el acceso mínimo de |
authorizerCredential |
Obligatorio. Un token de acceso HTTP con el acceso mínimo al permiso |
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 |
Es opcional. Es la autoridad certificadora SSL en la que se debe confiar cuando se realizan solicitudes a Bitbucket Data Center. |
serverVersion |
Solo salida. Es la versión del servidor de Bitbucket Data Center que se ejecuta en |
BitbucketCloudConfig
| Representación JSON |
|---|
{ "workspace": string, "webhookSecretSecretVersion": string, "readAuthorizerCredential": { object ( |
| Campos | |
|---|---|
workspace |
Obligatorio. Es el ID del espacio de trabajo de Bitbucket Cloud que se conectará a Google Cloud Platform. |
webhookSecretSecretVersion |
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 |
readAuthorizerCredential |
Obligatorio. Un token de acceso con el acceso mínimo de |
authorizerCredential |
Obligatorio. Un token de acceso con el acceso mínimo a los permisos |
SecureSourceManagerInstanceConfig
| Representación JSON |
|---|
{ "instance": string } |
| Campos | |
|---|---|
instance |
Obligatorio. Inmutable. Recurso de instancia de Secure Source Manager, con el formato |
GenericHTTPEndpointConfig
| Representación JSON |
|---|
{ "hostUri": string, "serviceDirectoryConfig": { object ( |
| Campos | |
|---|---|
hostUri |
Obligatorio. Inmutable. Es el extremo HTTPS del proveedor de servicios. |
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 |
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 |
Es opcional. Autenticación básica con nombre de usuario y contraseña |
bearerTokenAuthentication |
Es opcional. Autenticación con un token del portador. |
BasicAuthentication
| Representación JSON |
|---|
{ "username": string, // Union field |
| Campos | |
|---|---|
username |
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 |
Es la versión del secreto de Secret Manager de la contraseña con la que se autenticará. |
BearerTokenAuthentication
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión token. Es el token para autenticarse. token puede ser solo uno de los parámetros siguientes: |
|
tokenSecretVersion |
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 |
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 |
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 |
|
value |
|
InstallationState
| Representación JSON |
|---|
{
"stage": enum ( |
| Campos | |
|---|---|
stage |
Solo salida. Es el paso actual del proceso de instalación. |
message |
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 |
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 |
|
value |
|
CryptoKeyConfig
| Representación JSON |
|---|
{ "keyReference": string } |
| Campos | |
|---|---|
keyReference |
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 |
GitProxyConfig
| Representación JSON |
|---|
{ "enabled": boolean, "httpProxyBaseUri": string } |
| Campos | |
|---|---|
enabled |
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 |
Solo salida. Es el URI base para el extremo del proxy HTTP. Tiene el formato |
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 |
| Campos | |
|---|---|
name |
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 |
metadata |
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 |
done |
Si el valor es |
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 |
El resultado de error de la operación en caso de falla o cancelación. |
response |
Es la respuesta normal y correcta de la operación. Si el método original no devuelve datos en caso de éxito, como Un objeto que contiene campos de un tipo arbitrario. Un campo adicional |
Cualquiera
| Representación JSON |
|---|
{ "typeUrl": string, "value": string } |
| Campos | |
|---|---|
typeUrl |
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 El prefijo es arbitrario y se espera que las implementaciones de Protobuf simplemente quiten todo hasta el último 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): En el diseño original de |
value |
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 |
El código de estado, que debe ser un valor enum de |
message |
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 |
details[] |
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 |
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: ❌