Herramienta: read_file
Devuelve el contenido de un archivo dentro de un lugar de trabajo de Dataform, incluidos los cambios no confirmados.
Usa esta herramienta para leer el archivo workflow_settings.yaml del espacio de trabajo, que contiene la configuración de compilación de la canalización, como el conjunto de datos predeterminado de BigQuery, la ubicación predeterminada y la versión principal de Dataform. Este archivo se encuentra en la raíz del directorio de la canalización, que no necesariamente es la raíz del espacio de trabajo, ya que un repositorio puede contener varias canalizaciones en subdirectorios. Ubica el archivo con la herramienta search_files.
Para leer un archivo confirmado directamente desde el repositorio sin un espacio de trabajo, usa la herramienta read_repository_file. Ten en cuenta que read_repository_file solo funciona en repositorios que no están conectados a un host remoto de Git.
El valor del parámetro workspace debe tener el formato projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.
El valor del parámetro path es la ruta de acceso relativa al archivo desde la raíz del espacio de trabajo. No uses la transversalidad de directorios, como ... Las rutas válidas se pueden obtener con las herramientas query_directory_contents o search_files.
El valor del parámetro revision selecciona de forma opcional una revisión de Git específica del archivo. Si se omite, se devuelve el estado actual sin confirmar del archivo.
En la siguiente muestra de código, se muestra cómo usar curl para llamar a la herramienta de MCP read_file.
| Solicitud de 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 }' |
Esquema de entrada
Mensaje de solicitud de ReadFile.
ReadFileRequest
| Representación JSON |
|---|
{ "workspace": string, "path": string, "revision": string } |
| Campos | |
|---|---|
workspace |
Obligatorio. Es el nombre del espacio de trabajo. |
path |
Obligatorio. Ruta de acceso completa del archivo, incluido el nombre, en relación con la raíz del espacio de trabajo. |
revision |
Es opcional. Es la revisión de Git del archivo que se devolverá. Si se deja vacío, se mostrará el contenido actual de |
Esquema de salida
Mensaje de respuesta de ReadFile.
ReadFileResponse
| Representación JSON |
|---|
{ "fileContents": string } |
| Campos | |
|---|---|
fileContents |
Contenido del archivo Es una cadena codificada en Base64. |
Anotaciones de herramientas
Las anotaciones de herramientas se envían a los clientes de MCP para describir el riesgo básico de una herramienta determinada. La mayoría de los clientes tratan estas sugerencias como no confiables, pero se pueden usar para decidir cuándo se le puede enviar un mensaje de confirmación a un usuario.
Junto con la cadena de título, se definen las siguientes sugerencias booleanas:
readOnlyHint: Si es verdadero, la herramienta no modifica su entorno. Valor predeterminado: false.destructiveHint: Si es verdadero, la herramienta puede realizar acciones destructivas. Si es falso, la herramienta solo puede realizar acciones aditivas. Valor predeterminado: true.idempotentHint: Si es verdadero, llamar a la herramienta de forma repetida con los mismos argumentos no tendrá ningún efecto adicional en su entorno. Valor predeterminado: false.openWorldHint: Si es verdadero, la herramienta puede interactuar con un "mundo abierto" de entidades externas. Si es falso, la herramienta solo puede interactuar con entidades internas. Por ejemplo, una herramienta de búsqueda web sería de mundo abierto, mientras que una herramienta de memoria no lo sería.
Sugerencia destructiva: ❌ | Sugerencia idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌