Google Cloud MCP
官方与 Google Cloud 服务交互并管理您的云资源。
你可以用 Google Cloud MCP 做什么?
- 运行 gcloud CLI 命令 — 让您的 AI 通过
run_gcloud_command执行任何允许的gcloud命令,以管理 Google Cloud 资源。 - 查询 Cloud Observability 数据 — 使用
list_log_entries、list_time_series和list_traces等工具检索日志、指标、跟踪记录和告警策略。 - 管理 Cloud Storage 存储桶和对象 — 通过
storage-mcp工具列出、创建、删除、复制、移动、上传或下载对象和存储桶。 - 检查 Storage Insights — 使用
execute_insights_query检查洞察配置,并对 Storage Insights 数据集运行 BigQuery 查询。 - 编排备份和灾难恢复操作 — 使用
backupdr-mcp工具创建备份存储库和计划、关联资源、列出备份以及触发恢复。
文档
gcloud MCP 服务器 ☁️
gcloud 模型上下文协议 (MCP) 服务器使 AI 助手能够使用 gcloud CLI 轻松与 Google Cloud 环境进行交互。借助 gcloud MCP 服务器,您可以:
- 使用自然语言与 Google Cloud 交互。 描述您想要的结果,而无需记忆复杂的命令语法、标志和参数。
- 自动化并简化复杂的工作流程。 将多个云操作链接到一个可重复的命令中,以减少手动操作和出错的可能性。
- 降低云管理的入门门槛。 让不太熟悉 gcloud 的团队成员能够自信、安全地执行强大的操作。
📡 可用的 MCP 服务器
除了 gcloud MCP 服务器之外,此仓库还托管其他 MCP 服务器。以下是最新列表,以及指向此仓库外托管的其他 Google Cloud MCP 服务器的链接 在此。
🚀 入门指南
前提条件
- Node.js: 版本 20 或更高
- gcloud CLI
✨ 设置您的 MCP 服务器
Gemini CLI 和 Gemini Code Assist
要将 MCP 服务器与 Gemini CLI 或 Gemini Code Assist 集成,请从您的主目录为表中列出的 MCP 服务器运行以下设置命令。这将为当前用户将 MCP 服务器安装为 Gemini CLI 扩展, 使其可用于您的所有项目。
npx @google-cloud/[PACKAGE_NAME] init --agent=gemini-cli
例如,对于 gcloud-mcp:
npx @google-cloud/gcloud-mcp init --agent=gemini-cli
初始化过程完成后,您可以通过运行以下命令来验证 gcloud-mcp 服务器是否已正确配置:
gemini mcp list
> ✓ gcloud: npx -y @google-cloud/gcloud-mcp (stdio) - Connected
对于其他 AI 客户端
要在此仓库中将 MCP 服务器与其他客户端一起使用,请将以下代码片段添加到每个 MCP 服务器各自的 JSON 配置文件中:
"[SERVER_NAME]": {
"command": "npx",
"args": ["-y", "@google-cloud/[PACKAGE_NAME]"]
}
例如,对于 gcloud:
"gcloud": {
"command": "npx",
"args": ["-y", "@google-cloud/gcloud-mcp"]
}
流行工具的说明:
- Claude Desktop: 打开 Claude > 设置 > 开发者 > 编辑配置 并
编辑
claude_desktop_config.json。 - Cline: 点击 MCP 服务器图标,然后点击 配置 MCP 服务器 以编辑
cline_mcp_settings.json。 - Cursor: 为单个项目编辑
.cursor/mcp.json或为所有项目编辑~/.cursor/mcp.json。 - Gemini CLI(手动设置): 如果不使用扩展,
为单个项目编辑
.gemini/settings.json或为所有项目编辑~/.gemini/settings.json。
对于 Visual Studio Code,为单个项目编辑工作区中的 .vscode/mcp.json 文件,或为所有项目编辑您的全局用户设置文件:
"servers": {
"[SERVER_NAME]": {
"command": "npx",
"args": ["-y", "@google-cloud/[PACKAGE_NAME]"]
}
}
例如,对于 gcloud 和 observability:
"servers": {
"gcloud": {
"command": "npx",
"args": ["-y", "@google-cloud/gcloud-mcp"]
},
"observability": {
"command": "npx",
"args": ["-y", "@google-cloud/observability-mcp"]
},
}
🛠 本地开发
有关在本地安装仓库的更多信息,请参阅 development.md
🧰 可用的 MCP 工具
| MCP 服务器 | 工具 | 描述 |
|---|---|---|
| gcloud | run_gcloud_command | 执行 gcloud 命令。部分命令已被限制由代理执行。详情请参阅 MCP 权限。 |
| observability | list_log_entries | 列出项目中的日志条目。 |
list_log_names | 列出项目中的日志名称。 | |
list_buckets | 列出项目中的日志存储桶。 | |
list_views | 列出项目中的日志视图。 | |
list_sinks | 列出项目中的日志接收器。 | |
list_log_scopes | 列出项目中的日志范围。 | |
list_metric_descriptors | 列出项目的指标描述符。 | |
list_time_series | 列出给定指标的时间序列数据。 | |
list_alert_policies | 列出项目中的提醒策略。 | |
list_traces | 在项目中搜索跟踪记录。 | |
get_trace | 通过 ID 获取项目中的特定跟踪记录。 | |
list_group_stats | 列出项目的错误组。 | |
| storage | list_objects | 列出 GCS 存储桶中的对象。 |
read_object_metadata | 读取特定对象的综合元数据。 | |
read_object_content | 读取特定对象的内容。 | |
delete_object | 从存储桶中删除特定对象。 | |
write_object | 将新对象写入存储桶。 | |
update_object_metadata | 更新现有对象的自定义元数据。 | |
copy_object | 将对象从一个存储桶复制到另一个存储桶。 | |
move_object | 将对象从一个存储桶移动到另一个存储桶。 | |
upload_object | 将文件上传到 GCS 存储桶。 | |
download_object | 将对象从 GCS 下载到本地文件。 | |
list_buckets | 列出项目中的所有存储桶。 | |
create_bucket | 创建新存储桶。 | |
delete_bucket | 删除存储桶。 | |
get_bucket_metadata | 获取特定存储桶的综合元数据。 | |
update_bucket_labels | 更新存储桶的标签。 | |
get_bucket_location | 获取存储桶的位置。 | |
view_iam_policy | 查看存储桶的 IAM 策略。 | |
check_iam_permissions | 测试存储桶的 IAM 权限。 | |
get_metadata_table_schema | 检查 GCS 洞察服务是否已启用,并返回给定洞察数据集配置的 BigQuery 表架构。 | |
execute_insights_query | 对洞察数据集执行 BigQuery SQL 查询并返回结果。 | |
list_insights_configs | 列出给定项目的所有存储洞察数据集配置的名称。 | |
| backupdr | list_backup_vaults | 列出给定项目和位置中的所有备份保管库。 |
get_backup_vault | 获取特定备份保管库的详细信息。 | |
list_backup_plans | 列出给定项目和位置中的所有备份计划。 | |
get_backup_plan | 获取特定备份计划的详细信息。 | |
list_backup_plan_associations | 列出备份计划与资源之间的所有关联。 | |
get_backup_plan_association | 获取特定备份计划关联的详细信息。 | |
list_datasources | 列出备份保管库中的所有数据源。 | |
get_datasource | 获取特定数据源的详细信息。 | |
list_backups | 列出给定数据源的所有备份。 | |
get_backup | 获取特定备份的详细信息。 | |
find_protectable_resources | 发现可受保护的资源(虚拟机、磁盘、SQL)。 | |
get_backupdr_operation | 检索长时间运行的 BackupDR 操作的状态。 | |
get_csql_operation | 检索长时间运行的 Cloud SQL 操作的状态。 | |
create_backup_vault | 在指定位置创建新的备份保管库。 | |
create_backup_plan | 创建具有定义规则和保留策略的新备份计划。 | |
update_backup_plan | 修改现有备份计划。 | |
create_backup_plan_association | 将资源与备份计划关联以启动保护。 | |
restore_backup | 将备份恢复到目标 Compute Engine 实例或磁盘。 | |
csql_restore | 将 Cloud SQL 备份恢复到目标实例。 | |
delete_backup_vault | 删除备份保管库。 | |
delete_backup_plan | 删除备份计划。 | |
delete_backup_plan_association | 通过删除关联来移除对资源的保护。 |
🔑 MCP 权限
gcloud MCP 的权限直接与当前活跃的 gcloud 账号的权限绑定。为了限制权限并遵循最小权限原则,你可以 通过身份模拟以服务账号进行授权,并为该服务账号分配一个 权限受限的角色。
默认情况下,gcloud MCP 会阻止执行那些对 AI 代理没有意义的 gcloud 命令。这样做是为了限制那些可以运行任意输入并启动交互式会话的命令。请参阅 此处 了解被拒绝的命令列表。
💫 其他 Google Cloud MCP 服务器
Google Cloud 还提供以下其他服务器:
- Firebase MCP
- Google Analytics MCP
- Google Cloud Genmedia MCP
- Google Cloud Run MCP
- Google Kubernetes Engine (GKE) MCP
- Google Security Operations and Threat Intelligence MCP
- MCP Toolbox for Databases
👥 贡献
我们欢迎贡献!无论是修复错误、分享反馈,还是改进文档,我们都欢迎你的贡献。请阅读我们的 贡献指南 以开始参与。
📄 重要说明
此仓库目前处于预览阶段,可能会发生破坏性变更。此仓库提供的是一个解决方案,而非官方支持的 Google 产品。它不受 Google Cloud 服务条款 的涵盖。 当 MCP 规范、其他 SDK 或其他解决方案和产品发生变化时,它可能会失效。另请参阅我们的 安全政策。