Dataform MCP 伺服器提供與 Dataform 互動的工具。
Model Context Protocol (MCP) 伺服器可做為代理伺服器,在外部服務與大型語言模型 (LLM) 或 AI 應用程式之間傳遞脈絡、資料或功能。MCP 伺服器可將 AI 應用程式連結至資料庫和 Web 服務等外部系統,並將系統回覆轉換成 AI 應用程式可理解的格式。
伺服器設定
您必須先啟用 MCP 伺服器並設定驗證,才能使用這項功能。如要進一步瞭解如何使用 Google 和 Google Cloud 遠端 MCP 伺服器,請參閱 Google Cloud MCP 伺服器總覽。
伺服器端點
MCP 服務端點是 MCP 伺服器的網路位址和通訊介面 (通常是網址),AI 應用程式 (MCP 用戶端的主機) 會使用這個端點建立安全標準連線。這是 LLM 請求情境、呼叫工具或存取資源的聯絡點。Google MCP 端點可以是全域或區域。
Dataform API MCP 伺服器具有下列全域 MCP 端點:
- https://dataform.googleapis.com/mcp
MCP 工具
MCP 工具是 MCP 伺服器向 LLM 或 AI 應用程式公開的函式或可執行功能,可在現實世界中執行動作。
工具
dataform.googleapis.com MCP 伺服器提供下列工具:
| MCP 工具 | |
|---|---|
list_repositories |
列出指定 Google Cloud 雲端專案和位置中的 Dataform 存放區。
|
create_repository |
在指定的 Google Cloud 雲端專案和位置中,建立新的 Dataform 存放區。 這個工具會建立所有其他轉換資產 (例如編譯結果和工作流程設定) 所需的根資源。您必須先建立存放區,才能使用任何其他 Dataform MCP 工具。啟用這項工具是設定 Dataform 專案的第一步。
如要在新存放區中保留未設定的 |
commit_repository_changes |
套用 Git 提交,記錄 Dataform 存放區中的檔案狀態。 這項工具主要用於管理直接位於存放區中的單一檔案資產,例如筆記本或已儲存的查詢。在需要工作區的典型管道工作流程中,不會使用這項工具。 請勿在連線至遠端 Git 主機的存放區中使用這項工具。如要驗證,請使用 這項提交動作會在存放區的內部 Git 記錄中建立永久項目。
|
read_repository_file |
傳回 Dataform 存放區內檔案的內容。 這個工具不適用於標準管道開發作業。這個介面適用於直接與存放區互動,通常用於管理單一檔案資產,例如筆記本或已儲存的查詢。 請勿在連線至遠端 Git 主機的存放區中使用這項工具。如要驗證,請使用
|
query_repository_directory_contents |
傳回指定 Dataform 存放區目錄的內容。 這項工具主要用於直接在存放區中列出及管理單一檔案資產。 請勿在連線至遠端 Git 主機的存放區中使用這項工具。如要驗證,請使用
|
list_workflow_configs |
列出指定 Dataform 存放區中的工作流程設定。
|
get_workflow_config |
擷取單一 Dataform 工作流程設定。
|
create_workflow_config |
在指定的 Dataform 存放區中建立新的工作流程設定。
工作流程設定會將 事前準備:您必須先使用 透過這項工作流程設定建立的工作流程調用作業,會以自訂服務帳戶執行。如要指定這個服務帳戶,請設定 |
update_workflow_config |
更新現有 Dataform 工作流程設定的屬性,例如執行排程 (cron)、相關聯的發布版本設定或叫用覆寫。 修改
每次更新都必須提供 透過這項工作流程設定建立的工作流程調用作業,會以自訂服務帳戶執行。如要指定這個服務帳戶,請設定 |
list_release_configs |
列出指定 Dataform 存放區中的版本設定。
|
get_release_config |
擷取單一 Dataform 發布版本設定。
|
create_release_config |
在指定的 Dataform 存放區中建立新的發布設定。
如果是 Google 代管的存放區,請省略 |
update_release_config |
更新現有的 Dataform 版本設定,做為自動編譯程式碼的範本。 更新 更新由 Google 代管的存放區時,請省略
|
create_compilation_result |
在指定的 Google Cloud 雲端專案和位置中,建立新的 Dataform 編譯結果。 這項工具會將
代理程式可以檢查 使用 必要條件:請先使用 |
list_workflow_invocations |
列出指定 Dataform 存放區中的工作流程叫用。
|
create_workflow_invocation |
在指定的 Dataform 存放區中,建立新的工作流程叫用。
先決條件:如要觸發叫用,請先使用 工作流程呼叫會以服務帳戶執行,該帳戶取決於編譯來源:
服務帳戶不得為預設的 Dataform 服務代理程式。服務帳戶必須具備執行工作流程的必要權限,且使用者必須獲得授權,才能以所選服務帳戶的身分執行作業。這項授權通常是透過「服務帳戶使用者」角色 ( |
cancel_workflow_invocation |
要求安全終止正在執行的 Dataform 工作流程叫用。 這項工具會將取消信號傳送至正在執行的工作流程。不過,如果工作流程中已完成任何 BigQuery 工作、資料表建立作業或斷言,系統不會還原這些項目。
|
get_compilation_result |
擷取單一 Dataform 編譯結果。
|
query_compilation_actions |
傳回指定 Dataform 編譯結果的編譯結果動作。
|
query_workflow_invocation_actions |
傳回特定 Dataform 工作流程叫用的工作流程叫用動作。 這些動作代表構成工作流程的個別 BigQuery 工作、資料表建立作業或斷言。
|
get_workflow_invocation |
擷取單一 Dataform 工作流程叫用。
|
list_workspaces |
列出指定 Dataform 存放區中的開發工作區。 使用這項工具探索現有工作區,然後再執行檔案作業 (使用
|
get_workspace |
擷取單一 Dataform 開發工作區。
如果不知道確切的工作區名稱,請使用 |
create_workspace |
在指定的 Dataform 存放區中建立新的開發工作區。 工作區是存放區的獨立可編輯結帳版本。當您需要跨多個檔案撰寫或修訂管道程式碼,並在提交前驗證程式碼時,請使用工作區。使用 請勿使用 必要條件:必須有父項存放區。
|
query_directory_contents |
傳回 Dataform 工作區中指定目錄的內容。 請先使用這項工具探索有效的檔案路徑,再呼叫
|
search_files |
在 Dataform 工作區中尋找符合搜尋篩選器的檔案和目錄。 在大型存放區中依名稱或副檔名尋找檔案時,請使用這項工具,而非以
|
read_file |
傳回 Dataform 工作區中檔案的內容,包括未提交的變更。 使用這項工具讀取工作區的 如要直接從存放區讀取已提交的檔案,而不使用工作區,請改用
|
write_file |
在 Dataform 工作區中寫入檔案內容,如果檔案不存在,則會建立檔案。 提供的
|
remove_file |
刪除 Dataform 工作區中的檔案。 在呼叫
|
make_directory |
在 Dataform 工作區中建立目錄,包括任何缺少的父項目錄。
|
commit_workspace_changes |
在 Dataform 工作區中,記錄未提交變更的 Git 提交。 在透過 根據預設,系統會提交所有未提交的變更。如要只提交部分檔案,請提供
|
push_git_commits |
將 Dataform 工作區的已提交變更推送至存放區的 Git 遠端。 必要條件:您必須先使用 如果您打算使用
|
get_repository |
擷取單一 Dataform 存放區,包括其 Git 遠端設定、工作區編譯覆寫和預設服務帳戶。 使用這項工具檢查
如果不知道確切的存放區名稱,請使用 |
update_repository |
更新現有 Dataform 存放區的屬性,例如 Git 遠端設定、工作區編譯覆寫或預設服務帳戶。 必要條件:使用 如果省略
|
create_folder |
在指定的 Google Cloud 雲端專案和位置中,建立新的 Dataform 資料夾。 資料夾會將 Dataform 存放區整理成階層結構。建立資料夾不會將任何存放區移入其中。如要將存放區放在資料夾中,請在使用 請勿嘗試使用
|
取得 MCP 工具規格
如要取得 MCP 伺服器中所有工具的 MCP 工具規格,請使用 tools/list 方法。以下範例說明如何使用 curl 列出 MCP 伺服器中目前可用的所有工具及其規格。
| Curl 要求 |
|---|
curl --location 'https://dataform.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/list", "jsonrpc": "2.0", "id": 1 }' |