MCP Tools Reference: ces.googleapis.com

Herramienta: create_deployment

Crea una implementación nueva en la app especificada.

En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP create_deployment.

Solicitud de Curl
                  
curl --location 'https://ces.[REGION].rep.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "create_deployment",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Esquema de entrada

Mensaje de solicitud para AgentService.CreateDeployment.

CreateDeploymentRequest

Representación JSON
{
  "parent": string,
  "deploymentId": string,
  "deployment": {
    object (Deployment)
  }
}
Campos
parent

string

Obligatorio. Es la app principal. El formato es projects/{project}/locations/{location}/apps/{app}.

deploymentId

string

Es opcional. Es el ID que se usará para la implementación, que se convertirá en el componente final del nombre del recurso de la implementación. Si no se proporciona, se asignará automáticamente un ID único para la implementación.

deployment

object (Deployment)

Obligatorio. Es la implementación que se creará.

Implementación

Representación JSON
{
  "name": string,
  "displayName": string,
  "appVersion": string,
  "channelProfile": {
    object (ChannelProfile)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string
}
Campos
name

string

Es el identificador. Es el nombre del recurso de la implementación. Formato: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

displayName

string

Obligatorio. Es el nombre visible de la implementación.

appVersion

string

Es opcional. Es el nombre del recurso de la versión de la app que se implementará. Formato: projects/{project}/locations/{location}/apps/{app}/versions/{version} Usa projects/{project}/locations/{location}/apps/{app}/versions/- para usar la app en borrador.

channelProfile

object (ChannelProfile)

Obligatorio. Es el perfil del canal que se usa en la implementación.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la creación de esta implementació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 última actualización de esta implementació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".

etag

string

Solo salida. Es el ETag que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura, modificación y escritura. Si el ETag está vacío, la actualización reemplazará cualquier cambio simultáneo.

ChannelProfile

Representación JSON
{
  "profileId": string,
  "channelType": enum (ChannelType),
  "personaProperty": {
    object (PersonaProperty)
  },
  "disableDtmf": boolean,
  "disableBargeInControl": boolean,
  "webWidgetConfig": {
    object (WebWidgetConfig)
  },
  "noiseSuppressionLevel": string
}
Campos
profileId

string

Es opcional. Es el identificador único del perfil del canal.

channelType

enum (ChannelType)

Es opcional. Es el tipo de perfil del canal.

personaProperty

object (PersonaProperty)

Es opcional. Es la propiedad de arquetipo del perfil del canal.

disableDtmf

boolean

Es opcional. Indica si se debe inhabilitar la señalización multifrecuencia de dos tonos (DTMF).

disableBargeInControl

boolean

Es opcional. Indica si se debe inhabilitar el control de interrupción del usuario en la conversación. - true: Las interrupciones del usuario se inhabilitan mientras el agente habla. - false: El agente conserva el control automático sobre cuándo puede interrumpir el usuario.

webWidgetConfig

object (WebWidgetConfig)

Es opcional. Es la configuración del widget web.

noiseSuppressionLevel

string

Es opcional. Es el nivel de reducción de ruido del perfil del canal. Los valores disponibles son "low", "moderate", "high" y "very_high".

PersonaProperty

Representación JSON
{
  "persona": enum (Persona)
}
Campos
persona

enum (Persona)

Es opcional. Es la personalidad del canal.

WebWidgetConfig

Representación JSON
{
  "modality": enum (Modality),
  "theme": enum (Theme),
  "webWidgetTitle": string,
  "securitySettings": {
    object (SecuritySettings)
  }
}
Campos
modality

enum (Modality)

Es opcional. Es la modalidad del widget web.

theme

enum (Theme)

Es opcional. Es el tema del widget web.

webWidgetTitle

string

Es opcional. Es el título del widget web.

securitySettings

object (SecuritySettings)

Es opcional. Es la configuración de seguridad del widget web.

SecuritySettings

Representación JSON
{
  "enablePublicAccess": boolean,
  "enableOriginCheck": boolean,
  "allowedOrigins": [
    string
  ],
  "enableRecaptcha": boolean
}
Campos
enablePublicAccess

boolean

Es opcional. Indica si está habilitado el acceso público al widget web. Si es true, se podrá acceder al widget web de forma pública. Si es false, el widget web debe integrarse con tu propio sistema de autenticación y autorización para devolver credenciales válidas para acceder al agente de CES.

enableOriginCheck

boolean

Es opcional. Indica si está habilitada la verificación de origen para el widget web. Si es true, el widget web verificará el origen del sitio web que carga el widget web y solo permitirá que se cargue en el mismo origen o en cualquiera de los orígenes permitidos.

allowedOrigins[]

string

Es opcional. Son los orígenes que pueden alojar el widget web. Un origen se define según el RFC 6454. Si está vacío, se permiten todos los orígenes. Se permite un máximo de 100 orígenes. Ejemplo: "https://example.com"

enableRecaptcha

boolean

Es opcional. Indica si está habilitada la verificación de reCAPTCHA para el widget web.

Marca de tiempo

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

string (int64 format)

Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z y 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 la duración en nanosegundos, 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. Debe ser un valor entre 0 y 999,999,999, inclusive.

Esquema de salida

Una implementación representa una versión inmutable de la app que se puede consultar. Se usa para implementar una versión de la app con un perfil de canal específico.

Implementación

Representación JSON
{
  "name": string,
  "displayName": string,
  "appVersion": string,
  "channelProfile": {
    object (ChannelProfile)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string
}
Campos
name

string

Es el identificador. Es el nombre del recurso de la implementación. Formato: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

displayName

string

Obligatorio. Es el nombre visible de la implementación.

appVersion

string

Es opcional. Es el nombre del recurso de la versión de la app que se implementará. Formato: projects/{project}/locations/{location}/apps/{app}/versions/{version} Usa projects/{project}/locations/{location}/apps/{app}/versions/- para usar la app en borrador.

channelProfile

object (ChannelProfile)

Obligatorio. Es el perfil del canal que se usa en la implementación.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la creación de esta implementació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 última actualización de esta implementació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".

etag

string

Solo salida. Es el ETag que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura, modificación y escritura. Si el ETag está vacío, la actualización reemplazará cualquier cambio simultáneo.

ChannelProfile

Representación JSON
{
  "profileId": string,
  "channelType": enum (ChannelType),
  "personaProperty": {
    object (PersonaProperty)
  },
  "disableDtmf": boolean,
  "disableBargeInControl": boolean,
  "webWidgetConfig": {
    object (WebWidgetConfig)
  },
  "noiseSuppressionLevel": string
}
Campos
profileId

string

Es opcional. Es el identificador único del perfil del canal.

channelType

enum (ChannelType)

Es opcional. Es el tipo de perfil del canal.

personaProperty

object (PersonaProperty)

Es opcional. Es la propiedad de arquetipo del perfil del canal.

disableDtmf

boolean

Es opcional. Indica si se debe inhabilitar la señalización multifrecuencia de dos tonos (DTMF).

disableBargeInControl

boolean

Es opcional. Indica si se debe inhabilitar el control de interrupción del usuario en la conversación. - true: Las interrupciones del usuario se inhabilitan mientras el agente habla. - false: El agente conserva el control automático sobre cuándo puede interrumpir el usuario.

webWidgetConfig

object (WebWidgetConfig)

Es opcional. Es la configuración del widget web.

noiseSuppressionLevel

string

Es opcional. Es el nivel de reducción de ruido del perfil del canal. Los valores disponibles son "low", "moderate", "high" y "very_high".

PersonaProperty

Representación JSON
{
  "persona": enum (Persona)
}
Campos
persona

enum (Persona)

Es opcional. Es la personalidad del canal.

WebWidgetConfig

Representación JSON
{
  "modality": enum (Modality),
  "theme": enum (Theme),
  "webWidgetTitle": string,
  "securitySettings": {
    object (SecuritySettings)
  }
}
Campos
modality

enum (Modality)

Es opcional. Es la modalidad del widget web.

theme

enum (Theme)

Es opcional. Es el tema del widget web.

webWidgetTitle

string

Es opcional. Es el título del widget web.

securitySettings

object (SecuritySettings)

Es opcional. Es la configuración de seguridad del widget web.

SecuritySettings

Representación JSON
{
  "enablePublicAccess": boolean,
  "enableOriginCheck": boolean,
  "allowedOrigins": [
    string
  ],
  "enableRecaptcha": boolean
}
Campos
enablePublicAccess

boolean

Es opcional. Indica si está habilitado el acceso público al widget web. Si es true, se podrá acceder al widget web de forma pública. Si es false, el widget web debe integrarse con tu propio sistema de autenticación y autorización para devolver credenciales válidas para acceder al agente de CES.

enableOriginCheck

boolean

Es opcional. Indica si está habilitada la verificación de origen para el widget web. Si es true, el widget web verificará el origen del sitio web que carga el widget web y solo permitirá que se cargue en el mismo origen o en cualquiera de los orígenes permitidos.

allowedOrigins[]

string

Es opcional. Son los orígenes que pueden alojar el widget web. Un origen se define según el RFC 6454. Si está vacío, se permiten todos los orígenes. Se permite un máximo de 100 orígenes. Ejemplo: "https://example.com"

enableRecaptcha

boolean

Es opcional. Indica si está habilitada la verificación de reCAPTCHA para el widget web.

Marca de tiempo

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

string (int64 format)

Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z y 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 la duración en nanosegundos, 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. Debe ser un valor entre 0 y 999,999,999, inclusive.

Anotaciones de herramientas

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