/ 目录 / 演练场 / Google Cloud Run
● 官方 GoogleCloudPlatform 🔑 需要你的密钥

Google Cloud Run

作者 GoogleCloudPlatform · GoogleCloudPlatform/cloud-run-mcp

通过 agent 部署和管理 Google Cloud Run 服务 — 官方 Google MCP,与 gcloud auth 无缝协作

官方 Google Cloud Platform MCP。部署容器或文件内容到 Cloud Run,列出并检查服务,拉取日志。使用 gcloud 应用默认凭据 — 配置中无需服务账号 JSON。最适合 agent 驱动的部署和原地诊断日志查询。

为什么要用

核心特性

实时演示

实际使用效果

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

从 agent 部署一个小型服务到 Cloud Run

👤 后端工程师、独立创业者发布原型 ⏱ ~10 min intermediate

何时使用: 你已有 Node/Python 服务准备就绪。你想在不切换到控制台的情况下把它上线到 Cloud Run。

前置条件
  • 已安装 gcloud SDK 并认证gcloud 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 服务,agent 为你记录 URL。

注意事项
  • 未认证的标志会公开暴露服务 — 对 staging 很好,对生产环境不好 — 对任何接近生产的东西,省略 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 server(FastMCP / fastapi-mcp)到 Cloud Run

👤 托管共享 MCP 的平台工程师 ⏱ ~30 min advanced

何时使用: 你构建了 MCP server,想为整个团队托管它。

前置条件
  • Dockerfile 或 buildpack 兼容的项目 — Cloud Run 可以为大多数语言使用 buildpack
步骤
  1. 部署服务器
    将 ./my-mcp 部署为 Cloud Run 服务 'acme-mcp',区域是 us-central1。从 .env.prod 设置环境变量。要求身份验证。✓ 已复制
    → 服务已在 IAM 后面部署
  2. 授予 IAM 访问权限
    [email protected] 组授予此服务上的 'roles/run.invoker' 角色。✓ 已复制
    → 团队现在可以调用
  3. 连接客户端
    编写 Claude Desktop 配置,通过 gcloud run services proxy 或带 IAM token 的 mcp-remote 连接。✓ 已复制
    → 团队已有复制粘贴设置

结果: 一个由团队托管的 MCP,使用 GCP 原生身份验证,与你的其他服务使用相同的部署模型。

注意事项
  • SSE 连接在 Cloud Run 的默认 5 分钟请求超时时断开 — 在服务上设置 --timeout=3600;MCP 连接需要更长的空闲容限
搭配使用: fastmcp · fastapi-mcp · mcp-context-forge

组合

与其他 MCP 搭配,撬动十倍杠杆

cloud-run + fastmcp

在一个会话中编写 Python MCP 并部署到 Cloud Run

搭建一个 FastMCP server 暴露我们的 pricing API,然后部署到带有 IAM 认证的 Cloud Run 服务 'pricing-mcp'。✓ 已复制
cloud-run + sentry

Cloud Run 错误 → Sentry 用于事件分类

如果我们的 Cloud Run 服务错误率飙升,拉取 Sentry 的匹配问题并将堆栈跟踪与最后一次部署进行关联。✓ 已复制
cloud-run + mcp-context-forge

在 Cloud Run 上托管 ContextForge 本身以联合 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 部署 agent 生成的代码而无需本地文件 free (build) + per-request Cloud Run pricing

成本与限制

运行它的成本

API 配额
GCP 配额 — Cloud Run 部署 API 的配额很大方
每次调用 Token 数
日志响应可能很大 — 积极地分页或筛选
费用
Cloud Run:免费层 ~200 万请求/月,之后 ~$0.40 每百万请求 + $0.000024 每 vCPU-秒
提示
对非关键服务设置 min-instances=0 — 冷启动有代价但闲置时成本降至接近零

安全

权限、密钥、影响范围

最小权限: roles/run.admin roles/iam.serviceAccountUser
凭据存储: 通过 gcloud auth application-default login 的应用默认凭据 — 无需密钥文件
数据出站: 对 *.googleapis.com 的调用
切勿授予: roles/owner

故障排查

常见错误与修复

部署权限被拒绝

你的账户需要在运行时服务账号上拥有 roles/run.admin 和 roles/iam.serviceAccountUser。通过 gcloud projects get-iam-policy 检查。

构建失败,'buildpack 未被检测到'

添加 Dockerfile,或一个 buildpack 能识别的文件(Node 使用 package.json,Python 使用 requirements.txt,等等)。

服务已部署但返回 403

要么 allow_unauthenticated 未被设置,要么你的调用身份缺少 roles/run.invoker。决定:公开还是 IAM 门控。

SSE MCP 连接挂起 / 断开

增加 --timeout=3600 并确保 min-instances=1 以避免冷启动断开。

替代方案

Google Cloud Run 对比其他方案

替代方案何时用它替代权衡
Vercel(针对 Next.js)你特别是在托管一个 Next.js 应用Next.js 的更简单开发体验;比 Cloud Run 范围更窄
AWS App Runner / Lambda MCP你在 AWS 上可比较的无服务器模型,不同的生态系统
Fly.io你想要默认的全球边缘和更简单的定价更小的生态系统;还没有官方 MCP

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills