使用 Dataform 遠端 MCP 伺服器

本文說明如何使用 Dataform 遠端 Model Context Protocol (MCP) 伺服器,連結 Antigravity、ChatGPT、Claude 等 AI 應用程式,以及您正在開發的自訂應用程式。您可以使用 Dataform 遠端 MCP 伺服器執行多項工作,例如管理單一檔案資產、在開發工作區編寫 pipeline 程式碼、自動化調度管理 pipeline,以及排解執行失敗問題。啟用 Dataform API 時,Dataform 遠端 MCP 伺服器會一併啟用。

Model Context Protocol (MCP) 規範了大型語言模型 (LLM) 和 AI 應用程式或代理與外部資料來源的標準連線方式。MCP 伺服器可讓您使用其工具、資源和提示,從後端服務採取行動並取得更新資料。

本機和遠端 MCP 伺服器有何不同?

本機 MCP 伺服器
通常在本機電腦上執行,並使用標準輸入內容和輸出串流 (stdio),在同一部裝置上的服務之間通訊。
遠端 MCP 伺服器
在服務的基礎架構上執行,並為 AI 應用程式提供 HTTP 端點,以便 AI MCP 用戶端與 MCP 伺服器之間通訊。如要進一步瞭解 MCP 架構,請參閱「MCP 架構」。

無狀態核心

在 MCP 2026-07-28 版中,MCP 從雙向有狀態通訊協定變更為無狀態通訊協定。每項 MCP 要求都包含自我描述,並可使用標頭轉送。由於每個要求都包含 HTTP 標頭或 _meta 參數中所需的所有資訊,因此不需要 initialize/initialized 握手或 Mcp-Session-Id。MCP 伺服器可透過多來回要求 (MRTR),要求工具所需的額外資訊。

為協助轉送及處理要求,而不剖析要求主體,必須提供部分 MCP 標頭,包括:

  • MCP 規格要求的標頭,例如通訊協定版本標頭和標準要求標頭。
  • MCP 伺服器定義的自訂標頭。這些標頭會使用 x-mcp-header 屬性,從工具的輸入結構定義鏡像至 HTTP 標頭。舉例來說,MCP 伺服器可能會定義自訂標頭,指定 Google Cloud 區域或專案 ID。

如要進一步瞭解 MCP 架構,請參閱 MCP 2026-07-28 版規格和主要異動。

Google 和 Google Cloud 遠端 MCP 伺服器

Google 和 Google Cloud 遠端 MCP 伺服器具有下列功能和優點:

  • 簡化集中探索
  • 代管的全域或區域 HTTP 端點
  • 精細授權
  • 選用 Model Armor 保護提示詞和回覆
  • 集中化稽核記錄

如要瞭解其他 MCP 伺服器,以及 Google Cloud MCP 伺服器的安全性和管理控制項,請參閱「Google Cloud MCP 伺服器總覽」。

事前準備

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  5. 將 Dataform 存放區連結至 Git 供應商,例如 GitHub 或 GitLab。詳情請參閱「連線至第三方 Git 存放區」。
  6. 使用 BigQuery 範圍,為 AI 代理設定有效的 OAuth 權杖。

必要的角色

如要取得使用 Dataform MCP 伺服器所需的權限,請要求管理員授予您 Google Cloud 專案的下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備使用 Dataform MCP 伺服器所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

您必須具備下列權限,才能使用 Dataform MCP 伺服器:

  • 發出 MCP 工具呼叫:mcp.tools.call
  • 建立 Dataform 存放區、工作區及編輯檔案:
    • dataform.workspaces.create
    • dataform.workspaces.get
    • dataform.workspaces.list
    • dataform.workspaces.delete
    • dataform.workspaces.readFile
    • dataform.workspaces.writeFile
    • dataform.workspaces.moveFile
    • dataform.workspaces.removeFile
    • dataform.workspaces.queryDirectoryContents
    • dataform.workspaces.searchFiles
    • dataform.workspaces.commit
    • dataform.workspaces.push
    • dataform.workspaces.pull
    • dataform.workspaces.fetchHistory
    • dataform.workspaces.fetchDiff
    • dataform.workspaces.fetchFileGitStatuses
    • dataform.compilationResults.create
    • dataform.compilationResults.get
    • dataform.compilationResults.list
    • dataform.workflowInvocations.create
    • dataform.workflowInvocations.get
    • dataform.workflowInvocations.list
    • dataform.repositories.get
    • dataform.repositories.list
    • dataform.repositories.update
    • dataform.folders.create
    • dataform.locations.get
    • dataform.locations.list
  • 執行 BigQuery 工作:
    • bigquery.jobs.create
    • bigquery.config.get

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

驗證及授權

Dataform 遠端 MCP 伺服器使用 OAuth 2.0 通訊協定和 Identity and Access Management (IAM) 進行驗證和授權。所有Google Cloud 身分都支援 MCP 伺服器驗證。

Dataform MCP 伺服器透過下列驗證和授權機制管理存取權:

  • 探索 (tools/list) 要求不需要驗證,因此代理可以識別可用的 Dataform 工具,不需事先取得授權。
  • 執行 (tools/call) 要求會使用 OAuth 進行驗證,代理必須提供使用 BigQuery 範圍的有效 OAuth 權杖。詳情請參閱「Dataform MCP OAuth 範圍」。

建議您為使用 MCP 工具的代理建立獨立身分,以便控管及監控資源存取權。如要進一步瞭解驗證,請參閱「向 MCP 伺服器驗證」。

Dataform MCP OAuth 範圍

OAuth 2.0 會使用範圍和憑證,判斷通過驗證的主體是否有權對資源執行特定動作。如要進一步瞭解 Google 的 OAuth 2.0 範圍,請參閱「使用 OAuth 2.0 存取 Google API」。

如要與 Dataform MCP 伺服器互動,代理必須使用 BigQuery OAuth 範圍。這個範圍可讓代理管理轉換程式碼,並觸發以 BigQuery 工作形式執行的作業。

在工具呼叫期間存取的資源,可能需要額外的範圍。如要查看 Dataform 所需的範圍清單,請參閱「Dataform API」。

設定 MCP 用戶端,使用 Dataform MCP 伺服器

AI 應用程式和代理 (例如 Claude 或 Antigravity) 可例項化 MCP 用戶端,連至單一 MCP 伺服器。AI 應用程式可以有多個用戶端,連線至不同的 MCP 伺服器。如果用戶端專屬指南中未列出您的應用程式,則可使用下列資訊,從大多數應用程式連線。

在 AI 應用程式中,找出新增或連線至遠端 MCP 伺服器的方法。針對 Dataform MCP 伺服器,執行下列操作:

  • 伺服器名稱:Dataform MCP 伺服器
  • 伺服器網址或端點:https://dataform.REGION.rep.googleapis.com/mcp

    將 REGION 替換為存放區所在區域,例如 us-central1。

  • 傳輸:可串流 HTTP

  • 驗證詳細資料:視您要採用的驗證方式而定,您可以輸入 Google Cloud 憑證、OAuth 用戶端 ID 和密鑰,或代理身分和憑證。如要進一步瞭解驗證,請參閱「向 MCP 伺服器驗證」。

  • OAuth 範圍:連線至 Dataform MCP 伺服器時要使用的 OAuth 2.0 範圍。

如需設定及連線至 MCP 伺服器的應用程式專屬指引,請參閱「用戶端專屬指引」。

如需一般指引,請參閱下列資源:

代理能力

Dataform MCP 伺服器提供一組工具,可讓 AI 代理透過 Dataform API 呼叫,與資料轉換工作流程互動及偵錯。伺服器提供工具,可執行下列操作:

  • 編寫管道程式碼。代理可以建立及列出開發工作區、搜尋及編輯多個檔案,以及將變更提交或推送至遠端 Git 供應商,例如 GitHub 或 GitLab。
  • 設定單一檔案素材資源。代理會管理基本資源設定,包括建立存放區和查詢目錄內容。
  • 管理管道和版本。代理會管理工作流程和發布設定、產生編譯結果,以及觸發或取消工作流程叫用。
  • 疑難排解和驗證。代理會擷取編譯結果,並查詢工作流程叫用動作,找出管道失敗的原因。

如果存放區已連線至遠端 Git 主機,代理必須使用 create_workspace 和 commit_workspace_changes 等工作區工具,才能開發管道。直接存放區工具在這些存放區中會失敗,因為這類工具僅適用於 Google 代管存放區中的單一檔案資產。

可用的工具

如要查看 Dataform MCP 伺服器的可用 MCP 工具詳細資料和說明,請參閱 Dataform MCP 參考資料。

清單工具

使用 MCP 檢查器列出工具,或直接將 tools/list HTTP 要求傳送至 Dataform 遠端 MCP 伺服器。tools/list 方法不需要驗證。

curl -X POST https://dataform.googleapis.com/TOOLSET_ENDPOINT \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'MCP-Protocol-Version: MCP_PROTOCOL_VERSION' \
    -H 'Mcp-Method: tools/list' \
    -d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "tools/list",
      "params": {
        "_meta": {
          "io.modelcontextprotocol/protocolVersion": "MCP_PROTOCOL_VERSION",
          "io.modelcontextprotocol/clientCapabilities": {
            "extensions": {
              "io.modelcontextprotocol/ui": {
                "mimeTypes": ["text/html;profile=mcp-app"]
              }
            }
          }
        }
      }
    }'

更改下列內容:

  • TOOLSET_ENDPOINT:服務名稱後方的 MCP 端點其餘部分。舉例來說,Dataform 的網址可能是 mcp/toolset-name。
  • MCP_PROTOCOL_VERSION:MCP 通訊協定版本。例如:2026-07-28。

提示範例

您可以使用下列提示範例,取得 Dataform 資源相關資訊、在工作區編寫管道程式碼、自動化調度管理工作流程,或排解執行問題:

  • 「在專案 PROJECT_ID 中建立名為 REPOSITORY_ID 的新 Dataform 存放區。」
  • 「在我的專案中建立名為 FOLDER_NAME 的新資料夾。」
  • 「在我的存放區中建立名為 WORKSPACE_NAME 的新工作區。」
  • 「在我的工作區中搜尋名為『FILE_NAME』的檔案。」
  • 「讀取我工作區中 FILE_NAME 的內容。」
  • 「提交工作區變更,並推送至遠端 Git 分支版本。」
  • 「在專案 PROJECT_ID 中建立新的筆記本資產。」
  • 「將變更提交至 REPOSITORY_ID 中已儲存的查詢。」
  • 「建立工作流程設定,排定每天上午 8:00 執行 pipeline。」
  • 「觸發 WORKFLOW_CONFIGURATION_ID 工作流程設定的新執行作業。」
  • 「檢查我最近的管道執行狀態,並告訴我是否有任何失敗,包括錯誤詳細資料。」
  • 「顯示失敗的特定執行作業詳細資料。」
  • 「列出 PROJECT_ID 專案 REGION 區域中的所有 Dataform 存放區。」
  • 「取消存放區 REPOSITORY_ID 中名為 WORKFLOW_INVOCATION_ID 的工作流程叫用,該叫用目前正在執行。」

在提示中,請替換下列內容:

  • FILE_NAME:檔案名稱。
  • FOLDER_NAME:資料夾名稱。
  • PROJECT_ID: Google Cloud 專案 ID。
  • REGION:區域名稱。
  • REPOSITORY_ID:Dataform 存放區的專屬 ID,例如 quickstart-repository。
  • WORKFLOW_CONFIGURATION_ID:工作流程設定的專屬 ID。
  • WORKFLOW_INVOCATION_ID:特定工作流程執行的專屬 ID。您可以從 workflowInvocations.list 要求的結果,或 workflowInvocations.create 回應的 name 欄位取得這個 ID。
  • WORKSPACE_NAME:工作區名稱。

選用安全性和安全防護設定

MCP 工具可執行的動作繁多,因此會帶來新的安全風險和考量。為盡可能降低及管理這些風險,Google Cloud 提供預設設定和可自訂的政策,控管 Google Cloud 組織或專案中的 MCP 工具使用情形。

如要進一步瞭解 MCP 安全性和管理,請參閱「AI 安全性」。

使用 Model Armor

Model Armor 是一項Google Cloud 服務,可提高 AI 應用程式的安全性。這項服務會主動篩選 LLM 提示詞和回覆,防範各種風險,並確保採行負責任的 AI 做法。無論您是在雲端環境或外部雲端服務供應商部署 AI,Model Armor 都能協助您防範惡意輸入、驗證內容安全性、保護機密資料、維持法規遵循,並在多元的 AI 環境中,一致地強制執行 AI 安全性和安全性政策。

啟用 Model Armor 並啟用記錄功能後,Model Armor 會記錄整個酬載。這可能會導致記錄中的機密資訊外洩。

MCP 要求轉送至 Model Armor

Dataform MCP 伺服器會使用跨管轄區轉送。啟用 Model Armor 後,MCP 伺服器會將所有要求傳送至 Model Armor 進行篩選。跨管轄區轉送可能會違反現有的資料落地法規遵循承諾,影響使用中和傳輸中的資料。如要進一步瞭解其他 MCP 伺服器的行為,請參閱「Model Armor 支援的產品」。

啟用 Model Armor

您必須先啟用 Model Armor API,才能使用 Model Armor。

控制台

  1. 啟用 Model Armor API (如果尚未啟用)。

    啟用 API 所需的角色

    您必須具備 serviceusage.services.enable 權限,才能啟用 API。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「Service Usage 管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。

    啟用 API

  2. 選取要啟用 Model Armor 的專案。

gcloud

開始之前,請按照下列步驟,搭配使用 Google Cloud CLI 和 Model Armor API:

  1. 安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。 登入後,執行下列指令來初始化 Google Cloud CLI:

    gcloud init

  2. 執行下列指令,設定 Model Armor 服務的 API 端點。

    gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"

    將 LOCATION 替換為要使用 Model Armor 的區域。

設定 Google 和 Google Cloud 遠端 MCP 伺服器的保護措施

如要保護 MCP 工具呼叫和回覆,可以使用 Model Armor 底限設定。底限設定會定義適用於整個專案的最低安全性篩選器。這項設定會對專案中的所有 MCP 工具呼叫和回覆,套用一組一致的篩選器。

設定 Model Armor 底限,並啟用 MCP 清理功能。詳情請參閱「設定 Model Armor 底限設定」。

請參閱以下範例指令:

gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--enable-floor-setting-enforcement=TRUE \
--add-integrated-services=GOOGLE_MCP_SERVER \
--google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \
--enable-google-mcp-server-cloud-logging \
--malicious-uri-filter-settings-enforcement=ENABLED \
--add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'

將 PROJECT_ID 替換為 Google Cloud 專案 ID。

請注意下列設定:

  • INSPECT_AND_BLOCK:這個強制執行類型會檢查 Google MCP 伺服器的內容,並封鎖符合篩選條件的提示和回覆。
  • ENABLED:啟用篩選器或違規處置的設定。
  • MEDIUM_AND_ABOVE:負責任 AI - 危險篩選器設定的信心水準。您可以修改這項設定,但較低的值可能會導致更多偽陽性。詳情請參閱「Model Armor 信心水準」。

停用 Model Armor 掃描 MCP 流量的功能

如要停止 Model Armor 根據專案的最低設定,自動掃描 Google MCP 伺服器的往來流量,請執行下列指令:

gcloud model-armor floorsettings update \
  --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
  --remove-integrated-services=GOOGLE_MCP_SERVER

將 PROJECT_ID 替換為 Google Cloud 專案 ID。Model Armor 不會自動將這項專案底限設定中定義的規則,套用至任何 Google MCP 伺服器流量。

Model Armor 底限設定和一般設定不只會影響 MCP,Model Armor 與 Vertex AI 等服務整合,因此您對底限設定所做的任何變更,都可能影響所有整合服務的流量掃描和安全行為,不限於 MCP。

使用 IAM 拒絕政策控管 MCP 的使用

Identity and Access Management (IAM) 拒絕政策和允許政策可協助您保護 Google Cloud 和 Google MCP 伺服器。

您可以結合多項條件,根據下列項目允許或拒絕存取,建立自訂安全性和管理政策:

  • 主體。
  • 工具屬性,例如唯讀屬性。
  • 服務或工具名稱。
  • 應用程式的 OAuth 用戶端 ID。

詳情請參閱「使用 Identity and Access Management 控管 MCP 使用情形」。

後續步驟