Outil : get_toolset
Accède aux détails de l'ensemble d'outils spécifié.
L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP get_toolset.
| 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": "get_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.GetToolset.
GetToolsetRequest
| Représentation JSON |
|---|
{ "name": string } |
| Champs | |
|---|---|
name |
Obligatoire. Nom de ressource de l'ensemble d'outils à récupérer. |
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, "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. |
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 factice. |
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 une liste d'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. |
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. 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 |
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 |
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 ( |
| 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 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[] |
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 de sujet à 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é. |
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. |
Annotations d'outils
Indication destructive : ❌ | Indication idempotente : ✅ | Indication en lecture seule : ✅ | Indication Open World : ❌