Outil : get_operation
Obtient l'état d'une opération de longue durée.
Utilisation : certains outils (par exemple, run_evaluation) renvoient une opération de longue durée. Vous pouvez utiliser cet outil pour obtenir l'état de l'opération. Elle peut être appelée à plusieurs reprises pour interroger l'état d'une opération de longue durée.
Paramètres * name : nom de l'opération à obtenir. * name doit être le nom renvoyé par l'outil qui a lancé l'opération. * name doit être au format projects/{project}/locations/{location}/operations/{operation}.
L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP get_operation.
| 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": "get_operation", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schéma d'entrée
Message de requête pour Operations.GetOperation.
GetOperationRequest
| Représentation JSON |
|---|
{ "name": string } |
| Champs | |
|---|---|
name |
Nom de la ressource de l'opération. |
Schéma de sortie
Cette ressource représente une opération de longue durée résultant d'un appel d'API réseau.
Opération
| Représentation JSON |
|---|
{ "name": string, "metadata": { "@type": string, field1: ..., ... }, "done": boolean, // Union field |
| Champs | |
|---|---|
name |
Nom attribué par le serveur. Unique au sein du service qui le renvoie initialement. Si vous utilisez le mappage HTTP par défaut, le champ |
metadata |
Métadonnées spécifiques au service associées à l'opération. Ce champ contient généralement des informations de progression et des métadonnées courantes telles que la date de création. Certains services peuvent ne pas fournir ce genre de métadonnées. Toute méthode renvoyant une opération de longue durée doit indiquer le type de métadonnées, le cas échéant. Objet contenant des champs d'un type arbitraire. Un champ supplémentaire |
done |
Si la valeur est |
Champ d'union result. Résultat de l'opération, qui peut être une erreur (message error) ou une réponse valide (message response). Si done == false, ni error, ni response ne sont définis. Si done == true, une seule des options error ou response peut être définie. Certains services peuvent ne pas fournir le résultat. result ne peut être qu'un des éléments suivants : |
|
error |
Résultat d'erreur de l'opération en cas d'échec ou d'annulation. |
response |
Réponse normale indiquant la réussite de l'opération. Si la méthode d'origine ne renvoie aucune donnée en cas de réussite (telle que Objet contenant des champs d'un type arbitraire. Un champ supplémentaire |
Tous
| Représentation JSON |
|---|
{ "typeUrl": string, "value": string } |
| Champs | |
|---|---|
typeUrl |
Identifie le type du message Protobuf sérialisé avec une référence URI composée d'un préfixe se terminant par une barre oblique et du nom de type complet. Exemple : type.googleapis.com/google.protobuf.StringValue Cette chaîne doit contenir au moins un caractère Le préfixe est arbitraire et les implémentations Protobuf sont censées supprimer tout ce qui précède le dernier Toutes les chaînes d'URL de type doivent être des références URI valides, avec la restriction supplémentaire (pour le format texte) que le contenu de la référence ne doit comporter que des caractères alphanumériques, des séquences d'échappement encodées en pourcentage et des caractères de l'ensemble suivant (sans les accents graves extérieurs) : Dans la conception d'origine de |
value |
Contient une sérialisation Protobuf du type décrit par type_url. Chaîne encodée en base64. |
État
| Représentation JSON |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Champs | |
|---|---|
code |
Code d'état, qui doit être une valeur d'énumération de |
message |
Message d'erreur destiné au développeur, qui doit être en anglais. Tout message d'erreur destiné aux utilisateurs doit être localisé et envoyé dans le champ |
details[] |
Liste de messages comportant les détails de l'erreur. Il existe un ensemble commun de types de message utilisable par les API. Objet contenant des champs d'un type arbitraire. Un champ supplémentaire |
Annotations d'outils
Les annotations d'outil sont envoyées aux clients MCP pour décrire le risque de base d'un outil donné. La plupart des clients traitent ces indices comme non fiables, mais ils peuvent être utilisés pour déterminer quand un message de confirmation peut être envoyé à un utilisateur.
En plus de la chaîne de titre, les indications booléennes suivantes sont définies comme suit :
readOnlyHint: si la valeur est "true", l'outil ne modifie pas son environnement. Valeur par défaut : "false".destructiveHint: si la valeur est "true", l'outil peut effectuer des actions destructrices. Si la valeur est "false", l'outil ne peut effectuer que des actions d'ajout. Valeur par défaut : "true".idempotentHint: si la valeur est "true", appeler l'outil à plusieurs reprises avec les mêmes arguments n'aura aucun effet supplémentaire sur son environnement. Valeur par défaut : "false".openWorldHint: si la valeur est "true", l'outil peut interagir avec un "monde ouvert" d'entités externes. Si la valeur est "false", l'outil ne peut interagir qu'avec des entités internes. Par exemple, un outil de recherche Web serait en monde ouvert, tandis qu'un outil de mémoire ne le serait pas.
Indication destructive : ❌ | Indication idempotente : ✅ | Indication en lecture seule : ✅ | Indication Open World : ❌