MCP Tools Reference: dataform.googleapis.com

工具: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

string

這是必要旗標,工作區名稱。

path

string

這是必要旗標,檔案。

contents

string (bytes format)

這是必要旗標,檔案內容。

Base64 編碼字串。

輸出內容的結構定義

WriteFile 回應訊息。

工具註解

工具註解會傳送至 MCP 用戶端,說明特定工具的基本風險。大多數用戶端會將這些提示視為不受信任,但可用於決定何時向使用者傳送確認提示。

除了標題字串外,以下布林提示的定義如下:

  • readOnlyHint:如果為 true,工具不會修改環境。預設值:false。
  • destructiveHint:如果為 true,工具可以執行破壞性動作。如果為 false,工具只能執行加法動作。預設值:true。
  • idempotentHint:如果為 true,以相同引數重複呼叫工具,對環境不會有額外影響。預設值:false。
  • openWorldHint:設為 true 時,工具可以與外部實體的「開放世界」互動。如果為 false,工具只能與內部實體互動。舉例來說,網頁搜尋工具屬於開放世界,記憶體工具則不屬於開放世界。

破壞性提示:✅ | 等冪提示:✅ | 唯讀提示:❌ | 開放世界提示:❌