Outil : write_file
Écrivez le contenu d'un fichier dans un espace de travail Dataform, en créant le fichier s'il n'existe pas.
La valeur du paramètre contents fourni remplace l'intégralité du fichier. Par conséquent, lisez le contenu actuel avec l'outil read_file avant d'effectuer une modification partielle. Les modifications restent non validées jusqu'à ce que l'outil commit_workspace_changes soit appelé.
La valeur du paramètre workspace doit être au format projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.
La valeur de paramètre path correspond au chemin relatif au fichier à partir de la racine de l'espace de travail. N'utilisez pas de traversée de répertoire, comme ...
La valeur du paramètre contents doit être une chaîne encodée en base64 contenant le contenu du fichier.
L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP write_file.
| Requête curl |
|---|
curl --location 'https://dataform.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "write_file", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schéma d'entrée
Message de requête WriteFile.
WriteFileRequest
| Représentation JSON |
|---|
{ "workspace": string, "path": string, "contents": string } |
| Champs | |
|---|---|
workspace |
Obligatoire. Nom de l'espace de travail. |
path |
Obligatoire. Le fichier. |
contents |
Obligatoire. Contenu du fichier. Chaîne encodée en base64. |
Schéma de sortie
Message de réponse WriteFile.
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 : ❌