MCP Tools Reference: dataform.googleapis.com

Tool: read_file

Return the contents of a file inside a Dataform workspace, including uncommitted changes.

Use this tool to read the workspace's workflow_settings.yaml file, which holds the pipeline's compilation settings such as the default BigQuery dataset, default location, and Dataform core version. This file sits at the root of the pipeline's directory, which is not necessarily the workspace root, as a repository can hold several pipelines in subdirectories. Locate the file with the search_files tool.

To read a committed file directly from the repository without a workspace, use the read_repository_file tool instead. Note that read_repository_file only works on repositories that are not connected to a remote Git host.

The workspace parameter value must be in the format projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.

The path parameter value is the relative path to the file from the workspace root. Do not use directory traversal, such as ... Valid paths can be obtained using the query_directory_contents or search_files tools.

The revision parameter value optionally selects a specific Git revision of the file. If omitted, the current uncommitted state of the file is returned.

The following code sample shows how to use curl to call the read_file MCP tool.

Curl Request
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
}'

Input Schema

ReadFile request message.

ReadFileRequest

JSON representation
{
  "workspace": string,
  "path": string,
  "revision": string
}
Fields
workspace

string

Required. The workspace's name.

path

string

Required. The file's full path including filename, relative to the workspace root.

revision

string

Optional. The Git revision of the file to return. If left empty, the current contents of path will be returned.

Output Schema

ReadFile response message.

ReadFileResponse

JSON representation
{
  "fileContents": string
}
Fields
fileContents

string (bytes format)

The file's contents.

A base64-encoded string.

Tool Annotations

Tool annotations are sent to MCP clients to describe the basic risk of a given tool. Most clients treat these hints as untrusted, but they can be used to decide when a confirmation prompt might be sent to a user.

Along with the title string, the following boolean hints are defined as follows:

  • readOnlyHint: If true, the tool doesn't modify its environment. Default: false.
  • destructiveHint: If true, then the tool can perform destructive actions. If false, then the tool can only perform additive actions. Default: true.
  • idempotentHint: If true, then calling the tool repeatedly with the same arguments will have no additional effect on its environment. Default: false.
  • openWorldHint: If true, then the tool can interact with an 'open world' of external entities. If false, then the tool can only interact with internal entities. For example, a web search tool would be open world, while a memory tool would not be open world.

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌