MCP Tools Reference: dataform.googleapis.com

工具:read_file

返回 Dataform 工作区内文件的内容,包括未提交的更改。

使用此工具读取工作区的 workflow_settings.yaml 文件,该文件包含流水线的编译设置,例如默认 BigQuery 数据集、默认位置和 Dataform 核心版本。此文件位于流水线目录的根目录中,该目录不一定是工作区根目录,因为一个代码库可以在子目录中包含多个流水线。使用 search_files 工具找到相应文件。

如需直接从代码库读取已提交的文件,而无需工作区,请改用 read_repository_file 工具。请注意,read_repository_file 仅适用于未连接到远程 Git 主机的代码库。

workspace 参数值必须采用 projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace} 格式。

path 参数值是相对于工作区根目录的文件相对路径。请勿使用目录遍历,例如 ..。您可以使用 query_directory_contentssearch_files 工具获取有效路径。

revision 参数值可以选择性地指定文件的特定 Git 修订版本。如果省略,则返回文件的当前未提交状态。

以下代码示例展示了如何使用 curl 调用 read_file MCP 工具。

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

输入架构

ReadFile 请求消息。

ReadFileRequest

JSON 表示法
{
  "workspace": string,
  "path": string,
  "revision": string
}
字段
workspace

string

必需。工作区的名称。

path

string

必需。文件的完整路径(包括文件名),相对于工作区根目录。

revision

string

可选。要返回的文件的 Git 修订版本。如果留空,则返回 path 的当前内容。

输出架构

ReadFile 响应消息。

ReadFileResponse

JSON 表示法
{
  "fileContents": string
}
字段
fileContents

string (bytes format)

相应文件的内容。

使用 base64 编码的字符串。

工具注释

工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。

除了标题字符串之外,还定义了以下布尔值提示:

  • readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。
  • destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。
  • idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。
  • openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界工具,而内存工具不是开放世界工具。

破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌