GCP资源管理工具

GCloud MCP Server是一个封装Google Cloud CLI(gcloud)的工具,提供管理GCP资源的LLM可访问工具,支持67+工具覆盖12种GCP服务。

  • by khalideidoo
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 khalideidoo/gcloud-go-mcp

使用说明

GCloud MCP服务器

封装Google Cloud CLI的模型上下文协议(MCP)服务器(gcloud)提供LLM可访问的工具来管理GCP资源。

特性

  • 67+工具 涵盖12项GCP服务
  • 包装本地 gcloud CLI命令
  • 结构化数据的JSON输出
  • 项目、地区和区域的可配置默认值

支持服务列表

服务 工具 说明
云运行 10 部署和管理容器化服务
机密管理器 12 管理机密和版本
IAM 11 服务帐户、角色和策略
云日志 3 读写日志
云存储 9 管理存储桶和对象
计算引擎 12 管理VM实例和磁盘
云功能 6 部署和调用无服务器功能
Firestore 6 管理数据库和索引
GKE 6 管理Kubernetes集群
账单 4 查看帐户和管理预算
发布/订阅 8 管理主题和订阅
项目 7 创建、列出和管理GCP项目

先决条件

  1. 谷歌云SDK -从以下位置安装https://cloud.google.com/sdk/docs/install
  2. 认证 -快跑 gcloud auth login 验证
  3. 项目 -设置默认项目: gcloud config set project YOUR_PROJECT_ID

安装

来源

git clone https://github.com/khalideidoo/gcloud-go-mcp.git
cd gcloud-go-mcp
make build

安装到PATH

make install

配置

环境变量

变量 描述 默认值
GCLOUD_PROJECT 默认GCP项目ID (来自gcloud配置)
GCLOUD_REGION 默认区域 us-east1
GCLOUD_ZONE 默认区域 us-east1
GCLOUD_PATH gcloud二进制文件的路径 gcloud
GCLOUD_TIMEOUT 命令超时 5m

Claude桌面配置

添加到您的Claude Desktop配置文件中:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "gcloud": {
      "command": "/path/to/gcloud-go-mcp",
      "env": {
        "GCLOUD_PROJECT": "your-default-gcp-project-id",
        "GCLOUD_REGION": "your-default-gcp-region",
        "GCLOUD_ZONE": "your-default-gcp-zone",
        "GCLOUD_PATH": "your-gcloud-cli-path",
        "GCLOUD_TIMEOUT": "gcloud-cli-timeout"
      }
    }
  }
}

工具参考

工具命名约定

所有工具都遵循以下模式: gcp_{service}_{resource}_{action}

示例:

  • gcp_run_services_list -列出云运行服务
  • gcp_run_services_deploy -部署到云端运行
  • gcp_secrets_versions_access -访问秘密版本
  • gcp_compute_instances_create -创建VM实例

云运行工具

工具 说明
gcp_run_services_list 列出云运行服务
gcp_run_services_describe 获取服务详细信息
gcp_run_services_deploy 部署容器映像
gcp_run_services_delete 删除服务
gcp_run_services_update_traffic 更新流量分配
gcp_run_services_get_iam_policy 获取IAM策略
gcp_run_services_add_iam_policy_binding 添加IAM绑定
gcp_run_revisions_list 列表修订
gcp_run_jobs_list 列出作业
gcp_run_jobs_execute 执行作业

秘密管理器工具

工具 说明
gcp_secrets_list 列出秘密
gcp_secrets_create 创建一个秘密
gcp_secrets_describe 获取秘密细节
gcp_secrets_delete 删除机密
gcp_secrets_versions_add 添加版本
gcp_secrets_versions_access 访问版本数据
gcp_secrets_versions_list 列出版本
gcp_secrets_versions_disable 禁用版本
gcp_secrets_versions_enable 启用版本
gcp_secrets_versions_destroy 销毁版本
gcp_secrets_get_iam_policy 获取IAM策略
gcp_secrets_add_iam_policy_binding 添加IAM绑定

IAM工具

工具 说明
gcp_iam_service_accounts_list 列出服务帐户
gcp_iam_service_accounts_create 创建服务帐户
gcp_iam_service_accounts_delete 删除服务帐户
gcp_iam_service_accounts_describe 获取SA详细信息
gcp_iam_service_accounts_keys_list 列出SA密钥
gcp_iam_service_accounts_keys_create 创建SA密钥
gcp_iam_roles_list 列出角色
gcp_iam_roles_describe 获取角色详细信息
gcp_projects_get_iam_policy 获取项目IAM策略
gcp_projects_add_iam_policy_binding 添加绑定
gcp_projects_remove_iam_policy_binding 删除绑定

云存储工具

工具 说明
gcp_storage_buckets_list 列出桶
gcp_storage_buckets_describe 获取存储桶详细信息
gcp_storage_buckets_create 创建bucket
gcp_storage_buckets_delete 删除存储桶
gcp_storage_objects_list 列出对象
gcp_storage_objects_cat 显示对象内容
gcp_storage_objects_copy 复制对象
gcp_storage_objects_delete 删除对象
gcp_storage_objects_signed_url 生成签名URL

计算引擎工具

工具 说明
gcp_compute_instances_list 列出实例
gcp_compute_instances_describe 获取实例详细信息
gcp_compute_instances_create 创建实例
gcp_compute_instances_delete 删除实例
gcp_compute_instances_start 启动实例
gcp_compute_instances_stop 停止实例
gcp_compute_instances_reset 重置实例
gcp_compute_instances_ssh_command 获取SSH命令
gcp_compute_disks_list 列出磁盘
gcp_compute_disks_create 创建磁盘
gcp_compute_disks_snapshot 创建快照
gcp_compute_snapshots_list 列出快照

项目工具

工具 说明
gcp_projects_list 列出所有可访问的项目
gcp_projects_describe 获取项目元数据
gcp_projects_create 创建新项目
gcp_projects_delete 删除项目
gcp_projects_update 更新项目名称
gcp_projects_undelete 还原已删除的项目
gcp_projects_get_ancestors 获取项目层次结构

使用示例

列出云运行服务

"List my Cloud Run services in us-central1"

部署到云端运行

"Deploy the image gcr.io/my-project/my-app:latest to a Cloud Run service named my-service"

获取秘密

"Get the value of the secret named api-key"

创建VM实例

"Create a VM instance named test-vm in zone us-central1-a with machine type e2-small"

读取日志

"Show me the last 20 error logs from Cloud Run"

发展

构建

make build

运行测试

make test

棉绒

make lint

许可证

MIT许可证