Model Context Protocol (MCP) 規範大型語言模型 (LLM) 和 AI 應用程式/代理程式連結外部資料來源的標準方式。MCP 伺服器可讓您使用工具、資源和提示,從後端服務執行動作及取得更新資料。
本機和遠端 MCP 伺服器有何不同?
- 本機 MCP 伺服器
- 通常在本機電腦上執行,並使用標準輸入和輸出串流 (stdio),在同一部裝置上的服務之間進行通訊。
- 遠端 MCP 伺服器
- 在服務的基礎架構上執行,並為 AI 應用程式提供 HTTP 端點,供 AI MCP 用戶端與 MCP 伺服器之間的通訊。如要進一步瞭解 MCP 架構,請參閱 MCP 架構。
Google 和 Google Cloud 遠端 MCP 伺服器
Google 和 Google Cloud 遠端 MCP 伺服器具有下列功能和優點:- 簡化集中式探索作業
- 代管全域或區域 HTTP 端點
- 精細授權
- 使用 Model Armor 保護機制,選擇性確保提示詞和回覆安全無虞
- 集中式稽核記錄
如要瞭解其他 MCP 伺服器,以及 Google Cloud MCP 伺服器適用的安全性與控管措施,請參閱 Google Cloud MCP 伺服器總覽。
事前準備
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery and Dataform APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.- 將 Dataform 存放區連結至 GitHub 或 GitLab 等 Git 供應商。詳情請參閱「連線至第三方 Git 存放區」。
- 使用 BigQuery 範圍,透過有效的 OAuth 權杖設定 AI 代理程式。
必要的角色
如要取得使用 Dataform MCP 伺服器所需的權限,請要求管理員在 Google Cloud 專案中授予下列 IAM 角色:
-
發出 MCP 工具呼叫:
MCP 工具使用者 (
roles/mcp.toolUser) -
建立 Dataform 存放區、工作區及編輯檔案:
Dataform 編輯者 (
roles/dataform.editor) -
執行 BigQuery 工作:
BigQuery 工作使用者 (
roles/bigquery.jobUser)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備使用 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.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 伺服器進行驗證」。
如需設定及連線至 MCP 伺服器的應用程式專屬指引,請參閱用戶端專屬指引。
如需更多一般指引,請參閱下列資源:
代理功能
Dataform MCP 伺服器提供一系列工具,可透過協調 Dataform API 呼叫,讓 AI 代理與資料轉換工作流程互動及偵錯。伺服器提供下列工具:
- 設定單一檔案資產。代理程式會管理基本資源設定,包括建立存放區和查詢目錄內容。
- 管理管道和發行內容。代理會管理工作流程和發布設定、產生編譯結果,以及觸發或取消工作流程調用。
- 排解問題及驗證。代理程式會擷取編譯結果並查詢工作流程叫用動作,找出管道失敗的原因。
可用的工具
如要查看 Dataform MCP 伺服器的可用 MCP 工具詳細資料和說明,請參閱 Dataform MCP 參考資料。
spice_level
使用 MCP 檢查器列出工具,或直接將 tools/list HTTP 要求傳送至 Dataform 遠端 MCP 伺服器。tools/list 方法不需要驗證。
POST /mcp HTTP/1.1
Host: dataform.googleapis.com
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "tools/list",
"id": 1
}
提示範例
使用下列範例提示,取得 Dataform 資源的相關資訊、調度工作流程或排解執行作業問題:
- 「在專案
PROJECT_ID中建立名為REPOSITORY_ID的新 Dataform 存放區。」 - 「在專案
PROJECT_ID中建立新的筆記本資產。」 - 「Read the content of
FILE_NAMEin my repository.」(讀取我存放區中FILE_NAME的內容)。 - 「Commit the changes to in .」(在
REPOSITORY_ID中將變更提交至FILE_NAME。) - 「建立工作流程設定,排定每天上午 8:00 執行管道。」
- 「Trigger a new execution for the workflow configuration.」(為
WORKFLOW_CONFIGURATION_ID工作流程設定觸發新的執行作業)。 - 「檢查我最近執行的管道狀態,並告訴我是否有任何管道執行失敗,包括錯誤詳細資料。」
- 「Show me the details of the specific execution that failed.」(顯示特定執行作業的失敗詳細資料)。
- 「列出專案
PROJECT_ID的REGION區域中所有 Dataform 存放區。」 - 「Cancel the workflow invocation named in repository, which is now running.」(取消存放區
REPOSITORY_ID中名為WORKFLOW_INVOCATION_ID的工作流程叫用,該工作流程目前正在執行。)
在提示中,請替換下列項目:
FILE_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。
選用的安全防護設定
由於 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。
控制台
gcloud
開始前,請使用 Google Cloud CLI 搭配 Model Armor API 執行下列步驟:
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud init-
執行下列指令,為 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 使用情形
身分與存取權管理 (IAM) 拒絕政策和允許政策可協助您保護 Google Cloud 和 Google MCP 伺服器。
您可以組合多項條件,根據下列項目允許或拒絕存取權,建立自訂的安全性和控管政策:
- 本金。
- 工具屬性,例如唯讀屬性。
- 服務名稱或工具名稱。
- 應用程式的 OAuth 用戶端 ID。
詳情請參閱「使用身分與存取權管理功能控管 MCP 使用情形」。
後續步驟
- 參閱 Dataform MCP 參考說明文件。
- 進一步瞭解 Google Cloud MCP 伺服器。