/ 目錄 / 演練場 / Google Cloud Run
● 官方 GoogleCloudPlatform 🔑 需要你的金鑰

Google Cloud Run

作者 GoogleCloudPlatform · GoogleCloudPlatform/cloud-run-mcp

透過代理程式部署和管理 Google Cloud Run 服務——官方 Google MCP,與 gcloud auth 整合使用。

官方 Google Cloud Platform MCP。將容器或檔案內容部署至 Cloud Run,列出並檢查服務,擷取日誌。使用 gcloud Application Default Credentials——設定中無需服務帳號 JSON 金鑰。最適合代理程式驅動的部署,以及就地診斷的日誌查詢。

為什麼要用

核心特性

即時演示

實際使用效果

cloud-run.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "cloud-run": {
      "command": "npx",
      "args": [
        "-y",
        "@google-cloud/cloud-run-mcp"
      ]
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "cloud-run": {
      "command": "npx",
      "args": [
        "-y",
        "@google-cloud/cloud-run-mcp"
      ]
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "cloud-run": {
      "command": "npx",
      "args": [
        "-y",
        "@google-cloud/cloud-run-mcp"
      ]
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "cloud-run": {
      "command": "npx",
      "args": [
        "-y",
        "@google-cloud/cloud-run-mcp"
      ]
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "cloud-run",
      "command": "npx",
      "args": [
        "-y",
        "@google-cloud/cloud-run-mcp"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "cloud-run": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@google-cloud/cloud-run-mcp"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add cloud-run -- npx -y @google-cloud/cloud-run-mcp

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: Google Cloud Run

從代理程式將小型服務部署至 Cloud Run

👤 後端工程師、獨立創辦人快速交付原型 ⏱ ~10 min intermediate

何時使用: 你已有一個 Node/Python 服務準備就緒,想要在不切換至主控台的情況下將它上線至 Cloud Run。

前置條件
  • 已安裝並完成驗證的 gcloud SDKgcloud auth login && gcloud auth application-default login
  • 已啟用計費的 GCP 專案gcloud projects list
步驟
  1. 列出專案,選擇正確的目標
    列出我的 GCP 專案。我想部署到標有 'staging' 標籤的那個。✓ 已複製
    → 已確認目標專案
  2. 部署本機資料夾
    將 ./my-api 部署為 Cloud Run 服務,名稱為 'api-staging',位置為 us-central1。允許未驗證的呼叫。使用自動偵測的 buildpack。✓ 已複製
    → 部署完成,已回傳服務 URL
  3. 驗證服務
    取得服務詳細資訊。以 curl 方式測試該 URL,確認回應為 200。✓ 已複製
    → 可正常使用的服務 URL

結果: 在 3 到 5 分鐘內啟動一個運行中的 Cloud Run 服務,並由代理程式記錄 URL。

注意事項
  • 允許未驗證的旗標會將服務公開——適合測試環境,不適合正式環境 — 對於接近正式環境的服務,省略 allow_unauthenticated 並改用 IAM;若面向使用者,請在前端加上 Cloud Armor
  • 每次部署都會建立新版本,舊版本會殘留並佔用資源 — 定期使用 gcloud 清理舊版本,或設定版本保留數量上限
搭配使用: fastmcp · fastapi-mcp

透過日誌診斷 Cloud Run 服務問題

👤 值班工程師 ⏱ ~10 min intermediate

何時使用: 某個 Cloud Run 服務持續回傳 500 錯誤,你想要在不開啟主控台的情況下查看日誌。

步驟
  1. 擷取最近的日誌
    取得 us-central1 中服務 'api-prod' 最近 200 筆日誌記錄,並篩選嚴重性為 ERROR 的項目。✓ 已複製
    → 錯誤日誌記錄
  2. 找出錯誤模式
    依訊息範本將錯誤分組,哪一種最常見?請附上一筆範例堆疊追蹤。✓ 已複製
    → 最常見的錯誤及其堆疊追蹤
  3. 提出修復建議
    根據堆疊追蹤,指出可能的程式碼路徑。若錯誤集中於最近一次部署後,建議回滾至前一個版本。✓ 已複製
    → 根本原因假設與建議行動

結果: 從收到告警到做出回滾決策,5 分鐘內完成。

注意事項
  • 日誌預設保留時間較短(30 天) — 若日後可能需要查閱,請透過 Log Router 將日誌匯出至 BigQuery 或 GCS
搭配使用: sentry

將 MCP 伺服器(FastMCP / fastapi-mcp)部署至 Cloud Run

👤 負責託管共用 MCP 的平台工程師 ⏱ ~30 min advanced

何時使用: 你已建置好一個 MCP 伺服器,想要將它託管供整個團隊使用。

前置條件
  • Dockerfile 或相容 buildpack 的專案 — Cloud Run 對大多數程式語言可直接使用 buildpack
步驟
  1. 部署伺服器
    將 ./my-mcp 部署為 Cloud Run 服務 'acme-mcp',區域為 us-central1。從 .env.prod 設定環境變數,並要求驗證。✓ 已複製
    → 服務已部署並受 IAM 保護
  2. 授予 IAM 存取權
    將此服務的 'roles/run.invoker' 角色授予 [email protected] 群組。✓ 已複製
    → 團隊成員現在可以呼叫此服務
  3. 設定用戶端連線
    撰寫 Claude Desktop 設定,透過 gcloud run services proxy 或搭配 IAM token 的 mcp-remote 進行連線。✓ 已複製
    → 團隊取得可直接複製貼上的設定內容

結果: 一個使用 GCP 原生驗證的團隊共用 MCP,採用與其他服務相同的部署模式。

注意事項
  • SSE 連線在 Cloud Run 預設的 5 分鐘請求逾時後會中斷 — 在服務上設定 --timeout=3600;MCP 連線需要更長的閒置容忍時間
搭配使用: fastmcp · fastapi-mcp · mcp-context-forge

組合

與其他 MCP 搭配,撬動十倍槓桿

cloud-run + fastmcp

在同一個工作階段中撰寫 Python MCP 並部署至 Cloud Run

建立一個 FastMCP 伺服器來公開我們的定價 API,然後將它部署至 Cloud Run 服務 'pricing-mcp',並啟用 IAM 驗證。✓ 已複製
cloud-run + sentry

Cloud Run 錯誤串接 Sentry 進行事件分類

當我們的 Cloud Run 服務錯誤率突增時,從 Sentry 擷取對應的問題,並將堆疊追蹤與最近一次部署進行關聯分析。✓ 已複製
cloud-run + mcp-context-forge

將 ContextForge 本身託管於 Cloud Run 以聯合管理多個 MCP

將 mcp-contextforge-gateway 部署至 Cloud Run,並使用 Redis 儲存聯合狀態。將我們現有的 3 個 MCP 註冊為後端服務。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
list-projects 探索要操作的目標專案(僅限本機) free
create-project name, project_id? 建立新的 GCP 專案(僅限本機) free
list-services project, region? 查看某個專案或區域中正在運行的服務 free
get-service project, region, service 檢查特定服務的設定詳情 free
get-service-log project, region, service, filter?, limit? 除錯時擷取最近的日誌記錄 free
deploy-local-folder folder_path, service, region, project, allow_unauthenticated? 部署本機現有的程式碼(僅限本機) free (build) + per-request Cloud Run pricing
deploy-file-contents files: {path,content}[], service, region, project 部署代理程式產生的程式碼,無需本機檔案 free (build) + per-request Cloud Run pricing

成本與限制

運行它的成本

API 配額
GCP 配額——Cloud Run 部署 API 的配額相當寬裕
每次呼叫 Token 數
日誌回應內容可能很大——請積極使用分頁或篩選條件
費用
Cloud Run:免費方案每月約 200 萬次請求,超出後約每百萬次請求 $0.40 美元,加上每 vCPU 秒 $0.000024 美元
提示
對非關鍵服務設定 min-instances=0——冷啟動會影響回應速度,但閒置時成本幾乎降為零

安全

權限、密鑰、影響範圍

最小權限: roles/run.admin roles/iam.serviceAccountUser
憑證儲存: 透過 gcloud auth application-default login 使用 Application Default Credentials——無需金鑰檔案
資料出站: Calls to *.googleapis.com
切勿授予: roles/owner

故障排查

常見錯誤與修復

Permission denied on deploy

你的帳號需要在執行時期服務帳號上同時具備 roles/run.admin 和 roles/iam.serviceAccountUser。透過 gcloud projects get-iam-policy 進行確認。

Build failed with 'buildpack not detected'

請新增 Dockerfile,或加入 buildpack 可辨識的檔案(Node 用 package.json,Python 用 requirements.txt 等)。

Service deployed but returns 403

可能是未設定 allow_unauthenticated,或呼叫端身分缺少 roles/run.invoker。請決定:公開存取或透過 IAM 控管。

SSE MCP connections hang / drop

增加 --timeout=3600,並確保 min-instances=1 以避免冷啟動造成連線中斷。

替代方案

Google Cloud Run 對比其他方案

替代方案何時用它替代權衡
Vercel (for Next.js)你專門要託管 Next.js 應用程式對 Next.js 開發體驗更簡單;但功能範圍比 Cloud Run 窄
AWS App Runner / Lambda MCP你的基礎設施在 AWS 上類似的無伺服器模型,但生態系不同
Fly.io你希望預設就有全球邊緣部署,且定價更簡單生態系較小;目前尚無官方 MCP

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills