关于 MCP server to deploy code to Google Cloud Run
Cloud Run MCP 服务用于让兼容 MCP 的 AI Agent 将应用部署到 Cloud Run。它可在本地以 npx 或 Docker 运行,也可部署在 Cloud Run 上通过 IAM 认证远程访问,适合需要在 IDE、命令行或 AI 助手中直接完成 Google Cloud 部署的开发者。
主要功能
- 01部署文件内容或本地文件夹到 Cloud Run
- 02列出服务并查看服务详情
- 03获取服务日志和错误信息
- 04提供 deploy 与 logs 提示词快捷方式
- 05支持通过环境变量设置默认项目、区域和服务名
适用场景
- 01在 AI 编码工具中将当前目录部署为 Cloud Run 服务
- 02通过 AI 助手查询服务状态并排查错误日志
- 03在 Gemini CLI 中以扩展形式执行部署操作
MCP 相关
该项目本身是 MCP 服务,向 MCP 客户端暴露 deploy-file-contents、list-services、get-service、get-service-log 等工具,以及 deploy 和 logs 提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Cloud Run MCP 服务和 Gemini CLI 扩展
让兼容 MCP 的 AI Agent 能够将应用部署到 Cloud Run。
"mcpServers":{
"cloud-run": {
"command": "npx",
"args": ["-y", "@google-cloud/cloud-run-mcp"]
}
}
从 Gemini CLI 和其他 AI 驱动的命令行 Agent 部署:
从 AI 驱动的 IDE 部署:
从 AI 助手应用部署:
从 Agent SDK 部署,例如 Google Gen AI SDK 或 Agent Development Kit。
说明
这是一个用于将代码部署到 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 标头列表,以逗号分隔(启用 Host 验证时使用)。默认值为 localhost,127.0.0.1,::1。 |
用作 Gemini CLI 扩展
要将其安装为 Gemini CLI 扩展,请运行以下命令:
-
安装扩展:
gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp -
使用以下命令登录 Google Cloud 账号:
gcloud auth login -
使用以下命令设置应用凭据:
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),此方式最适合。
-
安装 Google Cloud SDK,并使用 Google 账号进行身份验证。
-
使用以下命令登录 Google Cloud 账号:
gcloud auth login -
使用以下命令设置应用凭据:
gcloud auth application-default login
然后使用 Node.js 或 Docker 配置 MCP 服务:
使用 Node.js
-
安装 Node.js(建议使用 LTS 版本)。
-
使用以下内容更新 MCP 客户端的 MCP 配置文件:
"cloud-run": { "command": "npx", "args": ["-y", "@google-cloud/cloud-run-mcp"] } -
[可选] 添加默认配置
"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 目录,或使用以下手动说明:
-
安装 Docker
-
使用以下内容更新 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 服务
警告
请勿在未进行身份验证的情况下使用远程 MCP 服务。在以下说明中,我们将使用 IAM 身份验证来保护本地机器与 MCP 服务之间的连接。这对于防止未经授权访问您的 Google Cloud 资源非常重要。
在 Cloud Run 上运行 Cloud Run MCP 服务本身,并通过 IAM 对来自本地机器的连接进行身份验证。 使用此选项时,您只能将代码部署到运行 MCP 服务的同一个 Google Cloud 项目。
-
安装 Google Cloud SDK,并使用您的 Google 账号进行身份验证。
-
使用以下命令登录您的 Google Cloud 账号:
gcloud auth login -
使用以下命令设置您的 Google Cloud 项目 ID:
gcloud config set project YOUR_PROJECT_ID -
将 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 进行身份验证。
-
[可选] 添加默认配置
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 -
在本地机器上运行 Cloud Run 代理,以您的身份安全连接到运行在 Cloud Run 上的远程 MCP 服务:
gcloud run services proxy cloud-run-mcp --port=3000 --region=REGION --project=PROJECT_ID这将在端口 3000 上创建本地代理,将请求转发到远程 MCP 服务并注入您的身份。
-
使用以下内容更新 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"] }
使用支持 OAuth 的 MCP 服务
Cloud Run MCP 服务支持将 OAuth 用作身份验证机制。若要使用 OAuth,请创建 OAuth 客户端,并配置 .env 文件,填入与您的 OAuth 客户端对应的值。可参考 .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
以 OAuth 模式启动 Cloud Run MCP 服务时,也应将 MCP 客户端配置为使用 OAuth。您可以在 Gemini CLI 中使用 OAuth 模式设置 MCP 服务,方法是在 ~/.gemini/settings.json 文件中使用以下 JSON:
{
"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 账号登录并接受条款和条件。身份验证成功后,您可以返回 Gemini CLI,Cloud Run MCP 服务即可使用。
Google Cloud Platform 服务条款(可在 https://cloud.google.com/terms/ 查看)和数据处理与安全条款(可在 https://cloud.google.com/terms/data-processing-terms 查看)不适用于 Cloud Run MCP Server 软件的任何组件。
Cloud Run 技能
我们推出 Cloud Run 技能,让 AI Agent 能够在 Cloud Run 上执行操作。你可以将这些技能与 Gemini CLI 及其他 Agentic AI 工具搭配使用。你可以在 Cloud Run 技能中找到这些技能。
Cloud Run 技能基于用于 Cloud Run 的 gcloud CLI 构建,赋予 Agent 使用 gcloud 执行 Cloud Run 上所有操作的能力,正如 GCP 用户使用 gcloud CLI 所能执行的操作一样。
要使用 Cloud Run 技能:
- 确保已安装
gcloudCLI,并通过gcloud auth login和gcloud auth application-default login完成身份验证。 - 使用
gcloud config set project [PROJECT_ID]设置项目。 - 在你的 Agentic AI 工具中启用这些技能。例如,你可以在终端中使用以下命令为 Gemini CLI 启用这些技能:
gemini skills install https://github.com/GoogleCloudPlatform/cloud-run-mcp.git --path skills/cloud-run
- 启用这些技能后,你就可以使用它们在 Cloud Run 上执行操作。以下是一些可供你入门的提示词:
-
列出项目 test-gcp-project 在 us-west1 区域中的 Cloud Run 服务。
-
将文件夹 /home/username/workspace/hello-world 部署为项目 test-gcp-project 中 us-west1 区域的 Cloud Run 服务 hello-world。
-
描述项目 test-gcp-project 中 europe-west1 区域的 Cloud Run 作业 hello-job。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。