MCP Tools Reference: ces.googleapis.com

Outil : list_toolsets

Liste les ensembles d'outils dans l'application donnée.

L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP list_toolsets.

Requête 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": "list_toolsets",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Schéma d'entrée

Message de requête pour AgentService.ListToolsets.

ListToolsetsRequest

Représentation JSON
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string,
  "filter": string,
  "orderBy": string
}
Champs
parent

string

Obligatoire. Nom de ressource de l'application à partir de laquelle lister les ensembles d'outils.

pageSize

integer

Facultatif. Taille de la page demandée. Le serveur peut renvoyer un nombre d'éléments inférieur à celui demandé. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée.

pageToken

string

Facultatif. Valeur next_page_token renvoyée par un appel AgentService.ListToolsets de liste précédent.

filter

string

Facultatif. Filtre à appliquer lors de la liste des ensembles d'outils. Pour en savoir plus, consultez https://google.aip.dev/160.

orderBy

string

Facultatif. Champ de tri. Seuls "name" et "create_time" sont acceptés. Pour en savoir plus, consultez https://google.aip.dev/132#ordering.

Schéma de sortie

Message de réponse pour AgentService.ListToolsets.

ListToolsetsResponse

Représentation JSON
{
  "toolsets": [
    {
      object (Toolset)
    }
  ],
  "nextPageToken": string
}
Champs
toolsets[]

object (Toolset)

Liste des ensembles d'outils.

nextPageToken

string

Jeton pouvant être envoyé en tant que ListToolsetsRequest.page_token pour récupérer la page suivante. L'absence de ce champ indique qu'il n'y a pas d'autres pages.

Ensemble d'outils

Représentation JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "executionType": enum (ExecutionType),
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field toolset_type can be only one of the following:
  "mcpToolset": {
    object (McpToolset)
  },
  "openApiToolset": {
    object (OpenApiToolset)
  },
  "connectorToolset": {
    object (ConnectorToolset)
  }
  // End of list of possible types for union field toolset_type.
}
Champs
name

string

Identifiant. Identifiant unique de l'ensemble d'outils. Format : projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

Facultatif. Nom à afficher de l'ensemble d'outils. Doit être unique dans la même application.

description

string

Facultatif. Description de l'ensemble d'outils.

createTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la création de l'ensemble d'outils.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la dernière mise à jour de l'ensemble d'outils.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

etag

string

ETag utilisé pour s'assurer que l'objet n'a pas été modifié lors d'une opération de lecture/modification/écriture. Si l'etag est vide, la mise à jour écrasera toutes les modifications simultanées.

executionType

enum (ExecutionType)

Facultatif. Type d'exécution des outils dans l'ensemble d'outils.

toolFakeConfig

object (ToolFakeConfig)

Facultatif. Configuration du comportement des outils en mode factice.

Champ d'union toolset_type. Type de l'ensemble d'outils. toolset_type ne peut être qu'un des éléments suivants :
mcpToolset

object (McpToolset)

Facultatif. Ensemble d'outils contenant une liste d'outils proposés par le serveur MCP.

openApiToolset

object (OpenApiToolset)

Facultatif. Ensemble d'outils contenant une liste d'outils définis par un schéma OpenAPI.

connectorToolset

object (ConnectorToolset)

Facultatif. Ensemble d'outils qui génère des outils à partir d'une connexion Integration Connectors.

McpToolset

Représentation JSON
{
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "tlsConfig": {
    object (TlsConfig)
  }
}
Champs
serverAddress

string

Obligatoire. Adresse du serveur MCP (par exemple, "https://example.com/mcp/"). Si le serveur est créé avec le SDK MCP, l'URL doit être suffixée par "/mcp/". Seuls les serveurs basés sur le transport HTTP Streamable sont acceptés. Pour en savoir plus, consultez https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http.

apiAuthentication

object (ApiAuthentication)

Facultatif. Informations d'authentification requises pour accéder aux outils et exécuter un outil sur le serveur MCP. Pour l'authentification par jeton du porteur, le jeton ne s'applique qu'à l'exécution de l'outil, et non à la liste des outils. Cela nécessite que les outils puissent être listés sans authentification.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facultatif. Configuration Annuaire des services pour VPC-SC, utilisée pour résoudre les noms de service dans un périmètre.

tlsConfig

object (TlsConfig)

Facultatif. Configuration TLS. Inclut les certificats de serveur personnalisés auxquels le client doit faire confiance.

ApiAuthentication

Représentation JSON
{

  // Union field auth_config can be only one of the following:
  "apiKeyConfig": {
    object (ApiKeyConfig)
  },
  "oauthConfig": {
    object (OAuthConfig)
  },
  "serviceAgentIdTokenAuthConfig": {
    object (ServiceAgentIdTokenAuthConfig)
  },
  "serviceAccountAuthConfig": {
    object (ServiceAccountAuthConfig)
  },
  "bearerTokenConfig": {
    object (BearerTokenConfig)
  }
  // End of list of possible types for union field auth_config.
}
Champs
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants :
apiKeyConfig

object (ApiKeyConfig)

Facultatif. Configuration pour l'authentification par clé API.

oauthConfig

object (OAuthConfig)

Facultatif. Configuration pour OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Facultatif. Configuration pour l'authentification par jeton d'identification générée à partir de l'agent de service CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Facultatif. Configuration pour l'authentification du compte de service.

bearerTokenConfig

object (BearerTokenConfig)

Facultatif. Configuration pour l'authentification par jeton du porteur.

ApiKeyConfig

Représentation JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Champs
keyName

string

Obligatoire. Nom du paramètre ou de l'en-tête de la clé API. Exemple : Si la requête API est "https://example.com/act?X-Api-Key=", "X-Api-Key" est le nom du paramètre.

apiKeySecretVersion

string

Obligatoire. Nom de la ressource de version secrète Secret Manager stockant la clé API. Format : projects/{project}/secrets/{secret}/versions/{version}

Remarque : Vous devez attribuer le rôle roles/secretmanager.secretAccessor à l'agent de service CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (RequestLocation)

Obligatoire. Emplacement de la clé dans la requête.

OAuthConfig

Représentation JSON
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Champs
oauthGrantType

enum (OauthGrantType)

Obligatoire. Types d'attribution OAuth.

clientId

string

Obligatoire. ID client du fournisseur OAuth.

clientSecretVersion

string

Obligatoire. Nom de la ressource de version du secret Secret Manager stockant le code secret du client. Format : projects/{project}/secrets/{secret}/versions/{version}

Remarque : Vous devez attribuer le rôle roles/secretmanager.secretAccessor à l'agent de service CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Obligatoire. Point de terminaison du jeton dans le fournisseur OAuth pour l'échange d'un jeton d'accès.

scopes[]

string

Facultatif. Champs d'application OAuth à accorder.

ServiceAccountAuthConfig

Représentation JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Champs
serviceAccount

string

Obligatoire. Adresse e-mail du compte de service utilisé pour l'authentification. CES utilise ce compte de service pour échanger un jeton d'accès, qui est ensuite envoyé dans l'en-tête Authorization de la requête.

Le compte de service doit disposer du rôle roles/iam.serviceAccountTokenCreator attribué à l'agent de service CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Facultatif. Champs d'application OAuth à accorder. Si aucune valeur n'est spécifiée, le champ d'application par défaut https://www.googleapis.com/auth/cloud-platform est utilisé.

BearerTokenConfig

Représentation JSON
{
  "token": string
}
Champs
token

string

Obligatoire. Jeton de support. Il doit respecter le format $context.variables.<name_of_variable>.

ServiceDirectoryConfig

Représentation JSON
{
  "service": string
}
Champs
service

string

Obligatoire. Nom du service Annuaire des services. Format : projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. L'emplacement de l'annuaire des services doit être identique à celui de l'application.

TlsConfig

Représentation JSON
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Champs
caCerts[]

object (CaCert)

Obligatoire. Spécifie une liste de certificats d'autorité de certification personnalisés autorisés pour la validation HTTPS.

CaCert

Représentation JSON
{
  "displayName": string,
  "cert": string
}
Champs
displayName

string

Obligatoire. Nom des certificats CA personnalisés autorisés. Cela peut être utilisé pour lever toute ambiguïté concernant les certificats d'autorité de certification personnalisés.

cert

string (bytes format)

Obligatoire. Certificats d'autorité de certification personnalisés autorisés (au format DER) pour la validation HTTPS. Cela remplace le magasin de confiance SSL par défaut. Si ce champ est vide ou n'est pas spécifié, CES utilisera le trust store par défaut de Google pour valider les certificats. Remarque : Assurez-vous que les certificats de serveur HTTPS sont signés avec "subject alt name". Par exemple, un certificat peut être autosigné à l'aide de la commande suivante : openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")

Chaîne encodée en base64.

OpenApiToolset

Représentation JSON
{
  "openApiSchema": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Champs
openApiSchema

string

Obligatoire. Schéma OpenAPI de l'ensemble d'outils.

apiAuthentication

object (ApiAuthentication)

Facultatif. Informations d'authentification requises par l'API.

tlsConfig

object (TlsConfig)

Facultatif. Configuration TLS. Inclut les certificats de serveur personnalisés

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Facultatif. Configuration de l'annuaire des services.

ignoreUnknownFields

boolean

Facultatif. Si la valeur est "true", l'agent ignore les champs inconnus dans la réponse de l'API pour toutes les opérations définies dans le schéma OpenAPI.

url

string

Facultatif. URL du serveur du schéma Open API. Ce champ n'est défini dans les ensembles d'outils que dans les dépendances d'environnement lors du processus d'exportation si le schéma contient une URL de serveur. Lors du processus d'importation, si cette URL est présente dans les dépendances de l'environnement et que le schéma comporte l'espace réservé $env_var, elle remplacera l'espace réservé dans le schéma.

ConnectorToolset

Représentation JSON
{
  "connection": string,
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "connectorActions": [
    {
      object (Action)
    }
  ]
}
Champs
connection

string

Obligatoire. Nom complet de la ressource de la connexion Integration Connectors référencée. Format : projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

Facultatif. Configure la façon dont l'authentification est gérée dans Integration Connectors. Par défaut, une authentification d'administrateur est transmise dans les requêtes d'API Integration Connectors. Vous pouvez la remplacer par une autre configuration d'authentification de l'utilisateur final. Remarque : La substitution de l'authentification doit être activée pour la connexion afin de pouvoir spécifier une configuration EUC ici. Sinon, la création de l'ensemble d'outils échouera. Consultez https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override.

connectorActions[]

object (Action)

Obligatoire. Liste des actions de connecteur/opérations d'entité pour lesquelles générer des outils.

EndUserAuthConfig

Représentation JSON
{

  // Union field auth_config can be only one of the following:
  "oauth2AuthCodeConfig": {
    object (Oauth2AuthCodeConfig)
  },
  "oauth2JwtBearerConfig": {
    object (Oauth2JwtBearerConfig)
  }
  // End of list of possible types for union field auth_config.
}
Champs
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants :
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Authentification par code d'autorisation OAuth 2.0.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Authentification par attribution d'autorisation OAuth 2.0 avec profil JWT.

Oauth2AuthCodeConfig

Représentation JSON
{
  "oauthToken": string
}
Champs
oauthToken

string

Obligatoire. Nom du paramètre de jeton OAuth à transmettre. Il doit respecter le format $context.variables.<name_of_variable>.

Oauth2JwtBearerConfig

Représentation JSON
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Champs
issuer

string

Obligatoire. Nom du paramètre de l'émetteur à transmettre. Il doit respecter le format $context.variables.<name_of_variable>.

subject

string

Obligatoire. Nom du paramètre de sujet à transmettre. Il doit respecter le format $context.variables.<name_of_variable>.

clientKey

string

Obligatoire. Nom du paramètre client à transmettre. Il doit respecter le format $context.variables.<name_of_variable>.

Action

Représentation JSON
{
  "inputFields": [
    string
  ],
  "outputFields": [
    string
  ],

  // Union field action_spec can be only one of the following:
  "connectionActionId": string,
  "entityOperation": {
    object (EntityOperation)
  }
  // End of list of possible types for union field action_spec.
}
Champs
inputFields[]

string

Facultatif. Champs d'entité à utiliser comme entrées pour l'opération. Si aucun champ n'est spécifié, tous les champs de l'entité seront utilisés.

outputFields[]

string

Facultatif. Champs d'entité à renvoyer à partir de l'opération. Si aucun champ n'est spécifié, tous les champs de l'entité sont renvoyés.

Champ d'union action_spec. Spécification d'une action à configurer pour que l'outil l'utilise. action_spec ne peut être qu'un des éléments suivants :
connectionActionId

string

ID d'une action de connexion que l'outil doit utiliser.

entityOperation

object (EntityOperation)

Configuration de l'opération d'entité à utiliser par l'outil.

EntityOperation

Représentation JSON
{
  "entityId": string,
  "operation": enum (OperationType)
}
Champs
entityId

string

Obligatoire. ID de l'entité.

operation

enum (OperationType)

Obligatoire. Opération à effectuer sur l'entité.

Horodatage

Représentation JSON
{
  "seconds": string,
  "nanos": integer
}
Champs
seconds

string (int64 format)

Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z).

nanos

integer

Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 inclus.

ToolFakeConfig

Représentation JSON
{
  "enableFakeMode": boolean,

  // Union field tool_response can be only one of the following:
  "codeBlock": {
    object (CodeBlock)
  }
  // End of list of possible types for union field tool_response.
}
Champs
enableFakeMode

boolean

Facultatif. Indique si l'outil utilise le mode factice.

Champ d'union tool_response. La réponse est statique ou fournie par une fonction Python. tool_response ne peut être qu'un des éléments suivants :
codeBlock

object (CodeBlock)

Facultatif. Bloc de code qui sera exécuté à la place d'un véritable appel d'outil.

CodeBlock

Représentation JSON
{
  "pythonCode": string
}
Champs
pythonCode

string

Obligatoire. Code Python qui sera appelé en mode faux outil. Signature de la fonction Python attendue : pour intercepter tous les appels d'outil : def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: pour intercepter un appel d'outil spécifique : def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: si la fonction renvoie "None", le véritable outil sera appelé à la place.

Annotations d'outils

Indication destructive : ❌ | Indication idempotente : ✅ | Indication en lecture seule : ✅ | Indication Open World : ❌