MCP Tools Reference: dataform.googleapis.com

工具:read_file

傳回 Dataform 工作區中檔案的內容,包括未提交的變更。

使用這項工具讀取工作區的 workflow_settings.yaml 檔案,其中包含管道的編譯設定,例如預設 BigQuery 資料集、預設位置和 Dataform Core 版本。這個檔案位於管道目錄的根目錄,不一定是工作區根目錄,因為存放區可以在子目錄中保存多個管道。使用 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,工具只能與內部實體互動。舉例來說,網頁搜尋工具屬於開放世界,記憶體工具則不屬於開放世界。

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