使用 Cloud SQL 遠端 MCP 伺服器

本文說明如何使用 MySQL 適用的 Cloud SQL 遠端 Model Context Protocol (MCP) 伺服器,連線至 AI 應用程式,包括 Gemini CLI、ChatGPT、Claude,以及您開發的自訂應用程式。透過 Cloud SQL 遠端 MCP 伺服器,您可以存取及執行 Cloud SQL 工具,從由 AI 技術支援的開發環境和 AI 代理平台建立、管理及查詢 Cloud SQL 資源。。

啟用 Cloud SQL for MySQL API 時,系統會啟用 Cloud SQL for MySQL 遠端 MCP 伺服器。

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

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

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

Google 和 Cloud de Confiance by S3NS 遠端 MCP 伺服器

Google 和 Cloud de Confiance by S3NS 遠端 MCP 伺服器具備下列功能和優點:

  • 簡化集中式探索作業。
  • 管理全域或區域 HTTP 端點。
  • 精細授權。
  • 可選用 Model Armor 防護功能,確保提示詞和回覆安全無虞。
  • 集中式稽核記錄。

如要瞭解其他 MCP 伺服器,以及適用於代管連線集區的安全性和控管措施,請參閱「代管連線集區總覽」。

遠端 MCP 伺服器由 Google 管理,與資料庫適用的 Cloud SQL for MySQL MCP 工具箱提供的本機 MCP 伺服器相比,可提供額外的安全性和控管功能。如要進一步瞭解其他遠端 MCP 伺服器,以及 MCP 適用的安全性與控管措施,請參閱「Cloud de Confiance by S3NS MCP 伺服器總覽」。

以下各節僅適用於 MySQL 適用的 Cloud SQL 遠端 MCP 伺服器。

事前準備

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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. 安裝 gcloud CLI

  4. 設定 gcloud CLI,使用您的聯合身分。

    詳情請參閱「使用聯合身分登入 gcloud CLI」。

  5. 執行下列指令,初始化 gcloud CLI:

    gcloud init
  6. 在 Cloud de Confiance 專案中啟用 Cloud SQL Admin API

必要的角色

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

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

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

所需權限

如要使用 Cloud SQL 遠端 MCP 伺服器,必須具備下列權限:

  • 發出 MCP 工具呼叫: mcp.tools.call
  • 複製 Cloud SQL 執行個體: cloudsql.instances.clone
  • 建立 Cloud SQL 執行個體: cloudsql.instances.create
  • 建立 Cloud SQL 使用者: cloudsql.users.create
  • 在 Cloud SQL 執行個體上執行 SQL 查詢:
    • cloudsql.instances.executeSql
    • cloudsql.instances.login
  • 取得 Cloud SQL 執行個體: cloudsql.instances.get
  • 取得 Cloud SQL 執行個體作業: cloudsql.instances.get
  • 將資料匯入 Cloud SQL 執行個體: cloudsql.instances.import
  • 列出專案中的 Cloud SQL 執行個體: cloudsql.instances.list
  • 列出 Cloud SQL 使用者: cloudsql.users.list
  • 更新 Cloud SQL 執行個體: cloudsql.instances.update
  • 更新 Cloud SQL 使用者: cloudsql.users.update

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

設定 MCP 用戶端,以使用 Cloud SQL MCP 伺服器

主機程式 (例如 Claude 或 Gemini CLI) 可以例項化 MCP 用戶端,連線至單一 MCP 伺服器。主機程式可以有多個連線至不同 MCP 伺服器的用戶端。如要連線至遠端 MCP 伺服器,MCP 用戶端至少須知道遠端 MCP 伺服器的網址。

請按照下列操作說明,設定 MCP 用戶端連線至遠端 Cloud SQL MCP 伺服器。

Gemini CLI

如要將 Cloud SQL 遠端 MCP 伺服器新增至 Gemini CLI,請將其設定為擴充功能。

  1. 在下列位置建立擴充功能檔案: ~/.gemini/extensions/EXT_NAME/gemini-extension.json,其中 ~/ 是主目錄,EXT_NAME 則是您要為擴充功能命名的名稱。

  2. 將下列內容儲存到擴充功能檔案中:

            {
              "name": "EXT_NAME",
              "version": "1.0.0",
              "mcpServers": {
                "Cloud SQL MCP Server": {
                  "httpUrl": "https://sqladmin.googleapis.com/mcp",
                  "authProviderType": "google_credentials",
                  "oauth": {
                    "scopes": ["https://www.googleapis.com/auth/cloud-platform"]
                  },
                  "timeout": 30000,
                  "headers": {
                    "x-goog-user-project": "PROJECT_ID"
                  }
                }
              }
            }
            
  3. 儲存擴充功能檔案。

  4. 啟動 Gemini CLI:

            gemini
            
  5. 執行 /mcp,查看已設定的 MCP 伺服器及其工具。

    回覆內容大致如下:

            Configured MCP servers:
            🟢 Cloud SQL MCP Server (from sqladmin )
              - list_instances
              - get_instance
              - clone_instance
              - create_instance
              - update_instance
              - execute_sql
              - import_data
              - create_user
              - update_user
              - list_users
              - get_operation
            

現在可以在 Gemini CLI 中使用遠端 MCP 伺服器。

Claude.ai

如要在 Claude.ai 中設定 Google 和 Cloud de Confiance by S3NS MCP 伺服器,必須使用 Claude Enterprise、Pro、Max 或 Team 方案。如要查看定價資訊,請參閱「Claude 定價」。

如要將 Google 或遠端 MCP 伺服器新增至 Claude.ai,請使用 OAuth 用戶端 ID 和 OAuth 用戶端密鑰設定自訂連接器: Cloud de Confiance by S3NS

建立 OAuth 2.0 用戶端 ID 和密鑰

  1. 在 Cloud de Confiance 控制台中,依序前往「Google Auth Platform」>「Clients」>「Create client」

    前往「建立用戶端」

    如果沒有選取專案,系統會提示您建立專案。

  2. 在「應用程式類型」清單中,選取「網頁應用程式」

  3. 在「Name」(名稱) 欄位中,輸入應用程式的名稱。

  4. 在「已授權的重新導向 URI」部分,按一下「+ 新增 URI」,然後在「URI」欄位中新增 https://claude.ai/api/mcp/auth_callback

  5. 點按「Create」(建立)。已建立用戶端。如要存取用戶端 ID,請前往 Cloud de Confiance 控制台的「Google Auth Platform」>「Clients」(用戶端)

  6. 在「OAuth 2.0 用戶端 ID」清單中,選取用戶端名稱。

  7. 在「Client secrets」專區中,複製「用戶端密鑰」並儲存在安全地點。你只能複製一次。如果遺失密鑰,請刪除並建立新的密鑰。

在 Claude.ai 中建立自訂連接器

請按照您使用的 Claude 方案操作:

企業版和團隊版

  1. 在 Claude.ai 中,依序前往「Admin settings」>「Connectors」

  2. 按一下「新增自訂連結器」

  3. 在「新增自訂連接器」對話方塊中,輸入下列資訊:

    • 伺服器名稱:使用者可解讀的伺服器名稱。
    • 遠端 MCP 伺服器網址https://sqladmin.googleapis.com/mcp
  4. 展開「進階設定」選單,然後輸入下列內容:

    • OAuth 用戶端 ID:您建立的 OAuth 2.0 用戶端 ID。
    • OAuth 用戶端密鑰:OAuth 2.0 用戶端的密鑰。如要擷取密鑰,請前往 Google Auth Platform > Clients,然後選取您建立的 OAuth 用戶端 ID。在「Client secrets」部分,按一下即可複製「Client secret」
  5. 按一下「新增」。

    已建立自訂連接器。

  6. 開啟「工具」選單,然後啟用連接器。

    Claude.ai 可以使用 MCP 伺服器。

Pro 和 Max

  1. 在 Claude.ai 中,依序前往「設定」>「連接器」

  2. 按一下「新增自訂連結器」

  3. 在「新增自訂連接器」對話方塊中,輸入下列資訊:

    • 伺服器名稱:使用者可解讀的伺服器名稱。
    • 遠端 MCP 伺服器網址https://sqladmin.googleapis.com/mcp
  4. 展開「進階設定」選單,然後輸入下列內容:

    • OAuth 用戶端 ID:您建立的 OAuth 2.0 用戶端 ID。
    • OAuth 用戶端密鑰:OAuth 2.0 用戶端的密鑰。如要擷取密鑰,請前往 Google Auth Platform > Clients,然後選取您建立的 OAuth 用戶端 ID。在「Client secrets」部分,按一下即可複製「Client secret」
  5. 按一下「新增」。

    已建立自訂連接器。

  6. 開啟「工具」選單,然後啟用連接器。

    Claude.ai 可以使用 MCP 伺服器。

ChatGPT

如要透過 ChatGPT 使用 Google 和 Cloud SQL MCP 伺服器,您必須訂閱 ChatGPT Business

如要將 Google 或 Cloud SQL 遠端 MCP 伺服器新增至 ChatGPT,請建立 Google OAuth 2.0 用戶端 ID 和密鑰,然後將 MCP 伺服器新增為 ChatGPT 中的應用程式。

建立 OAuth 2.0 用戶端 ID 和密鑰

  1. 在 Cloud de Confiance 控制台中,依序前往「Google Auth Platform」>「Clients」>「Create client」

    前往「建立用戶端」

    如果沒有選取專案,系統會提示您建立專案。

  2. 在「應用程式類型」清單中,選取「網頁應用程式」

  3. 在「Name」(名稱) 欄位中,輸入應用程式的名稱。

  4. 在「已授權的 JavaScript 來源」部分,按一下「+ 新增 URI」,然後在「URI」欄位中新增 https://chatgpt.com

  5. 在「已授權的重新導向 URI」部分,按一下「+ 新增 URI」,然後在「URI」欄位中新增 https://chatgpt.com/connector_platform_oauth_redirect

  6. 點按「Create」(建立)。已建立用戶端。如要存取用戶端 ID,請前往 Cloud de Confiance 控制台的「Google Auth Platform」>「Clients」(用戶端)

  7. 在「OAuth 2.0 用戶端 ID」清單中,選取用戶端名稱。

  8. 在「Client secrets」專區中,複製「用戶端密鑰」並妥善保存。你只能複製一次。如果遺失密鑰,請刪除並建立新的密鑰。

在 ChatGPT 中將 MCP 伺服器新增為應用程式

  1. 登入 ChatGPT。
  2. 開啟開發人員模式:
    1. 在 ChatGPT 中,按一下使用者名稱開啟「個人資料」選單,然後選取「設定」
    2. 在「設定」選單中選取「應用程式」,然後按一下「進階設定」
    3. 進階設定中,按一下開發人員模式切換鈕,將其設為開啟。
  3. 依序前往「設定」 >「應用程式」,然後按一下「建立應用程式」按鈕。
  4. 在「New app」(新增應用程式) 對話方塊中,輸入下列資訊:
    • 名稱:MCP 伺服器的名稱。
    • 說明:MCP 伺服器的選填說明。
    • MCP 伺服器網址https://sqladmin.googleapis.com/mcp
    • 驗證
      • 在「Authentication」選單中選取「OAuth」
      • 在「OAuth 用戶端 ID」欄位中,輸入 Google OAuth 用戶端 ID。
      • 在「OAuth secret」(OAuth 密鑰) 欄位中,輸入 Google OAuth 用戶端密鑰。
    • 確認您瞭解使用 MCP 伺服器相關的風險,然後按一下「建立」

MCP 伺服器會顯示在「應用程式」選單中,並可透過聊天提示使用。

MCP 客戶一般指南

如果您的 MCP 用戶端未列在「設定 MCP 用戶端以使用 Cloud SQL MCP 伺服器」中,請使用下列資訊連線至主機程式或 AI 應用程式中的遠端 MCP 伺服器。系統會提示您輸入伺服器的詳細資料,例如名稱和網址。

如果是 Cloud SQL 遠端 MCP 伺服器,請視需要輸入下列項目:

  • 伺服器名稱:Cloud SQL MCP 伺服器
  • 伺服器網址端點:https://sqladmin.googleapis.com/mcp
  • 傳輸:HTTP
  • 驗證詳細資料:視驗證方式而定,您可以輸入 Cloud de Confiance by S3NS 憑證、OAuth 用戶端 ID 和密鑰,或是代理程式身分和憑證。

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

驗證及授權

Cloud SQL MCP 伺服器會使用 Identity and Access Management (IAM) 搭配 OAuth 2.0 通訊協定進行驗證和授權。所有Cloud de Confiance by S3NS 身分皆支援 MCP 伺服器的驗證。

Cloud SQL 遠端 MCP 伺服器不接受 API 金鑰。

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

Cloud SQL MCP OAuth 範圍

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

Cloud SQL 具有下列 MCP 工具 OAuth 範圍:

gcloud CLI 的範圍 URI 說明
https://www.googleapis.com/auth/cloud-platform 建立、更新及列出 Cloud SQL 資源,包括執行個體和資料庫使用者。匯入資料,並在 Cloud SQL 執行個體上執行 SQL 查詢。

在工具呼叫期間存取的資源可能需要其他範圍。如要查看 Cloud SQL 必要的範圍清單,請參閱 Cloud SQL Admin API

可用的工具

  • :建立 Cloud SQL 執行個體,做為來源執行個體的副本。clone_instance
  • create_instance:啟動 Cloud SQL 執行個體的建立作業。
  • create_user:為 Cloud SQL 執行個體建立資料庫使用者。
  • execute_sql:在 Cloud SQL 執行個體上執行任何有效的 SQL 陳述式 (DDL、DCL、DQL、DML)。
  • get_instance:取得 Cloud SQL 執行個體的詳細資料。
  • :取得 Cloud SQL 中長時間執行的作業狀態。get_operation
  • list_instances:列出專案中的所有 Cloud SQL 執行個體。
  • list_users:列出 Cloud SQL 執行個體的所有資料庫使用者。
  • import_data:從 Cloud Storage 將資料匯入 Cloud SQL 執行個體。
  • update_instance:更新 Cloud SQL 執行個體的支援設定。
  • update_user:更新 Cloud SQL 執行個體的資料庫使用者。

如要查看可用 MCP 工具的其他詳細資料和說明,請參閱 Cloud SQL MCP 參考資料

列出工具

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

POST /mcp HTTP/1.1
Host: sqladmin.googleapis.com
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/list",
}

執行 SQL 陳述式

如要執行 SQL 陳述式,Cloud SQL 執行個體必須符合下列條件:

如果執行個體未設定為 ALLOW_DATA_API,請使用 update_instance 工具更新執行個體的設定。

應用實例

以下是 Cloud SQL MCP 伺服器的範例用途:

網頁應用程式開發

舉例來說,您可能會快速開發網頁應用程式,並將 Cloud SQL 執行個體佈建為來源資料庫。在這個用途中,您可以使用 Cloud SQL MCP 伺服器,以自然語言為新專案建立資料庫並填入初始資料。

提示詞範例:

"Create a new MySQL development instance and set up a table called products."

工作流程:

設定網頁應用程式的工作流程可能如下:

  • 佈建:代理程式會呼叫 create_instance 工具,建立具有開發環境大小規格的新 Cloud SQL 執行個體。

  • 驗證:代理程式會使用 get_operation 工具輪詢執行個體建立作業的狀態。

  • 連線:作業完成後,服務專員會使用 get_instance 工具擷取執行個體連線中繼資料。

  • 結構定義設定:準備就緒後,代理程式會使用 execute_sql 執行 CREATE TABLE products SQL 陳述式。

  • 資料植入:代理程式會再次使用 execute_sql,將初始植入資料 (DML) 插入新建立的資料表。

  • 資料植入:準備就緒後,代理程式會使用 import_data 從 Cloud Storage 匯入產品資料檔案。

使用自然語言查詢資料庫

您可以使用自然語言查詢 Cloud SQL 資料庫、更新記錄及更新結構定義。

提示範例

"Add a `stock_count` column to the inventory table."

工作流程:使用自然語言查詢資料庫的工作流程可能如下所示。

  • 結構定義遷移:代理程式會呼叫 execute_sql 執行 ALTER TABLE 陳述式,將新的 stock_count 資料欄新增至資料庫結構定義。

  • 驗證:代理程式會使用 get_instance 確認執行個體更新是否順利完成。

提示範例

"Show me a list of shoes that are priced above $100 from the inventory table."

工作流程:

  • 查詢執行:代理程式會呼叫 execute_sql 執行 SQL 陳述式,以擷取資料。

限制

Cloud SQL 遠端 MCP 伺服器有下列限制:

  • create_user 工具不支援建立內建驗證使用者密碼。
  • 如果 execute_sql 工具傳回的回應大於 10 MB,系統就會截斷回應。
  • 使用 execute_sql 工具時,如果查詢執行時間超過 30 秒,可能會逾時。

選用的安全防護設定

Cloud de Confiance by S3NS 與遠端 MCP 伺服器的 Model Armor 整合,協助您安全地使用 MCP 工具。如要進一步瞭解 MCP 安全性和控管措施,請參閱這篇文章

Model Armor

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

Model Armor 僅適用於特定地區。如果專案已啟用 Model Armor,且對該專案的呼叫來自不支援的區域,Model Armor 會進行跨區域呼叫。詳情請參閱Model Armor 位置

啟用 Model Armor

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

控制台

  1. 啟用 Model Armor API。

    啟用 API 時所需的角色

    如要啟用 API,您需要服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

    啟用 API

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

gcloud

開始之前,請使用 gcloud CLI 搭配 Model Armor API 執行下列步驟:

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

    gcloud init

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

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

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

設定 Google 和遠端 MCP 伺服器的防護功能 Cloud de Confiance by S3NS

如要保護 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 替換為 Cloud de Confiance 專案 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 替換為 Cloud de Confiance 專案 ID。

Model Armor 不會掃描專案中的 MCP 流量。

使用 IAM 拒絕政策控管 MCP 使用情形

身分與存取權管理 (IAM) 拒絕政策可協助您保護遠端 MCP 伺服器。 Cloud de Confiance by S3NS 設定這些政策,封鎖不必要的 MCP 工具存取權。

舉例來說,您可以根據下列條件拒絕或允許存取:

  • 主體
  • 工具屬性 (例如唯讀)
  • 應用程式的 OAuth 用戶端 ID

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

後續步驟