Google Cloud Run

官方

部署至 Google Cloud Run 的官方 MCP 伺服器。

文件

Cloud Run MCP 伺服器與 Gemini CLI 擴充功能

讓相容於 MCP 的 AI 代理程式能將應用程式部署至 Cloud Run。

"mcpServers":{
  "cloud-run": {
    "command": "npx",
    "args": ["-y", "@google-cloud/cloud-run-mcp"]
  }
}

從 Gemini CLI 及其他 AI 驅動的 CLI 代理程式部署:

從 AI 驅動的 IDE 部署:

從 AI 助理應用程式部署:

從代理程式 SDK 部署,例如 Google Gen AI SDKAgent Development Kit

[!NOTE]
此為用於將程式碼部署至 Cloud Run 的 MCP 伺服器存放庫,若要瞭解如何在 Cloud Run 上託管 MCP 伺服器,請參閱 Cloud Run 說明文件

工具

  • deploy-file-contents:透過直接提供檔案內容,將檔案部署至 Cloud Run。

  • list-services:列出指定專案和區域中的 Cloud Run 服務。

  • get-service:取得特定 Cloud Run 服務的詳細資料。

  • get-service-log:取得特定 Cloud Run 服務的記錄和錯誤訊息。

  • deploy-local-folder*:將本機資料夾部署至 Google Cloud Run 服務。

  • list-projects*:列出可用的 GCP 專案。

  • create-project*:建立新的 GCP 專案,並將其附加至第一個可用的計費帳戶。可選擇性地指定專案 ID。

* 僅在本機執行時可用

提示

提示是可用於執行常見任務的自然語言命令。它們是執行工具呼叫的捷徑,並已預先填入引數。

  • deploy:將目前工作目錄部署至 Cloud Run。若未提供服務名稱,將使用 DEFAULT_SERVICE_NAME 環境變數,或目前工作目錄的名稱。
  • logs:取得 Cloud Run 服務的記錄。若未提供服務名稱,將使用 DEFAULT_SERVICE_NAME 環境變數,或目前工作目錄的名稱。

環境變數

Cloud Run MCP 伺服器可使用下列環境變數進行設定:

變數說明
GOOGLE_CLOUD_PROJECT用於 Cloud Run 服務的預設專案 ID。
GOOGLE_CLOUD_REGION用於 Cloud Run 服務的預設區域。
DEFAULT_SERVICE_NAME用於 Cloud Run 服務的預設服務名稱。
SKIP_IAM_CHECK控制是否檢查 Cloud Run 服務的 IAM 權限。設為 false 以啟用檢查。預設為 true,這是使服務公開的建議方式。
ENABLE_HOST_VALIDATION透過驗證 Host 標頭來防止 DNS 重新綁定 攻擊。預設為停用。
ALLOWED_HOSTS允許的 Host 標頭逗號分隔清單(若啟用主機驗證)。預設值為 localhost,127.0.0.1,::1

作為 Gemini CLI 擴充功能使用

若要將其安裝為 Gemini CLI 擴充功能,請執行下列命令:

  1. 安裝擴充功能:

    gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
    
  2. 使用下列命令登入您的 Google Cloud 帳戶:

    gcloud auth login
    
  3. 使用下列命令設定應用程式憑證:

    gcloud auth application-default login
    

在 MCP 用戶端中使用

瞭解如何設定您的 MCP 用戶端

大多數 MCP 用戶端需要建立或修改設定檔,以新增 MCP 伺服器。

設定檔語法可能因用戶端而異。請參閱下列連結以取得最新的預期語法:

確定如何設定您的 MCP 用戶端後,請選擇下列兩個選項之一來設定 MCP 伺服器。 我們建議使用 Node.js 設定為本機 MCP 伺服器。

設定為本機 MCP 伺服器

使用本機 Google Cloud 憑證在您的本機電腦上執行 Cloud Run MCP 伺服器。若您使用 AI 輔助 IDE(例如 Cursor)或桌面 AI 應用程式(例如 Claude),這是最佳選擇。

  1. 安裝 Google Cloud SDK 並使用您的 Google 帳戶進行驗證。

  2. 使用下列命令登入您的 Google Cloud 帳戶:

    gcloud auth login
    
  3. 使用下列命令設定應用程式憑證:

    gcloud auth application-default login
    

然後使用 Node.js 或 Docker 設定 MCP 伺服器:

使用 Node.js

  1. 安裝 Node.js(建議使用 LTS 版本)。

  2. 使用下列內容更新 MCP 用戶端的 MCP 設定檔:

       "cloud-run": {
         "command": "npx",
         "args": ["-y", "@google-cloud/cloud-run-mcp"]
       }
    
  3. [選用] 新增預設設定

       "cloud-run": {
          "command": "npx",
          "args": ["-y", "@google-cloud/cloud-run-mcp"],
          "env": {
                "GOOGLE_CLOUD_PROJECT": "PROJECT_NAME",
                "GOOGLE_CLOUD_REGION": "PROJECT_REGION",
                "DEFAULT_SERVICE_NAME": "SERVICE_NAME"
          }
       }
    

使用 Docker

請參閱 Docker 的 MCP 目錄,或使用這些手動說明:

  1. 安裝 Docker

  2. 使用下列內容更新 MCP 用戶端的 MCP 設定檔:

       "cloud-run": {
         "command": "docker",
         "args": [
           "run",
           "-i",
           "--rm",
           "-e",
           "GOOGLE_APPLICATION_CREDENTIALS",
           "-v",
           "/local-directory:/local-directory",
           "mcp/cloud-run-mcp:latest"
         ],
         "env": {
           "GOOGLE_APPLICATION_CREDENTIALS": "/Users/slim/.config/gcloud/application_default-credentials.json",
           "DEFAULT_SERVICE_NAME": "SERVICE_NAME"
         }
       }
    

設定為遠端 MCP 伺服器

[!WARNING]
請勿在未經驗證的情況下使用遠端 MCP 伺服器。在下列說明中,我們將使用 IAM 驗證來保護從本機電腦到 MCP 伺服器的連線。這對於防止未經授權存取您的 Google Cloud 資源至關重要。

將 Cloud Run MCP 伺服器本身執行在 Cloud Run 上,並透過 IAM 驗證從本機電腦的連線。 使用此選項,您只能將程式碼部署至與 MCP 伺服器執行所在的相同 Google Cloud 專案。

  1. 安裝 Google Cloud SDK 並使用您的 Google 帳戶進行驗證。

  2. 使用下列命令登入您的 Google Cloud 帳戶:

    gcloud auth login
    
  3. 使用下列命令設定您的 Google Cloud 專案 ID:

    gcloud config set project YOUR_PROJECT_ID
    
  4. 將 Cloud Run MCP 伺服器部署至 Cloud Run:

    gcloud run deploy cloud-run-mcp --image us-docker.pkg.dev/cloudrun/container/mcp --no-allow-unauthenticated
    

    出現提示時,選擇一個區域,例如 europe-west1

    請注意,MCP 伺服器_並非_公開存取,它需要透過 IAM 進行驗證。

  5. [選用] 新增預設設定

    gcloud run services update cloud-run-mcp --region=REGION --update-env-vars GOOGLE_CLOUD_PROJECT=PROJECT_NAME,GOOGLE_CLOUD_REGION=PROJECT_REGION,DEFAULT_SERVICE_NAME=SERVICE_NAME,SKIP_IAM_CHECK=false
    
  6. 在本機電腦上執行 Cloud Run 代理程式,以使用您的身分安全地連線至在 Cloud Run 上執行的遠端 MCP 伺服器:

    gcloud run services proxy cloud-run-mcp --port=3000 --region=REGION --project=PROJECT_ID
    

    這將在連接埠 3000 上建立一個本機代理程式,將請求轉發至遠端 MCP 伺服器並注入您的身分。

  7. 使用下列內容更新 MCP 用戶端的 MCP 設定檔:

       "cloud-run": {
         "url": "http://localhost:3000/sse"
       }
    
    

    如果您的 MCP 用戶端不支援 url 屬性,您可以使用 mcp-remote

       "cloud-run": {
         "command": "npx",
         "args": ["-y", "mcp-remote", "http://localhost:3000/sse"]
       }
    

使用 MCP 伺服器搭配 OAuth

Cloud Run MCP 伺服器支援 OAuth 作為驗證機制。若要使用 OAuth,請建立 OAuth 用戶端,並使用與 OAuth 用戶端相關的適當值設定 .env 檔案。提供了一個 .env.example 作為參考。

Cloud Run MCP 伺服器可與 Google Cloud SDK OAuth 用戶端無縫協作。若要利用 Google Cloud SDK OAuth 用戶端,您可以如下使用 .env.gcloud-sdk-oauth 檔案作為您的 .env 檔案:

cp .env.gcloud-sdk-oauth .env
node mcp-server.js

在 Gemini CLI 上設定 MCP 伺服器以使用 OAuth

當 Cloud Run MCP 伺服器以 OAuth 模式啟動時,MCP 用戶端也應設定為使用 OAuth。您可以透過在 ~/.gemini/settings.json 檔案中使用下列 JSON,在 Gemini CLI 中以 OAuth 模式設定 MCP 伺服器:

{
  "mcpServers": {
    "cloud-run": {
      "httpUrl": "http://localhost:3000/mcp",
      "oauth": {
        "enabled": true,
        "clientId": "<OAUTH_CLIENT_ID>",
        "clientSecret": "<OAUTH_CLIENT_SECRET>"
      }
    }
  }
}

完成上述設定變更後,啟動 Gemini CLI。您應該在 Gemini CLI 中使用下列提示來驗證 Cloud Run MCP 伺服器:

/mcp auth cloud-run

這將帶您前往瀏覽器上的驗證頁面,您需要在其中使用適當的 Gmail ID 登入,並接受條款與條件。驗證成功後,您可以返回 Gemini CLI,Cloud Run MCP 伺服器即可使用。

Google Cloud Platform 服務條款(可在 https://cloud.google.com/terms/ 取得)和資料處理與安全條款(可在 https://cloud.google.com/terms/data-processing-terms 取得)不適用於 Cloud Run MCP 伺服器軟體的任何元件。

Cloud Run 技能

我們推出 Cloud Run 技能,讓 AI 代理程式能夠在 Cloud Run 上執行動作。您可以將這些技能與 Gemini CLI 及其他代理型 AI 工具搭配使用。這些技能可在 Cloud Run 技能取得。

Cloud Run 技能基於用於 Cloud Run 的 gcloud CLI,使代理程式能夠使用 gcloud 在 Cloud Run 上執行所有動作,如同 GCP 使用者使用 gcloud CLI 所能執行的一樣。

若要使用 Cloud Run 技能:

  1. 確保您已安裝 gcloud CLI,並使用 gcloud auth logingcloud auth application-default login 進行驗證。
  2. 使用 gcloud config set project [PROJECT_ID] 設定您的專案。
  3. 在您的代理型 AI 工具上啟用技能。例如,您可以在終端機上使用下列命令為 Gemini CLI 啟用技能:
gemini skills install https://github.com/GoogleCloudPlatform/cloud-run-mcp.git --path skills/cloud-run
  1. 技能啟用後,您可以使用它們在 Cloud Run 上執行動作。以下是一些提示供您入門:
  • 列出專案 test-gcp-project 中區域 us-west1 的 Cloud Run 服務。

  • 將資料夾 /home/username/workspace/hello-world 部署為 Cloud Run 服務 hello-world 至專案 test-gcp-project 的區域 us-west1。

  • 描述專案 test-gcp-project 中區域 europe-west1 的 Cloud Run 作業 hello-job。