借助 Backup and DR 本地 Model Context Protocol (MCP) 服务器,AI 助理和由 LLM 提供支持的应用可以安全地与备份环境进行交互。通过在本地运行服务器,您可以使用生成式 AI 通过自然语言提示来管理 Backup and DR 任务,例如创建备份保险库和备份方案,或启用提醒通知,同时保持对本地环境的控制。 详细了解如何使用 MCP 服务器跨 Google Cloud 服务进行互动。
Backup and DR 本地 MCP 服务器充当 MCP 兼容主机(例如 Gemini CLI、ChatGPT 或 Claude Code)与 Google Cloud Backup and DR API 之间的桥梁。
由于服务器在工作站上运行,因此 AI 可以使用本地凭据和网络路径直接与 Google Cloud通信。
Backup and DR 本地 MCP 服务器具有以下优势:
- AI 驱动的管理:使用自然语言提示自动执行并简化复杂的 Backup and DR 任务。
- 安全性:您的数据始终保留在您定义的边界内。本地服务器使用现有的 gcloud CLI 身份验证。
- 简化问题排查:识别备份和恢复作业失败情况并向用户发出提醒,获取修正错误的补救措施。
- 集中式发现:在同一 MCP 环境中与 Cloud Monitoring、Cloud Storage 和 BigQuery 等多种 Google Cloud 服务进行交互。
准备工作
在为 Backup and DR 设置本地 MCP 服务器之前,请确保您已准备好以下各项:
- 已启用备份和灾难恢复、Compute Engine 和 Cloud SQL API 的 Google Cloud 项目。
- MCP 主机,例如 Gemini CLI。
- 具有以下内容的本地环境:
- Node.js (v20+)
- Google Cloud SDK (gcloud CLI) 已初始化并经过身份验证。
所需权限
用户需要拥有相关的 Identity and Access Management (IAM) 角色和权限,才能使用本地 MCP 服务器执行相应任务。例如:
roles/backupdr.viewer(用于查询元数据信息和状态)roles/backupdr.restoreUser(用于触发恢复)
设置本地 MCP 服务器
如需安装 Gemini CLI 并设置 Backup and DR 本地 MCP 服务器,请按以下步骤操作:
安装 Gemini CLI
如需将 Backup and DR 本地 MCP 服务器与 Gemini CLI 或 Gemini Code Assist 集成,请运行以下设置命令。此命令会将 MCP 服务器作为 Gemini CLI 扩展程序安装给当前用户,以便在所有项目中使用。
npm install -g @google/gemini-cli如需了解详情,请参阅 https://geminicli.com/docs/get-started/installation。
设置 Backup and DR 本地 MCP 服务器
如需安装 Backup and DR MCP 服务器,请运行以下命令。默认情况下,它会以
READ_ONLY访问权限级别安装服务器。npx @google-cloud/backupdr-mcp init --agent=gemini-cli安装过程结束后,您可以运行以下命令,验证 Backup and DR MCP 服务器是否已正确配置:
gemini mcp list输出应显示类似如下所示的状态:
> ✓ backupdr (from @google-cloud/backupdr-mcp): npx -y backupdr-mcp --access-level READ_ONLY (stdio) - Connected配置本地 MCP 服务器
您可以使用以下标志自定义 MCP 服务器行为。
配置访问权限级别。
访问权限级别控制着 AI 智能体可以使用哪些工具。
- 标志:
--access-level 值:
READ_ONLY(默认)、UPSERT、ALLREAD_ONLY:提供用于发现和检查的只读工具。
npx @google-cloud/backupdr-mcp init --agent=gemini-cli --access-level=READ_ONLYUPSERT:提供发现、检查、创建和更新工具(包括恢复)。
npx @google-cloud/backupdr-mcp init --agent=gemini-cli --access-level=UPSERTALL:提供所有工具,包括删除等破坏性操作。
npx @google-cloud/backupdr-mcp init --agent=gemini-cli --access-level=ALL
- 标志:
配置上下文文件
上下文文件是一项强大的功能,可为 Gemini 模型提供指导性上下文。Backup and DR MCP 服务器附带了一些有关如何使用工具和常见工作流的上下文信息。
- 标志:
--overwrite-context-file - 值:
true、false(默认值) - 位置:
~/.gemini/backupdr-mcp/GEMINI.md
默认情况下,仅当上下文文件尚不存在时才会创建该文件。如需通过覆盖上下文的描述文件来安装 MCP 服务器,请运行以下命令:
npx @google-cloud/backupdr-mcp init --agent=gemini-cli --overwrite-context-file=true当
--overwrite-context-file设置为 false 时,在扩展程序安装时,仅当目录中尚不存在相应上下文时,才会创建该上下文。如需安装本地 MCP 服务器而不覆盖上下文的描述文件,请运行以下命令:
npx @google-cloud/backupdr-mcp init --agent=gemini-cli --overwrite-context-file=false如需了解详情,请参阅使用 GEMINI.md 文件提供上下文。
配置用户身份验证和授权
MCP 服务器使用应用默认凭据 (ADC) 执行操作。在 ADC 上执行适用于 Backup and DR 的 IAM 检查。如需详细了解应用默认凭证,请参阅设置应用默认凭证。
如需配置凭据,请运行以下命令:
gcloud auth application-default login如需使用服务账号凭据而非您自己的凭据,请使用应用默认凭据 (ADC) 模拟服务账号。运行以下命令以模拟服务账号:
gcloud auth application-default login --impersonate-service-account [SERVICE_ACCOUNT_EMAIL]
可用工具
Backup and DR 本地 MCP 服务器包含以下工具。
只读工具
这些工具可用于发现和检查 Backup and DR 资源,但不允许进行任何修改。
| 工具 | 说明 |
|---|---|
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 |
检索长时间运行的 Backup and DR 操作的状态。 |
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 备份恢复到目标实例。 |
删除工具
这些工具包括删除资源的功能。仅在必要时通过将访问权限级别设置为 ALL 来启用这些功能。
| 工具 | 说明 |
|---|---|
delete_backup_vault |
删除备份保险柜。 |
delete_backup_plan |
删除备份方案。 |
delete_backup_plan_association |
从资源中移除保护。 |
delete_backup |
从保险柜中删除特定备份。 |
示例提示
服务器连接成功后,您可以在 AI 客户端中使用自然语言提示来管理备份环境。
评估整个项目的备份健康状况
“显示项目 PROJECT_ID 中区域 LOCATION 的未受保护资源列表。”
替换以下内容:
PROJECT_ID:您要检查备份健康状况的项目的 ID。LOCATION:资源所在的区域。
创建备份保险柜和备份方案
“在 LOCATION 中创建名为 VAULT_NAME 的备份保险柜,以使用备份方案 PLAN_NAME 保护资源 RESOURCE_NAME。”
替换以下内容:
VAULT_NAME:新备份保险柜的名称。LOCATION:要在其中创建保险柜的区域。RESOURCE_NAME:要保护的资源的名称。PLAN_NAME:要应用的备份方案的名称。
审核备份是否符合合规性要求
“审核项目 PROJECT_ID 中区域 LOCATION 中的所有备份。审核完成后,将结果与我的公司备份政策进行比较,以找出任何合规性差距。”
替换以下内容:
PROJECT_ID:要审核的项目 ID。LOCATION:要审核的区域。
故障的根本原因分析
此提示需要使用
observability工具。如需安装此 MCP 工具,请参阅 GitHub 上的可用的 MCP 工具。“找出并调查项目 PROJECT_ID 中资源 RESOURCE_NAME 在过去 DURATION 天内备份失败的根本原因。”
替换以下内容:
RESOURCE_NAME:出现备份失败的资源的名称。DURATION:调查的时间窗口(例如7)。PROJECT_ID:发生故障的项目 ID。
恢复备份
“从项目 PROJECT_ID 中恢复资源 RESOURCE_NAME 的上次成功备份。将恢复的实例命名为 NEW_INSTANCE_NAME。”
替换以下内容:
RESOURCE_NAME:要恢复的资源的名称。PROJECT_ID:包含备份的项目 ID。NEW_INSTANCE_NAME:恢复的实例的名称。
创建提醒政策
您可以针对日志和添加的过滤条件的任意组合启用提醒。
此提示需要使用
gcloud工具。如需安装此 MCP 工具,请参阅 GitHub 上的可用的 MCP 工具。“创建名为 ALERT_NAME 的基于日志的提醒政策,以在出现来自
backupdr.googleapis.com且严重程度为ERROR的任何日志条目时触发提醒。立即向 EMAIL_ADDRESS 发送提醒通知。”替换以下内容:
ALERT_NAME:新提醒政策的名称。EMAIL_ADDRESS:用于接收通知的电子邮件地址。
使用其他 AI 客户端访问服务器
您可以将 Backup and DR MCP 服务器与其他客户端搭配使用。
为此,请将以下代码段添加到各自的 JSON 配置文件中:
"backupdr": { "command": "npx", "args": ["-y", "@google-cloud/backupdr-mcp"] }
热门工具的说明:
- Claude Desktop:打开 Claude >“设置”>“开发者”>“编辑配置”,然后编辑
claude_desktop_config.json。 - Cline:点击“MCP 服务器”图标,然后点击“配置 MCP 服务器”以修改
cline_mcp_settings.json。 - 光标:修改单个项目的
.cursor/mcp.json或所有项目的~/.cursor/mcp.json。 Gemini CLI(手动设置):如果不使用扩展程序,请针对单个项目修改
.gemini/settings.json或针对所有项目修改~/.gemini/settings.json。对于 Visual Studio Code,请修改工作区中的
.vscode/mcp.json文件(针对单个项目)或全局用户设置文件(针对所有项目):"servers": { "backupdr": { "command": "npx", "args": ["-y", "@google-cloud/backupdr-mcp"] } }
免责声明
AI 辅助操作仍在不断发展;虽然我们优先考虑准确性,但请注意,模型驱动的输出可能包含不准确之处,应始终对其正确性进行审核。
后续步骤
- 详细了解 Google Cloud MCP 服务器。
- 请参阅 Gemini CLI 文档。
- 详细了解应用默认凭证。