Outil : read_file
Renvoie le contenu d'un fichier dans un espace de travail Dataform, y compris les modifications non validées.
Utilisez cet outil pour lire le fichier workflow_settings.yaml de l'espace de travail, qui contient les paramètres de compilation du pipeline, tels que l'ensemble de données BigQuery par défaut, l'emplacement par défaut et la version Dataform Core. Ce fichier se trouve à la racine du répertoire du pipeline, qui n'est pas nécessairement la racine de l'espace de travail, car un dépôt peut contenir plusieurs pipelines dans des sous-répertoires. Localisez le fichier à l'aide de l'outil search_files.
Pour lire un fichier validé directement à partir du dépôt sans espace de travail, utilisez plutôt l'outil read_repository_file. Notez que read_repository_file ne fonctionne que sur les dépôts qui ne sont pas connectés à un hôte Git distant.
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 ... Vous pouvez obtenir des chemins d'accès valides à l'aide des outils query_directory_contents ou search_files.
La valeur du paramètre revision permet de sélectionner une révision Git spécifique du fichier (facultatif). Si elle est omise, l'état actuel non validé du fichier est renvoyé.
L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP read_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": "read_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 ReadFile.
ReadFileRequest
| Représentation JSON |
|---|
{ "workspace": string, "path": string, "revision": string } |
| Champs | |
|---|---|
workspace |
Obligatoire. Nom de l'espace de travail. |
path |
Obligatoire. Chemin d'accès complet au fichier, y compris le nom du fichier, par rapport à la racine de l'espace de travail. |
revision |
Facultatif. Révision Git du fichier à renvoyer. Si vous ne spécifiez pas de valeur, le contenu actuel de |
Schéma de sortie
Message de réponse ReadFile.
ReadFileResponse
| Représentation JSON |
|---|
{ "fileContents": string } |
| Champs | |
|---|---|
fileContents |
Contenu du fichier. Chaîne encodée en base64. |
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 d'idempotence : ✅ | Indication de lecture seule : ✅ | Indication de monde ouvert : ❌