工具:write_file
将 Dataform 工作区中文件的内容写入文件,如果该文件不存在,则创建该文件。
提供的 contents 参数值会替换整个文件,因此在进行部分修改之前,请使用 read_file 工具读取当前内容。在调用 commit_workspace_changes 工具之前,更改会一直处于未提交状态。
workspace 参数值必须采用 projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace} 格式。
path 参数值是相对于工作区根目录的文件相对路径。请勿使用目录遍历,例如 ..。
contents 参数值必须是包含文件内容的 base64 编码字符串。
以下代码示例展示了如何使用 curl 调用 write_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": "write_file", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
WriteFile 请求消息。
WriteFileRequest
| JSON 表示法 |
|---|
{ "workspace": string, "path": string, "contents": string } |
| 字段 | |
|---|---|
workspace |
必需。工作区的名称。 |
path |
必需。文件。 |
contents |
必需。文件的内容。 使用 base64 编码的字符串。 |
输出架构
WriteFile 响应消息。
工具注释
工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。
除了标题字符串之外,还定义了以下布尔值提示:
readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界工具,而内存工具不是开放世界工具。
破坏性提示:✅ | 等幂性提示:✅ | 只读提示:❌ | 开放世界提示:❌