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助手应用程序部署:
\[!注意\]\ 这是MCP服务器的存储库,用于将代码部署到Cloud Run,了解如何 主机 MCP服务器在云端运行, 访问Cloud Run文档.
工具
deploy-file-contents:通过直接提供文件内容将文件部署到Cloud Run。
list-services:列出给定项目和区域中的Cloud Run服务。
get-service:获取特定Cloud Run服务的详细信息。
get-service-log:获取特定云运行服务的日志和错误消息。
deploy-local-folder\*:将本地文件夹部署到Google Cloud Run服务。
list-projects\*:列出可用的GCP项目。
create-project\*:创建新的GCP项目并将其附加到第一个可用的计费帐户。可以选择指定项目ID。
_\*仅在本地运行时可用_
提示
提示是可用于执行常见任务的自然语言命令。它们是使用预填充参数执行工具调用的快捷方式。
deploy:将当前工作目录部署到Cloud Run。如果未提供服务名称,它将使用DEFAULT_SERVICE_NAME环境变量或当前工作目录的名称。logs:获取云运行服务的日志。如果未提供服务名称,它将使用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 | 防止 DNS 重绑定 通过验证Host标头进行攻击。默认情况下,这是禁用的。 |
ALLOWED_HOSTS | 允许的主机标头的逗号分隔列表(如果启用了主机验证)。默认值为 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服务器。如果你使用的是人工智能辅助IDE(如Cursor)或桌面人工智能应用程序(如Claude),这是最好的。
- 安装 谷歌云SDK 并使用您的Google帐户进行身份验证。
- 使用以下命令登录您的Google Cloud帐户:
gcloud auth login- 使用以下命令设置应用程序凭据:
gcloud auth application-default login然后使用Node.js或Docker配置MCP服务器:
使用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目录,或使用这些手册说明:
- 安装 码头工人
- 使用以下内容更新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项目。
- 安装 谷歌云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遥控器:
"cloud-run": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:3000/sse"]
}将MCP服务器与OAuth结合使用
Cloud Run MCP服务器支持OAuth作为身份验证机制。为了使用OAuth,请创建OAuth客户端,并配置 .env 文件中包含与OAuth客户端相关的适当值。A. .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 CLI中使用以下JSON在OAuth模式下设置MCP服务器 ~/.gemini/settings.json 文件:
{
"mcpServers": {
"cloud-run": {
"httpUrl": "http://localhost:3000/mcp",
"oauth": {
"enabled": true,
"clientId": "",
"clientSecret": ""
}
}
}
}发布如上所示的配置更改后,启动Gemini CLI。您应该使用Gemini CLI中的以下提示对Cloud Run MCP服务器进行身份验证:
/mcp auth cloud-run这将带您进入浏览器上的身份验证页面,您需要使用适当的gmail id登录,并接受条款和条件。身份验证成功后,您可以返回Gemini CLI,Cloud Run MCP服务器将准备就绪。
谷歌云平台服务条款(可在https://cloud.google.com/terms/)以及数据处理和安全条款(可在https://cloud.google.com/terms/data-processing-terms)不适用于Cloud Run MCP Server软件的任何组件。
云跑技能
我们引入Cloud Run技能,使AI代理能够在Cloud Run上执行操作。您可以将这些技能与Gemini CLI和其他代理AI工具一起使用。这些技能可在以下网址获得 云跑技能.
Cloud Run技能基于gcloud cli for Cloud Run,使代理能够使用gcloud在Cloud Run上执行所有操作,GCP用户也可以使用gcloud-cli执行这些操作。
要使用Cloud Run技能:
- 确保你有
gcloudCLI已安装并通过身份验证gcloud auth login和gcloud auth application-default login. - 设置您的项目
gcloud config set project [PROJECT_ID]. - 启用代理AI工具上的技能。例如,您可以在终端上使用以下命令启用Gemini CLI的技能:
gemini skills install https://github.com/GoogleCloudPlatform/cloud-run-mcp.git --path skills/cloud-run- 启用这些技能后,您可以使用它们在Cloud Run上执行操作。以下是一些入门提示:
- 列出区域us-west1中项目测试gcp项目中的Cloud Run服务。
- 将/home/username/workspace/helloworld文件夹部署为云运行服务helloworld到区域us-west1中的项目test-gcp项目。
- 描述欧洲西部地区项目测试gcp项目中的Cloud Run作业hello作业1。
