工具: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,工具只能與內部實體互動。舉例來說,網頁搜尋工具屬於開放世界,記憶體工具則不屬於開放世界。
破壞性提示:✅ | 等冪提示:✅ | 唯讀提示:❌ | 開放世界提示:❌