Outil : create_toolset
Crée un ensemble d'outils dans l'application donnée.
L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP create_toolset.
| Requête curl |
|---|
curl --location 'https://ces.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "create_toolset", "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.CreateToolset.
CreateToolsetRequest
| Représentation JSON |
|---|
{
"parent": string,
"toolsetId": string,
"toolset": {
object ( |
| Champs | |
|---|---|
parent |
Obligatoire. Nom de ressource de l'application dans laquelle créer un ensemble d'outils. |
toolsetId |
Facultatif. ID à utiliser pour l'ensemble d'outils, qui constituera le composant final du nom de ressource de l'ensemble d'outils. Si aucun ID n'est fourni, un ID unique est automatiquement attribué à l'ensemble d'outils. |
toolset |
Obligatoire. Ensemble d'outils à créer. |
Ensemble d'outils
| Représentation JSON |
|---|
{ "name": string, "displayName": string, "description": string, "timeout": string, "createTime": string, "updateTime": string, "etag": string, "executionType": enum ( |
| Champs | |
|---|---|
name |
Identifiant. Identifiant unique de l'ensemble d'outils. Format : |
displayName |
Facultatif. Nom à afficher de l'ensemble d'outils. Doit être unique dans la même application. |
description |
Facultatif. Description de l'ensemble d'outils. |
timeout |
Facultatif. Délai d'exécution de l'ensemble d'outils. Si ce paramètre n'est pas défini, le délai d'inactivité par défaut est de 30 secondes pour les ensembles d'outils Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par " |
createTime |
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 : |
updateTime |
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 : |
etag |
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 |
Facultatif. Type d'exécution des outils dans l'ensemble d'outils. |
toolFakeConfig |
Facultatif. Configuration du comportement des outils en mode simulation. |
Champ d'union toolset_type. Type de l'ensemble d'outils. toolset_type ne peut être qu'un des éléments suivants : |
|
mcpToolset |
Facultatif. Ensemble d'outils contenant la liste des outils proposés par le serveur MCP. |
openApiToolset |
Facultatif. Ensemble d'outils contenant une liste d'outils définis par un schéma OpenAPI. |
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 ( |
| Champs | |
|---|---|
serverAddress |
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 |
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 |
Facultatif. Configuration Annuaire des services pour VPC-SC, utilisée pour résoudre les noms de service dans un périmètre. |
tlsConfig |
Facultatif. Configuration TLS. Inclut les certificats de serveur personnalisés auxquels le client doit faire confiance. |
customHeaders |
Facultatif. En-têtes personnalisés à envoyer dans la requête au serveur MCP. Les valeurs doivent être au format Objet contenant une liste de paires |
toolOverrides[] |
Facultatif. Remplacements pour les outils individuels de cet ensemble d'outils. Cela permet de remplacer des détails spécifiques tels que les descriptions ou les noms, ou d'épingler les états des outils afin qu'ils ne soient pas entièrement dynamiques. |
ApiAuthentication
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants : |
|
apiKeyConfig |
Facultatif. Configuration pour l'authentification par clé API. |
oauthConfig |
Facultatif. Configuration pour OAuth. |
serviceAgentIdTokenAuthConfig |
Facultatif. Configuration pour l'authentification par jeton d'identification générée à partir de l'agent de service CES. |
serviceAccountAuthConfig |
Facultatif. Configuration pour l'authentification du compte de service. |
bearerTokenConfig |
Facultatif. Configuration pour l'authentification par jeton du porteur. |
ApiKeyConfig
| Représentation JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Champs | |
|---|---|
keyName |
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= |
apiKeySecretVersion |
Obligatoire. Nom de la ressource de version secrète Secret Manager stockant la clé API. Format : Remarque : Vous devez attribuer le rôle |
requestLocation |
Obligatoire. Emplacement de la clé dans la requête. |
OAuthConfig
| Représentation JSON |
|---|
{
"oauthGrantType": enum ( |
| Champs | |
|---|---|
oauthGrantType |
Obligatoire. Types d'attribution OAuth. |
clientId |
Obligatoire. ID client du fournisseur OAuth. |
clientSecretVersion |
Obligatoire. Nom de la ressource de version du secret Secret Manager stockant le code secret du client. Format : Remarque : Vous devez attribuer le rôle |
tokenEndpoint |
Obligatoire. Point de terminaison du jeton dans le fournisseur OAuth pour l'échange d'un jeton d'accès. |
scopes[] |
Facultatif. Champs d'application OAuth à accorder. |
ServiceAccountAuthConfig
| Représentation JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Champs | |
|---|---|
serviceAccount |
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 Le compte de service doit disposer du rôle |
scopes[] |
Facultatif. Champs d'application OAuth à accorder. Si aucune valeur n'est spécifiée, le champ d'application par défaut |
BearerTokenConfig
| Représentation JSON |
|---|
{ "token": string } |
| Champs | |
|---|---|
token |
Obligatoire. Jeton de support. Il doit respecter le format |
ServiceDirectoryConfig
| Représentation JSON |
|---|
{ "service": string } |
| Champs | |
|---|---|
service |
Obligatoire. Nom du service Annuaire des services. Format : |
TlsConfig
| Représentation JSON |
|---|
{
"caCerts": [
{
object ( |
| Champs | |
|---|---|
caCerts[] |
Obligatoire. Indique une liste de certificats CA personnalisés autorisés pour la validation HTTPS. |
CaCert
| Représentation JSON |
|---|
{ "displayName": string, "cert": string } |
| Champs | |
|---|---|
displayName |
Obligatoire. Nom des certificats CA personnalisés autorisés. Cela permet de lever toute ambiguïté concernant les certificats d'autorité de certification personnalisés. |
cert |
Obligatoire. Certificats CA 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 magasin de confiance 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 : Chaîne encodée en base64. |
CustomHeadersEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
McpToolOverride
| Représentation JSON |
|---|
{
"tool": string,
"nameOverride": string,
"descriptionOverride": string,
"snapshot": {
object ( |
| Champs | |
|---|---|
tool |
Obligatoire. Nom d'origine de l'outil tel qu'il est émis par le serveur MCP. |
nameOverride |
Facultatif. Si ce nom est indiqué, l'outil l'utilise dans l'agent à la place du nom d'origine. Il est principalement utilisé comme alias si le serveur MCP propose des outils mal nommés. |
descriptionOverride |
Facultatif. Si elle est présente, cet outil utilise cette description au lieu de la description d'origine du serveur. |
snapshot |
Uniquement en sortie. Si cet outil est présent, il est "épinglé" et utilise les valeurs du snapshot comme valeurs de remplacement si le serveur devient temporairement indisponible ou si aucun remplacement n'est présent. |
McpToolDefinition
| Représentation JSON |
|---|
{ "description": string, "inputSchema": { object ( |
| Champs | |
|---|---|
description |
Uniquement en sortie. Description de l'outil MCP. Cette valeur peut être remplacée par |
inputSchema |
Uniquement en sortie. Schéma des arguments d'entrée de l'outil MCP. |
outputSchema |
Uniquement en sortie. Schéma des arguments de sortie de l'outil MCP. |
Schéma
| Représentation JSON |
|---|
{ "type": enum ( |
| Champs | |
|---|---|
type |
Obligatoire. Type des données. |
properties |
Facultatif. Propriétés de Type.OBJECT. Objet contenant une liste de paires |
required[] |
Facultatif. Propriétés requises de Type.OBJECT. |
description |
Facultatif. Description des données. |
items |
Facultatif. Schéma des éléments de Type.ARRAY. |
nullable |
Facultatif. Indique si la valeur peut être nulle. |
uniqueItems |
Facultatif. Indique que les éléments du tableau doivent être uniques. Ne s'applique qu'à TYPE.ARRAY. |
prefixItems[] |
Facultatif. Schémas des éléments initiaux de Type.ARRAY. |
additionalProperties |
Facultatif. Peut être une valeur booléenne ou un objet. Contrôle la présence de propriétés supplémentaires. |
anyOf[] |
Facultatif. La valeur doit être validée par rapport à l'un ou plusieurs des sous-schémas de la liste. |
enum[] |
Facultatif. Valeurs possibles de l'élément de type primitif avec le format enum. Exemples : 1. Nous pouvons définir la direction comme suit : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Nous pouvons définir le numéro d'appartement comme suit : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Facultatif. Valeur par défaut des données. |
ref |
Facultatif. Permet les références indirectes entre les nœuds de schéma. La valeur doit être une référence valide à un enfant de la racine Par exemple, le schéma suivant définit une référence à un nœud de schéma nommé "Pet" : La valeur de la propriété "pet" est une référence au nœud de schéma nommé "Pet". Pour en savoir plus, consultez https://json-schema.org/understanding-json-schema/structuring. |
defs |
Facultatif. Carte des définitions à utiliser par Objet contenant une liste de paires |
title |
Facultatif. Titre du schéma. |
minItems |
Facultatif. Nombre minimal d'éléments pour Type.ARRAY. |
maxItems |
Facultatif. Nombre maximal d'éléments pour Type.ARRAY. |
Champ d'union
|
|
minimum |
Facultatif. Valeur minimale pour Type.INTEGER et Type.NUMBER. |
Champ d'union
|
|
maximum |
Facultatif. Valeur maximale pour Type.INTEGER et Type.NUMBER. |
PropertiesEntry
| Représentation JSON |
|---|
{
"key": string,
"value": {
object ( |
| Champs | |
|---|---|
key |
|
value |
|
Valeur
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union kind. Type de valeur. kind ne peut être qu'un des éléments suivants : |
|
nullValue |
Représente un |
numberValue |
Représente un nombre JSON. Ne doit pas être |
stringValue |
Représente une chaîne JSON. |
boolValue |
Représente une valeur booléenne JSON (littéral |
structValue |
Représente un objet JSON. |
listValue |
Représente un tableau JSON. |
Struct
| Représentation JSON |
|---|
{ "fields": { string: value, ... } } |
| Champs | |
|---|---|
fields |
Carte non ordonnée de valeurs typées de manière dynamique. Objet contenant une liste de paires |
FieldsEntry
| Représentation JSON |
|---|
{ "key": string, "value": value } |
| Champs | |
|---|---|
key |
|
value |
|
ListValue
| Représentation JSON |
|---|
{ "values": [ value ] } |
| Champs | |
|---|---|
values[] |
Champ répété de valeurs typées de manière dynamique. |
DefsEntry
| Représentation JSON |
|---|
{
"key": string,
"value": {
object ( |
| Champs | |
|---|---|
key |
|
value |
|
OpenApiToolset
| Représentation JSON |
|---|
{ "openApiSchema": string, "apiAuthentication": { object ( |
| Champs | |
|---|---|
openApiSchema |
Obligatoire. Schéma OpenAPI de l'ensemble d'outils. |
apiAuthentication |
Facultatif. Informations d'authentification requises par l'API. |
tlsConfig |
Facultatif. Configuration TLS. Inclut les certificats de serveur personnalisés |
serviceDirectoryConfig |
Facultatif. Configuration de l'annuaire des services. |
ignoreUnknownFields |
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 |
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 ( |
| Champs | |
|---|---|
connection |
Obligatoire. Nom complet de la ressource de la connexion Integration Connectors référencée. Format : |
authConfig |
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 de l'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[] |
Obligatoire. Liste des actions de connecteur/opérations d'entité pour lesquelles générer des outils. |
EndUserAuthConfig
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants : |
|
oauth2AuthCodeConfig |
Authentification par code d'autorisation OAuth 2.0. |
oauth2JwtBearerConfig |
Authentification par attribution d'autorisation OAuth 2.0 avec profil JWT. |
Oauth2AuthCodeConfig
| Représentation JSON |
|---|
{ "oauthToken": string } |
| Champs | |
|---|---|
oauthToken |
Obligatoire. Nom du paramètre de jeton OAuth à transmettre. Il doit respecter le format |
Oauth2JwtBearerConfig
| Représentation JSON |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Champs | |
|---|---|
issuer |
Obligatoire. Nom du paramètre de l'émetteur à transmettre. Il doit respecter le format |
subject |
Obligatoire. Nom du paramètre d'objet à transmettre. Il doit respecter le format |
clientKey |
Obligatoire. Nom du paramètre client à transmettre. Il doit respecter le format |
Action
| Représentation JSON |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Champs | |
|---|---|
inputFields[] |
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[] |
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 |
ID d'une action de connexion que l'outil doit utiliser. |
entityOperation |
Configuration de l'opération d'entité à utiliser par l'outil. |
EntityOperation
| Représentation JSON |
|---|
{
"entityId": string,
"operation": enum ( |
| Champs | |
|---|---|
entityId |
Obligatoire. ID de l'entité. |
operation |
Obligatoire. Opération à effectuer sur l'entité. |
Durée
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Secondes signées de la période. La valeur doit être comprise entre -315 576 000 000 et +315 576 000 000 (inclus). Remarque : Ces limites sont calculées à partir de : 60 s/min * 60 min/h * 24 h/jour * 365,25 jours/an * 10 000 ans. |
nanos |
Fractions de secondes signées avec une précision de l'ordre de la nanoseconde pour la durée. Les durées inférieures à une seconde sont représentées par un champ |
Horodatage
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
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 |
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 |
| Champs | |
|---|---|
enableFakeMode |
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 |
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 |
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. |
RequestLocation
Emplacement de la clé API dans la requête.
| Enums | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Non spécifié. Cette valeur ne doit pas être utilisée. |
HEADER |
Représente la clé dans l'en-tête HTTP. |
QUERY_STRING |
Représente la clé dans la chaîne de requête. |
OauthGrantType
Types d'attribution OAuth. Seule l'attribution d'identifiants client est acceptée.
| Enums | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Non spécifié. La valeur par défaut est CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Représente le flux d'identifiants client. |
Type
Types de données OpenAPI.
| Enums | |
|---|---|
TYPE_UNSPECIFIED |
Type non spécifié |
STRING |
Type de chaîne. |
INTEGER |
Type entier. |
NUMBER |
Type de nombre. |
BOOLEAN |
Type booléen. |
OBJECT |
Type d'objet. |
ARRAY |
Type de tableau. |
NullValue
Représente un null JSON.
NullValue est une sentinelle qui utilise une énumération avec une seule valeur pour représenter la valeur nulle de l'union de type Value.
Un champ de type NullValue avec une valeur autre que 0 est considéré comme non valide. La plupart des sérialiseurs ProtoJSON émettent un Value avec un null_value défini comme null JSON, quelle que soit la valeur entière, et effectuent donc un aller-retour vers une valeur 0.
| Enums | |
|---|---|
NULL_VALUE |
Valeur nulle. |
OperationType
Opération à effectuer sur l'entité.
| Enums | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
Type d'opération non spécifié. Non valide. La création ou la mise à jour de ConnectorTool échouera. |
LIST |
Opération de liste. |
GET |
Obtenir une opération. |
CREATE |
Opération de création. |
UPDATE |
Opération de mise à jour. |
DELETE |
Supprimer une opération. |
ExecutionType
Type d'exécution de l'outil ou de l'ensemble d'outils.
| Enums | |
|---|---|
EXECUTION_TYPE_UNSPECIFIED |
Le type d'exécution n'est pas spécifié. Prend la valeur SYNCHRONOUS par défaut s'il n'est pas spécifié. |
SYNCHRONOUS |
L'outil est exécuté de manière synchrone. La session est bloquée jusqu'à ce que l'outil renvoie une réponse. |
ASYNCHRONOUS |
L'outil est exécuté de manière asynchrone. La session se poursuivra pendant l'exécution de l'outil. |
Schéma de sortie
Un ensemble d'outils représente un groupe d'outils gérés de manière dynamique et pouvant être utilisés par l'agent.
Ensemble d'outils
| Représentation JSON |
|---|
{ "name": string, "displayName": string, "description": string, "timeout": string, "createTime": string, "updateTime": string, "etag": string, "executionType": enum ( |
| Champs | |
|---|---|
name |
Identifiant. Identifiant unique de l'ensemble d'outils. Format : |
displayName |
Facultatif. Nom à afficher de l'ensemble d'outils. Doit être unique dans la même application. |
description |
Facultatif. Description de l'ensemble d'outils. |
timeout |
Facultatif. Délai d'exécution de l'ensemble d'outils. Si ce paramètre n'est pas défini, le délai d'inactivité par défaut est de 30 secondes pour les ensembles d'outils Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par " |
createTime |
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 : |
updateTime |
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 : |
etag |
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 |
Facultatif. Type d'exécution des outils dans l'ensemble d'outils. |
toolFakeConfig |
Facultatif. Configuration du comportement des outils en mode simulation. |
Champ d'union toolset_type. Type de l'ensemble d'outils. toolset_type ne peut être qu'un des éléments suivants : |
|
mcpToolset |
Facultatif. Ensemble d'outils contenant la liste des outils proposés par le serveur MCP. |
openApiToolset |
Facultatif. Ensemble d'outils contenant une liste d'outils définis par un schéma OpenAPI. |
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 ( |
| Champs | |
|---|---|
serverAddress |
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 |
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 |
Facultatif. Configuration Annuaire des services pour VPC-SC, utilisée pour résoudre les noms de service dans un périmètre. |
tlsConfig |
Facultatif. Configuration TLS. Inclut les certificats de serveur personnalisés auxquels le client doit faire confiance. |
customHeaders |
Facultatif. En-têtes personnalisés à envoyer dans la requête au serveur MCP. Les valeurs doivent être au format Objet contenant une liste de paires |
toolOverrides[] |
Facultatif. Remplacements pour les outils individuels de cet ensemble d'outils. Cela permet de remplacer des détails spécifiques tels que les descriptions ou les noms, ou d'épingler les états des outils afin qu'ils ne soient pas entièrement dynamiques. |
ApiAuthentication
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants : |
|
apiKeyConfig |
Facultatif. Configuration pour l'authentification par clé API. |
oauthConfig |
Facultatif. Configuration pour OAuth. |
serviceAgentIdTokenAuthConfig |
Facultatif. Configuration pour l'authentification par jeton d'identification générée à partir de l'agent de service CES. |
serviceAccountAuthConfig |
Facultatif. Configuration pour l'authentification du compte de service. |
bearerTokenConfig |
Facultatif. Configuration pour l'authentification par jeton du porteur. |
ApiKeyConfig
| Représentation JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Champs | |
|---|---|
keyName |
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= |
apiKeySecretVersion |
Obligatoire. Nom de la ressource de version secrète Secret Manager stockant la clé API. Format : Remarque : Vous devez attribuer le rôle |
requestLocation |
Obligatoire. Emplacement de la clé dans la requête. |
OAuthConfig
| Représentation JSON |
|---|
{
"oauthGrantType": enum ( |
| Champs | |
|---|---|
oauthGrantType |
Obligatoire. Types d'attribution OAuth. |
clientId |
Obligatoire. ID client du fournisseur OAuth. |
clientSecretVersion |
Obligatoire. Nom de la ressource de version du secret Secret Manager stockant le code secret du client. Format : Remarque : Vous devez attribuer le rôle |
tokenEndpoint |
Obligatoire. Point de terminaison du jeton dans le fournisseur OAuth pour l'échange d'un jeton d'accès. |
scopes[] |
Facultatif. Champs d'application OAuth à accorder. |
ServiceAccountAuthConfig
| Représentation JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Champs | |
|---|---|
serviceAccount |
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 Le compte de service doit disposer du rôle |
scopes[] |
Facultatif. Champs d'application OAuth à accorder. Si aucune valeur n'est spécifiée, le champ d'application par défaut |
BearerTokenConfig
| Représentation JSON |
|---|
{ "token": string } |
| Champs | |
|---|---|
token |
Obligatoire. Jeton de support. Il doit respecter le format |
ServiceDirectoryConfig
| Représentation JSON |
|---|
{ "service": string } |
| Champs | |
|---|---|
service |
Obligatoire. Nom du service Annuaire des services. Format : |
TlsConfig
| Représentation JSON |
|---|
{
"caCerts": [
{
object ( |
| Champs | |
|---|---|
caCerts[] |
Obligatoire. Indique une liste de certificats CA personnalisés autorisés pour la validation HTTPS. |
CaCert
| Représentation JSON |
|---|
{ "displayName": string, "cert": string } |
| Champs | |
|---|---|
displayName |
Obligatoire. Nom des certificats CA personnalisés autorisés. Cela permet de lever toute ambiguïté concernant les certificats d'autorité de certification personnalisés. |
cert |
Obligatoire. Certificats CA 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 magasin de confiance 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 : Chaîne encodée en base64. |
CustomHeadersEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
McpToolOverride
| Représentation JSON |
|---|
{
"tool": string,
"nameOverride": string,
"descriptionOverride": string,
"snapshot": {
object ( |
| Champs | |
|---|---|
tool |
Obligatoire. Nom d'origine de l'outil tel qu'il est émis par le serveur MCP. |
nameOverride |
Facultatif. Si ce nom est indiqué, l'outil l'utilise dans l'agent à la place du nom d'origine. Il est principalement utilisé comme alias si le serveur MCP propose des outils mal nommés. |
descriptionOverride |
Facultatif. Si elle est présente, cet outil utilise cette description au lieu de la description d'origine du serveur. |
snapshot |
Uniquement en sortie. Si cet outil est présent, il est "épinglé" et utilise les valeurs du snapshot comme valeurs de remplacement si le serveur devient temporairement indisponible ou si aucun remplacement n'est présent. |
McpToolDefinition
| Représentation JSON |
|---|
{ "description": string, "inputSchema": { object ( |
| Champs | |
|---|---|
description |
Uniquement en sortie. Description de l'outil MCP. Cette valeur peut être remplacée par |
inputSchema |
Uniquement en sortie. Schéma des arguments d'entrée de l'outil MCP. |
outputSchema |
Uniquement en sortie. Schéma des arguments de sortie de l'outil MCP. |
Schéma
| Représentation JSON |
|---|
{ "type": enum ( |
| Champs | |
|---|---|
type |
Obligatoire. Type des données. |
properties |
Facultatif. Propriétés de Type.OBJECT. Objet contenant une liste de paires |
required[] |
Facultatif. Propriétés requises de Type.OBJECT. |
description |
Facultatif. Description des données. |
items |
Facultatif. Schéma des éléments de Type.ARRAY. |
nullable |
Facultatif. Indique si la valeur peut être nulle. |
uniqueItems |
Facultatif. Indique que les éléments du tableau doivent être uniques. Ne s'applique qu'à TYPE.ARRAY. |
prefixItems[] |
Facultatif. Schémas des éléments initiaux de Type.ARRAY. |
additionalProperties |
Facultatif. Peut être une valeur booléenne ou un objet. Contrôle la présence de propriétés supplémentaires. |
anyOf[] |
Facultatif. La valeur doit être validée par rapport à l'un ou plusieurs des sous-schémas de la liste. |
enum[] |
Facultatif. Valeurs possibles de l'élément de type primitif avec le format enum. Exemples : 1. Nous pouvons définir la direction comme suit : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Nous pouvons définir le numéro d'appartement comme suit : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Facultatif. Valeur par défaut des données. |
ref |
Facultatif. Permet les références indirectes entre les nœuds de schéma. La valeur doit être une référence valide à un enfant de la racine Par exemple, le schéma suivant définit une référence à un nœud de schéma nommé "Pet" : La valeur de la propriété "pet" est une référence au nœud de schéma nommé "Pet". Pour en savoir plus, consultez https://json-schema.org/understanding-json-schema/structuring. |
defs |
Facultatif. Carte des définitions à utiliser par Objet contenant une liste de paires |
title |
Facultatif. Titre du schéma. |
minItems |
Facultatif. Nombre minimal d'éléments pour Type.ARRAY. |
maxItems |
Facultatif. Nombre maximal d'éléments pour Type.ARRAY. |
Champ d'union
|
|
minimum |
Facultatif. Valeur minimale pour Type.INTEGER et Type.NUMBER. |
Champ d'union
|
|
maximum |
Facultatif. Valeur maximale pour Type.INTEGER et Type.NUMBER. |
PropertiesEntry
| Représentation JSON |
|---|
{
"key": string,
"value": {
object ( |
| Champs | |
|---|---|
key |
|
value |
|
Valeur
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union kind. Type de valeur. kind ne peut être qu'un des éléments suivants : |
|
nullValue |
Représente un |
numberValue |
Représente un nombre JSON. Ne doit pas être |
stringValue |
Représente une chaîne JSON. |
boolValue |
Représente une valeur booléenne JSON (littéral |
structValue |
Représente un objet JSON. |
listValue |
Représente un tableau JSON. |
Struct
| Représentation JSON |
|---|
{ "fields": { string: value, ... } } |
| Champs | |
|---|---|
fields |
Carte non ordonnée de valeurs typées de manière dynamique. Objet contenant une liste de paires |
FieldsEntry
| Représentation JSON |
|---|
{ "key": string, "value": value } |
| Champs | |
|---|---|
key |
|
value |
|
ListValue
| Représentation JSON |
|---|
{ "values": [ value ] } |
| Champs | |
|---|---|
values[] |
Champ répété de valeurs typées de manière dynamique. |
DefsEntry
| Représentation JSON |
|---|
{
"key": string,
"value": {
object ( |
| Champs | |
|---|---|
key |
|
value |
|
OpenApiToolset
| Représentation JSON |
|---|
{ "openApiSchema": string, "apiAuthentication": { object ( |
| Champs | |
|---|---|
openApiSchema |
Obligatoire. Schéma OpenAPI de l'ensemble d'outils. |
apiAuthentication |
Facultatif. Informations d'authentification requises par l'API. |
tlsConfig |
Facultatif. Configuration TLS. Inclut les certificats de serveur personnalisés |
serviceDirectoryConfig |
Facultatif. Configuration de l'annuaire des services. |
ignoreUnknownFields |
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 |
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 ( |
| Champs | |
|---|---|
connection |
Obligatoire. Nom complet de la ressource de la connexion Integration Connectors référencée. Format : |
authConfig |
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 de l'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[] |
Obligatoire. Liste des actions de connecteur/opérations d'entité pour lesquelles générer des outils. |
EndUserAuthConfig
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants : |
|
oauth2AuthCodeConfig |
Authentification par code d'autorisation OAuth 2.0. |
oauth2JwtBearerConfig |
Authentification par attribution d'autorisation OAuth 2.0 avec profil JWT. |
Oauth2AuthCodeConfig
| Représentation JSON |
|---|
{ "oauthToken": string } |
| Champs | |
|---|---|
oauthToken |
Obligatoire. Nom du paramètre de jeton OAuth à transmettre. Il doit respecter le format |
Oauth2JwtBearerConfig
| Représentation JSON |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Champs | |
|---|---|
issuer |
Obligatoire. Nom du paramètre de l'émetteur à transmettre. Il doit respecter le format |
subject |
Obligatoire. Nom du paramètre d'objet à transmettre. Il doit respecter le format |
clientKey |
Obligatoire. Nom du paramètre client à transmettre. Il doit respecter le format |
Action
| Représentation JSON |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Champs | |
|---|---|
inputFields[] |
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[] |
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 |
ID d'une action de connexion que l'outil doit utiliser. |
entityOperation |
Configuration de l'opération d'entité à utiliser par l'outil. |
EntityOperation
| Représentation JSON |
|---|
{
"entityId": string,
"operation": enum ( |
| Champs | |
|---|---|
entityId |
Obligatoire. ID de l'entité. |
operation |
Obligatoire. Opération à effectuer sur l'entité. |
Durée
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Secondes signées de la période. La valeur doit être comprise entre -315 576 000 000 et +315 576 000 000 (inclus). Remarque : Ces limites sont calculées à partir de : 60 s/min * 60 min/h * 24 h/jour * 365,25 jours/an * 10 000 ans. |
nanos |
Fractions de secondes signées avec une précision de l'ordre de la nanoseconde pour la durée. Les durées inférieures à une seconde sont représentées par un champ |
Horodatage
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
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 |
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 |
| Champs | |
|---|---|
enableFakeMode |
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 |
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 |
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. |
RequestLocation
Emplacement de la clé API dans la requête.
| Enums | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Non spécifié. Cette valeur ne doit pas être utilisée. |
HEADER |
Représente la clé dans l'en-tête HTTP. |
QUERY_STRING |
Représente la clé dans la chaîne de requête. |
OauthGrantType
Types d'attribution OAuth. Seule l'attribution d'identifiants client est acceptée.
| Enums | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Non spécifié. La valeur par défaut est CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Représente le flux d'identifiants client. |
Type
Types de données OpenAPI.
| Enums | |
|---|---|
TYPE_UNSPECIFIED |
Type non spécifié |
STRING |
Type de chaîne. |
INTEGER |
Type entier. |
NUMBER |
Type de nombre. |
BOOLEAN |
Type booléen. |
OBJECT |
Type d'objet. |
ARRAY |
Type de tableau. |
NullValue
Représente un null JSON.
NullValue est une sentinelle qui utilise une énumération avec une seule valeur pour représenter la valeur nulle de l'union de type Value.
Un champ de type NullValue avec une valeur autre que 0 est considéré comme non valide. La plupart des sérialiseurs ProtoJSON émettent un Value avec un null_value défini comme null JSON, quelle que soit la valeur entière, et effectuent donc un aller-retour vers une valeur 0.
| Enums | |
|---|---|
NULL_VALUE |
Valeur nulle. |
OperationType
Opération à effectuer sur l'entité.
| Enums | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
Type d'opération non spécifié. Non valide. La création ou la mise à jour de ConnectorTool échouera. |
LIST |
Opération de liste. |
GET |
Obtenir une opération. |
CREATE |
Opération de création. |
UPDATE |
Opération de mise à jour. |
DELETE |
Supprimer une opération. |
ExecutionType
Type d'exécution de l'outil ou de l'ensemble d'outils.
| Enums | |
|---|---|
EXECUTION_TYPE_UNSPECIFIED |
Le type d'exécution n'est pas spécifié. Prend la valeur SYNCHRONOUS par défaut s'il n'est pas spécifié. |
SYNCHRONOUS |
L'outil est exécuté de manière synchrone. La session est bloquée jusqu'à ce que l'outil renvoie une réponse. |
ASYNCHRONOUS |
L'outil est exécuté de manière asynchrone. La session se poursuivra pendant l'exécution de l'outil. |
Annotations d'outils
Indication de destruction : ✅ | Indication d'idempotence : ❌ | Indication de lecture seule : ❌ | Indication de monde ouvert : ❌