工具: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_contents 或 search_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 |
必需。工作区的名称。 |
path |
必需。文件的完整路径(包括文件名),相对于工作区根目录。 |
revision |
可选。要返回的文件的 Git 修订版本。如果留空,则返回 |
输出架构
ReadFile 响应消息。
ReadFileResponse
| JSON 表示法 |
|---|
{ "fileContents": string } |
| 字段 | |
|---|---|
fileContents |
相应文件的内容。 使用 base64 编码的字符串。 |
工具注释
工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。
除了标题字符串之外,还定义了以下布尔值提示:
readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界工具,而内存工具不是开放世界工具。
破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌