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 版規格和主要異動。
您可能基於下列原因,需要使用 AlloyDB 本機 MCP 伺服器:
本機開發和測試
離線使用 MCP
透過 AI 應用程式管理 AlloyDB 叢集和執行個體
如要進一步瞭解如何使用本機 MCP 伺服器,請參閱「搭配使用 AlloyDB for PostgreSQL 與 MCP、Gemini CLI 和其他代理」或「AlloyDB for PostgreSQL MCP 伺服器」。下列各節僅適用於 AlloyDB for PostgreSQL 遠端 MCP 伺服器。
Google Cloud 個遠端 MCP 伺服器
Google 和 Google Cloud 遠端 MCP 伺服器具有下列功能和優點:- 簡化集中探索
- 代管的全域或區域 HTTP 端點
- 精細授權
- 選用 Model Armor 保護提示詞和回覆
- 集中化稽核記錄
如要瞭解其他 MCP 伺服器,以及 Google Cloud MCP 伺服器的安全性和管理控制項,請參閱「Google Cloud MCP 伺服器總覽」。
限制
AlloyDB 遠端 MCP 伺服器有下列限制:
create_user工具不支援建立使用密碼的內建驗證使用者。使用者只能透過 Identity and Access Management (IAM) 驗證建立。如果
execute_sql工具傳回的回覆大於 10 MB,回覆可能會遭到截斷。execute_sql_read_only僅支援 PostgreSQL 17 以上版本。
事前準備
- 登入 Google Cloud 帳戶。如果您未曾使用過 Google Cloud,歡迎 建立帳戶,親自體驗實際使用我們產品的成效。新客戶還能獲得價值 $300 美元的免費抵免額,用於執行、測試及部署工作負載。
-
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.
Enable the AlloyDB API, if it is not already enabled.
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.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init -
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.
Enable the AlloyDB API, if it is not already enabled.
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.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
必要的角色
如要取得使用 AlloyDB for PostgreSQL MCP 伺服器所需的權限,請要求管理員在您要使用 AlloyDB for PostgreSQL MCP 伺服器的專案中,授予下列 IAM 角色:
-
建立 AlloyDB 執行個體:AlloyDB 管理員 (
roles/alloydb.admin) -
建立 AlloyDB 使用者:AlloyDB 管理員 (
roles/alloydb.admin) -
在 AlloyDB 中執行 SQL 查詢:
- AlloyDB 管理員 (
roles/alloydb.admin) - AlloyDB 資料庫使用者 (
roles/alloydb.databaseUser) (Studio 查詢使用者 (roles/databasesconsole.studioQueryUser) 也適用)
- AlloyDB 管理員 (
-
在 AlloyDB 執行唯讀 SQL 查詢:
- AlloyDB 檢視者 (
roles/alloydb.viewer) - AlloyDB 管理員 (
roles/alloydb.admin) - AlloyDB 資料庫使用者 (
roles/alloydb.databaseUser)
- AlloyDB 檢視者 (
-
取得 AlloyDB 執行個體,或列出專案中的所有 AlloyDB 執行個體:AlloyDB 檢視者 (
roles/alloydb.viewer) -
列出 AlloyDB 使用者:AlloyDB 檢視者 (
roles/alloydb.viewer)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備使用 AlloyDB for PostgreSQL MCP 伺服器所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
必須具備下列權限,才能使用 AlloyDB for PostgreSQL MCP 伺服器:
-
發出 MCP 工具呼叫:
mcp.tools.call -
建立 AlloyDB 叢集:
alloydb.cluster.create -
建立 AlloyDB 使用者:
alloydb.users.create -
複製 AlloyDB 執行個體:
alloydb.instances.create -
在 AlloyDB 執行個體上執行 SQL 查詢:
-
alloydb.instances.executeSql -
alloydb.instances.login
-
-
在 AlloyDB 執行個體上執行唯讀 SQL 查詢:
-
alloydb.instances.executeSqlReadOnly -
alloydb.instances.login
-
-
取得 AlloyDB 叢集:
alloydb.instances.get -
取得 AlloyDB 叢集作業:
alloydb.clusters.get -
將資料匯入 AlloyDB 叢集:
alloydb.clusters.import -
將 AlloyDB 叢集的資料匯出至 Cloud Storage:
alloydb.clusters.export -
列出專案中的 AlloyDB 叢集:
alloydb.clusters.list -
列出 AlloyDB 使用者:
alloydb.users.list -
更新 AlloyDB 叢集:
alloydb.clusters.update -
更新 AlloyDB 使用者:
alloydb.users.update
驗證及授權
AlloyDB for PostgreSQL 遠端 MCP 伺服器使用 OAuth 2.0 通訊協定,搭配 Identity and Access Management (IAM) 進行驗證和授權。所有Google Cloud 身分都支援 MCP 伺服器驗證。AlloyDB 遠端 MCP 伺服器不接受 API 金鑰。
建議您為使用 MCP 工具的代理建立獨立身分,以便控管及監控資源存取權。如要進一步瞭解驗證,請參閱「向 MCP 伺服器驗證」。
AlloyDB MCP OAuth 範圍
OAuth 2.0 會使用範圍和憑證,判斷通過驗證的主體是否有權對資源執行特定動作。如要進一步瞭解 Google 的 OAuth 2.0 範圍,請參閱「使用 OAuth 2.0 存取 Google API」。
AlloyDB 具有下列 MCP 工具 OAuth 範圍:
| gcloud CLI 的範圍 URI | 說明 |
|---|---|
https://www.googleapis.com/auth/alloydb |
查看、編輯、設定及刪除 Google Cloud AlloyDB 資料,以及查看 Google 帳戶電子郵件地址。 |
在工具呼叫期間存取的資源,可能需要額外的範圍。如要查看 AlloyDB 所需的範圍清單,請參閱「AlloyDB Admin API」。
設定 MCP 用戶端,以便使用 AlloyDB MCP 伺服器
AI 應用程式和代理 (例如 Claude 或 Antigravity) 可例項化 MCP 用戶端,連至單一 MCP 伺服器。AI 應用程式可以有多個用戶端,連線至不同的 MCP 伺服器。如果用戶端專屬指南中未列出您的應用程式,則可使用下列資訊,從大多數應用程式連線。
在 AI 應用程式中,找出新增或連線至遠端 MCP 伺服器的方法。如果是 AlloyDB for PostgreSQL MCP 伺服器,請視需要輸入下列資訊:
- 伺服器名稱:AlloyDB for PostgreSQL MCP 伺服器
- 伺服器網址或端點:
https://alloydb.googleapis.com/mcp - 傳輸:可串流 HTTP
- 驗證詳細資料:視您要採用的驗證方式而定,您可以輸入 Google Cloud 憑證、OAuth 用戶端 ID 和密鑰,或代理身分和憑證。如要進一步瞭解驗證,請參閱「向 MCP 伺服器驗證」。
- OAuth 範圍:連線至 AlloyDB for PostgreSQL MCP 伺服器時,要使用的 OAuth 2.0 範圍。
如需設定及連線至 MCP 伺服器的應用程式專屬指引,請參閱「用戶端專屬指引」。
如需一般指引,請參閱下列資源:
可用的工具
如要查看 AlloyDB for PostgreSQL MCP 伺服器可用的 MCP 工具詳細資料和說明,請參閱「AlloyDB for PostgreSQL MCP 參考資料」。
清單工具
使用 MCP 檢查工具列出工具,或直接將 tools/list HTTP 要求傳送至 AlloyDB for PostgreSQL 遠端 MCP 伺服器。tools/list 方法不需要驗證。
curl -X POST https://alloydb.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 端點其餘部分。舉例來說,如果是 AlloyDB for PostgreSQL,這可能是mcp/toolset-name。MCP_PROTOCOL_VERSION:MCP 通訊協定版本。例如:2026-07-28。
執行 SQL
如要執行 SQL 陳述式,請按照下列步驟操作:
將 AlloyDB 執行個體的
data_api_access執行個體設定設為ALLOW_DATA_API_ACCESS。使用create_instance工具建立執行個體時,系統會自動啟用data_api_access設定。如果執行個體未啟用
data_api_access設定,您可以使用 curl 指令啟用,將dataApiAccess欄位的值更新為ENABLED:curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://alloydb.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=dataApiAccess \ -d '{ "dataApiAccess": "ENABLED", }'更改下列內容:
PROJECT_ID: Google Cloud 專案的 ID。LOCATION:AlloyDB 叢集所在的區域。CLUSTER_ID:AlloyDB 叢集的 ID。INSTANCE_ID:AlloyDB 執行個體的 ID。
在 Gemini CLI 輸入類似下方的提示詞:
在 AlloyDB 執行個體 INSTANCE_NAME 啟用 IAM 資料庫驗證功能。 確認 SQL 陳述式使用的權限,與 IAM 資料庫驗證使用者帳戶 USER_ACCOUNT 相關聯。更改下列內容:
INSTANCE_NAME:AlloyDB 執行個體的名稱。USER_ACCOUNT:執行 SQL 陳述式時,用於驗證的 IAM 使用者帳戶。
應用實例
以下是 AlloyDB MCP 伺服器的用途範例。
網頁應用程式開發
舉例來說,您可以快速開發網頁應用程式,並佈建 AlloyDB 執行個體做為來源資料庫。在這個用途中,您可以使用 AlloyDB MCP 伺服器建立新資料庫,並使用自然語言為新專案填入初始資料。
提示詞範例:
「建立新的 AlloyDB PostgreSQL 開發執行個體,並設定名為『products』的資料表。」
工作流程:設定網頁應用程式的工作流程可能如下所示:
佈建:代理程式會建立可分配執行個體的叢集。接著,代理會呼叫
create_instance工具,建立新的 AlloyDB 執行個體,並採用開發環境大小的規格。您可以在新執行個體上啟用公開 IP 連線。您也可以自動設定 Private Service Connect 端點。驗證:代理使用
get_operation工具輪詢執行個體建立作業的狀態。連線:作業完成後,代理會使用
get_instance工具擷取執行個體連線中繼資料。設定結構定義:代理會建立資料庫,然後使用
execute_sql工具執行CREATE TABLE productsSQL 陳述式。資料植入:代理再次使用
execute_sql,將初始植入資料 (DML) 插入新建立的資料表。
作業和資料庫設定管理
在這個範例中,您可以查看現有的資料庫執行個體,確保符合作業設定標準。您也可以使用代理程式管理執行個體上的資料庫使用者。
提示詞範例:
「列出專案中的所有 PostgreSQL 執行個體,並顯示詳細資料,確認這些執行個體使用相同設定,且最近的資料庫使用者清單已成功更新。」
工作流程:檢查 AlloyDB 執行個體和資料庫使用者設定的工作流程可能如下所示:
探索:代理程式會使用
list_instances擷取專案中所有 AlloyDB 執行個體的清單。檢查:針對識別出的每個執行個體,代理程式會呼叫
get_instance,擷取詳細的設定中繼資料,例如資料庫版本、區域和機器類型,並呼叫list_users,檢查執行個體上的資料庫使用者。這類中繼資料包括是否啟用公開 IP 連線,或是否設定 Private Service Connect 端點。回報:代理會彙整發現結果,並標出任何與預期設定不符的執行個體或使用者。
選用安全性和安全防護設定
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
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 控制台啟用 Cloud Shell。
Google Cloud 控制台底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已設定適用於您目前專案的值。工作階段可能要幾秒鐘的時間才能初始化。
-
執行下列指令,使用全域 API 端點:
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.googleapis.com/"
設定 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 使用情形」。
後續步驟
- 請參閱 AlloyDB MCP 參考文件。
- 進一步瞭解 Google Cloud MCP 伺服器。