您可以使用 MCP 伺服器存取及執行工具,透過 AI 代理平台建立、管理及查詢Google Cloud 資源。本文說明如何透過 Antigravity IDE 的 Google Cloud Data Agent Kit 擴充功能,連線至遠端 Model Context Protocol (MCP) 伺服器。 Google Cloud
支援的 MCP 伺服器
Antigravity IDE 的 Data Agent Kit 擴充功能支援下列遠端 MCP 伺服器。如需產品特定詳細資料,請參閱下列指南:
- 使用 AlloyDB for PostgreSQL 遠端 MCP 伺服器
- 使用 BigQuery MCP 伺服器
- 使用 Cloud SQL 遠端 MCP 伺服器
- 使用 Knowledge Catalog 遠端 MCP 伺服器
- 使用 Managed Service for Apache Spark MCP 伺服器
- 使用 Spanner 遠端 MCP 伺服器
啟用對應的 API 時,系統會啟用遠端 MCP 伺服器。舉例來說,在專案中啟用 Spanner API 時,系統會自動啟用 Spanner 遠端 MCP。
Google Cloud 遠端 MCP 伺服器
Google 和 Google Cloud 遠端 MCP 伺服器具有下列功能和優點:- 簡化集中式探索作業
- 代管全域或區域 HTTP 端點
- 精細授權
- 使用 Model Armor 保護機制,選擇性確保提示詞和回覆安全無虞
- 集中式稽核記錄
如要瞭解其他 MCP 伺服器,以及 Google Cloud MCP 伺服器適用的安全性與控管措施,請參閱 Google Cloud MCP 伺服器總覽。
Model Context Protocol (MCP) 規範大型語言模型 (LLM) 和 AI 應用程式/代理程式連結外部資料來源的標準方式。MCP 伺服器可讓您使用工具、資源和提示,從後端服務執行動作及取得更新資料。
本機和遠端 MCP 伺服器有何不同?
- 本機 MCP 伺服器
- 通常在本機電腦上執行,並使用標準輸入和輸出串流 (stdio),在同一部裝置上的服務之間進行通訊。
- 遠端 MCP 伺服器
- 在服務的基礎架構上執行,並為 AI 應用程式提供 HTTP 端點,供 AI MCP 用戶端與 MCP 伺服器之間的通訊。如要進一步瞭解 MCP 架構,請參閱 MCP 架構。
事前準備
- 為 Antigravity IDE 安裝 Data Agent Kit 擴充功能。
- 設定及配置擴充功能。請務必啟用所有 API。
必要的角色
如要取得從 IDE 存取 Google Cloud MCP 伺服器所需的權限,請要求管理員在您使用的專案中,授予您 MCP 工具使用者 (roles/mcp.toolUser) IAM 角色。
視您打算存取的資源而定,您可能需要擴充功能使用權以外的其他角色。如要查看存取各項支援服務的遠端 MCP 伺服器時,所需的最少角色數,請參閱產品專屬指南。 Google Cloud
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
服務帳戶模擬
從 Antigravity IDE 的 Data Agent Kit 擴充功能連線至 MCP 伺服器時,您可以使用使用者憑證,也可以使用服務帳戶模擬。連線至 MCP 伺服器時,建議使用 gcloud CLI 的服務帳戶模擬功能和應用程式預設憑證 (ADC)。
首先,請使用登入 Antigravity IDE 的憑證 (通常是使用者帳戶) 登入Google Cloud 和 gcloud CLI。接著,您會為服務帳戶要求短期憑證,並使用服務帳戶憑證,而非使用者憑證。詳情請參閱「使用服務帳戶模擬功能」。
如要瞭解如何使用服務帳戶模擬功能向 MCP 伺服器進行驗證,請參閱「服務帳戶模擬功能」。
驗證及授權
使用 Antigravity IDE 時,應用程式預設憑證會向 Google Cloud MCP 伺服器驗證您的身分。在擴充功能中設定 Google Cloud 遠端 MCP 伺服器
在 IDE 中使用代理工具,即可例項化 MCP 用戶端,連線至單一 MCP 伺服器。您可以有多個連至不同 MCP 伺服器的用戶端。如要連線至遠端 MCP 伺服器,MCP 用戶端至少必須知道遠端 MCP 伺服器的網址。
請視需要為每個用戶端使用下列項目。
- 伺服器名稱:SERVER_NAME
- 端點:ENDPOINT
- 傳輸:HTTP
- 驗證詳細資料:視驗證方式而定,您可以輸入 Google Cloud 憑證、OAuth 用戶端 ID 和密鑰,或是代理程式身分和憑證。
- 如要進一步瞭解驗證,請參閱「向 MCP 伺服器進行驗證」。
- 如需各項支援服務的驗證詳細資料,請參閱產品專屬指南。
- OAuth 範圍:連線至 AlloyDB MCP 伺服器時要使用的 OAuth 2.0 範圍。
將 SERVER_NAME 和 ENDPOINT 替換為要連線的服務值。如果是 AlloyDB,您必須指定區域,例如 us-east4。
服務 |
伺服器名稱 |
端點 |
AlloyDB |
AlloyDB MCP 伺服器 |
https://alloydb.REGION.rep.googleapis.com/mcp |
BigQuery |
BigQuery MCP 伺服器 |
https://bigquery.googleapis.com/mcp |
Cloud SQL |
Cloud SQL MCP 伺服器 |
https://sqladmin.googleapis.com/mcp |
Knowledge Catalog |
Knowledge Catalog MCP 伺服器 |
https://dataplex.googleapis.com/mcp |
Managed Service for Apache Spark |
Managed Service for Apache Spark MCP 伺服器 |
https://dataproc-us-central1.googleapis.com/mcp |
Spanner |
Spanner MCP 伺服器 |
https://spanner.googleapis.com/mcp |
工具箱和遠端 MCP 伺服器的 MCP 設定
針對要連線的每個 Google Cloud Data Agent Kit 服務,使用下列設定。
AlloyDB
遠端
'datacloud_alloydb_remote': {
serverUrl: 'https://alloydb.REGION.rep.googleapis.com/mcp',
authProviderType: 'google_credentials',
oauth: {
scopes: ['https://www.googleapis.com/auth/cloud-platform'],
},
},
本機
'datacloud_alloydb-postgres-admin_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
'@toolbox-sdk/server@>=1.1.0',
'--prebuilt',
'alloydb-postgres-admin',
'--stdio'
],
'env': {},
},
'datacloud_alloydb-postgres_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
'@toolbox-sdk/server@>=1.1.0',
'--prebuilt',
'alloydb-postgres',
'--stdio'
],
'env': {
'ALLOYDB_POSTGRES_CLUSTER': '',
'ALLOYDB_POSTGRES_DATABASE': '',
'ALLOYDB_POSTGRES_INSTANCE': '',
'ALLOYDB_POSTGRES_IP_TYPE': '',
'ALLOYDB_POSTGRES_PASSWORD': '',
'ALLOYDB_POSTGRES_PROJECT': '',
'ALLOYDB_POSTGRES_REGION': '',
'ALLOYDB_POSTGRES_USER': '',
},
},
BigQuery
遠端
'datacloud_bigquery_remote': {
serverUrl: 'https://bigquery.googleapis.com/mcp',
authProviderType: 'google_credentials',
oauth: {
scopes: [
'https://www.googleapis.com/auth/bigquery',
'https://www.googleapis.com/auth/cloud-platform',
],
},
本機
'datacloud_bigquery_toolbox': {
command: 'npx',
args: [
'-y',
'@toolbox-sdk/server@>=1.1.0',
'--prebuilt',
'bigquery',
'--stdio'
],
env: {
'BIGQUERY_LOCATION': '',
'BIGQUERY_PROJECT': '',
},
},
Cloud SQL
遠端
'datacloud_cloud-sql_remote': {
serverUrl: 'https://sqladmin.googleapis.com/mcp',
authProviderType: 'google_credentials',
oauth: {
scopes: ['https://www.googleapis.com/auth/cloud-platform'],
},
},
本機
'datacloud_cloud-sql-postgresql-admin_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
'@toolbox-sdk/server@>=1.1.0',
'--prebuilt',
'cloud-sql-postgres-admin',
'--stdio'
],
'env': {},
},
'datacloud_cloud-sql-postgresql_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
'@toolbox-sdk/server@>=1.1.0',
'--prebuilt',
'cloud-sql-postgres',
'--stdio'
],
'env': {
'CLOUD_SQL_POSTGRES_DATABASE': '',
'CLOUD_SQL_POSTGRES_INSTANCE': '',
'CLOUD_SQL_POSTGRES_IP_TYPE': '',
'CLOUD_SQL_POSTGRES_PASSWORD': '',
'CLOUD_SQL_POSTGRES_PROJECT': '',
'CLOUD_SQL_POSTGRES_REGION': '',
'CLOUD_SQL_POSTGRES_USER': '',
},
},
Knowledge Catalog
遠端
'datacloud_knowledge_catalog_remote': {
serverUrl: 'https://dataplex.googleapis.com/mcp',
authProviderType: 'google_credentials',
oauth: {
scopes: ['https://www.googleapis.com/auth/cloud-platform'],
},
},
本機
'datacloud_knowledge_catalog_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
'@toolbox-sdk/server@>=1.1.0',
'--prebuilt',
'dataplex',
'--stdio'
],
'env': {
'DATAPLEX_PROJECT': '${PROJECT_ID}',
}
Managed Service for Apache Spark
遠端
'datacloud_managed_apache_spark_remote': {
serverUrl: 'https://dataproc-${REGION}.googleapis.com/mcp',
authProviderType: 'google_credentials',
oauth: {
scopes: ['https://www.googleapis.com/auth/dataproc'],
},
},
本機
'datacloud_managed_apache_spark_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
TOOLBOX_VERSION,
'--prebuilt',
'dataproc',
'--stdio',
'--user-agent-metadata',
'google-cloud-data-agent-kit-${IDE_TYPE}',
],
'env': {
'DATAPROC_PROJECT': '${PROJECT_ID}',
'DATAPROC_REGION': '${REGION}',
},
},
'datacloud_serverless-spark_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
TOOLBOX_VERSION,
'--prebuilt',
'serverless-spark',
'--stdio',
'--user-agent-metadata',
'google-cloud-data-agent-kit-${IDE_TYPE}',
],
'env': {
'SERVERLESS_SPARK_PROJECT': '${PROJECT_ID}',
'SERVERLESS_SPARK_LOCATION': '${REGION}',
},
},
Spanner
遠端
'datacloud_spanner_remote': {
serverUrl: 'https://spanner.googleapis.com/mcp',
authProviderType: 'google_credentials',
oauth: {
scopes: [
'https://www.googleapis.com/auth/spanner.admin',
'https://www.googleapis.com/auth/spanner.data',
],
},
},
本機
'datacloud_spanner_toolbox': {
'$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
'command': 'npx',
'args': [
'-y',
'@toolbox-sdk/server@>=1.1.0',
'--prebuilt',
'spanner',
'--stdio'
],
'env': {
'SPANNER_DATABASE': '',
'SPANNER_DIALECT': '',
'SPANNER_INSTANCE': '',
'SPANNER_PROJECT': '',
},
},
選用的安全防護設定
由於 MCP 工具可執行各種動作,因此會帶來新的安全風險和考量。為盡量降低及管理這些風險,Google Cloud 提供預設設定和可自訂的政策,控管機構或專案中 MCP 工具的使用情形。 Google Cloud
如要進一步瞭解 MCP 安全性和控管措施,請參閱「AI 安全性」。
使用 Model Armor
Model Armor 是一項Google Cloud 服務,旨在提升 AI 應用程式的安全性。這項功能會主動篩選 LLM 提示詞和回覆,防範各種風險並支援負責任的 AI 做法。無論您是在雲端環境或外部雲端供應商部署 AI,Model Armor 都能協助您防範惡意輸入、驗證內容安全性、保護敏感資料、維持法規遵循狀態,以及在多元的 AI 環境中,持續落實 AI 安全政策。
啟用 Model Armor 並啟用記錄功能後,Model Armor 會記錄整個酬載。這可能會導致記錄中出現私密資訊。
MCP 要求轉送至 Model Armor
Model Armor 僅在特定區域推出。啟用 Model Armor 後,如果您在 Model Armor 不支援的管轄區使用 MCP 伺服器,不同 MCP 伺服器的呼叫路徑行為可能不同,且可能會違反使用中和傳輸中資料的資料落地法規。如要進一步瞭解個別 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 使用情形」。
疑難排解
如要瞭解如何診斷及解決 Antigravity IDE 的 Data Agent Kit 擴充功能錯誤,請參閱「疑難排解」。