mcpField
G
GCP MCP

GCP MCP

本地服务
github.com/eniayomi云与基础设施20077 周前更新

关于 GCP MCP

GCP MCP 是一个 MCP 服务,让 Claude 等 AI 助手通过自然语言查询和管理本地 Google Cloud Platform 环境中的资源。使用本机的应用默认凭据在本地运行,适合在对话中查看 GCP 项目、账单与日志的用户。

主要功能

  1. 01列出可访问的 GCP 项目并切换
  2. 02查询 Cloud SQL、GKE 等资源
  3. 03查看账单、成本预测与预算
  4. 04读取 Cloud Logging 日志
  5. 05通过 TypeScript 代码调用 GCP API

适用场景

  1. 01在对话中列出项目并查看 Cloud SQL 实例
  2. 02查询当前账单状态与成本预测
  3. 03读取 Cloud Run 服务的日志

MCP 相关

该项目是 MCP 服务,向 Claude Desktop、Cursor 等 MCP 客户端暴露 run-gcp-code、list-projects、select-project、get-billing-info、get-logs 等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"gcp": {
"command": "npx",
"args": [
"-y",
"gcp-mcp"
]
}
}
}
启动命令npx -y gcp-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmgcp-mcp

工具

9

收录的工具列表 · 更新于 3 周前

参数类型必填说明
reasoningstring是代码背后的推理过程
codestring是你的任务是通过编写使用 Google Cloud Client Libraries 的 Javascript/TypeScript 代码,回答有关 GCP 环境的问题。代码必须遵守以下规则: - 必须使用 promises 和 async/await - 编写代码前必须逐步思考,采用合乎逻辑的方法 - 必须使用官方 Google Cloud Client Libraries 编写 TypeScript - 避免硬编码值,例如 project IDs - 代码应尽可能并行执行,以实现最快、最优的运行 - 代码应妥善处理错误,尤其是在执行多个 API 调用时 - 每个错误都必须说明原因并记录日志;即使发生错误,脚本也应继续运行 - GCP API 返回的数据必须以 JSON 形式返回,且仅包含回答问题所需的最少数据 - 必须过滤掉所有额外数据 - 代码必须“return”一个值:string、number、boolean 或 JSON object - 如果代码没有返回任何内容,则视为 FAILED - 每当工具/函数调用失败时,放弃前必须重试 3 次 - 列出资源时,必须确保正确处理分页 - 代码中不得包含任何注释 - 尽量编写只返回回答问题所需最少数据的代码,不需要额外处理 请简洁、专业并直截了当。不要给出泛泛的建议,始终根据当前 GCP 环境中的数据,提供详细且符合上下文的信息。
projectIdstring否要使用的 GCP project ID
regionstring否要使用的区域(如果未提供,则使用 us-central1)

详细介绍

GCP MCP

一个模型上下文协议(MCP)服务,可让 Claude 等 AI 助手与您的 Google Cloud Platform 环境交互。这样,您便可以在对话中使用自然语言查询和管理 GCP 资源。

GCP MCP 演示

功能

  • 🔍 使用自然语言查询和修改 GCP 资源
  • ☁️ 支持多个 GCP 项目
  • 🌐 支持多个区域
  • 🔐 安全处理凭据(不会向外部服务暴露任何凭据)
  • 🏃‍♂️ 使用您的 GCP 凭据在本地执行
  • 🔄 自动重试,提高可靠性

先决条件

  • Node.js
  • Claude Desktop/Cursor/Windsurf
  • 在本地配置 GCP 凭据(应用默认凭据)

安装

  1. 克隆仓库:
git clone https://github.com/eniayomi/gcp-mcp
cd gcp-mcp
  1. 安装依赖项:
npm install

配置

Claude Desktop
  1. 打开 Claude 桌面应用,然后前往 Settings -> Developer -> Edit Config

  2. 在 claude_desktop_config.json 中添加以下条目:

通过 npm:

{
  "mcpServers": {
    "gcp": {
      "command": "sh",
      "args": ["-c", "npx -y gcp-mcp"]
    }
  }
}

如果从源代码安装:

{
  "mcpServers": {
    "gcp": {
      "command": "npm",
      "args": [
        "--silent",
        "--prefix",
        "/path/to/gcp-mcp",
        "start"
      ]
    }
  }
}

如果从源代码安装,请将 /path/to/gcp-mcp 替换为项目目录的实际路径。

Cursor
  1. 打开 Cursor,然后前往 Settings (⌘,)
  2. 前往 AI -> Model Context Protocol
  3. 添加新的 MCP 配置:
{
  "gcp": {
    "command": "npx -y gcp-mcp"
  }
}
Windsurf
  1. 打开 ~/.windsurf/config.json(如果文件不存在,请创建)
  2. 添加 MCP 配置:
{
  "mcpServers": {
    "gcp": {
      "command": "npx -y gcp-mcp"
    }
  }
}
GCP 设置
  1. 设置 GCP 凭据:

    • 使用 gcloud auth application-default login 设置应用默认凭据
  2. 重启您的 AI 助手(Claude Desktop/Cursor/Windsurf)

用法

您可以先选择一个项目,也可以提出以下问题:

  • “列出我有权访问的所有 GCP 项目”
  • “显示项目 X 中的所有 Cloud SQL 实例”
  • “我当前的账单状态是什么?”
  • “显示我的 Cloud Run 服务日志”
  • “列出 us-central1 中的所有 GKE 集群”
  • “显示项目 X 中的所有 Cloud Storage 存储桶”
  • “us-central1 中部署了哪些 Cloud Functions?”
  • “列出所有 Cloud Run 服务”
  • “显示 BigQuery 数据集和表”

可用工具

  1. run-gcp-code:使用 TypeScript 代码调用 GCP API
  2. list-projects:列出所有可访问的 GCP 项目
  3. select-project:选择一个 GCP 项目,用于后续操作
  4. get-billing-info:获取当前项目的账单信息
  5. get-cost-forecast:获取当前项目的费用预测
  6. get-billing-budget:获取当前项目的账单预算
  7. list-gke-clusters:列出当前项目中的所有 GKE 集群
  8. list-sql-instances:列出当前项目中的所有 Cloud SQL 实例
  9. get-logs:获取当前项目的 Cloud Logging 条目

示例交互

  1. 列出可用项目:
List all GCP projects I have access to
  1. 选择一个项目:
Use project my-project-id
  1. 检查账单状态:
What's my current billing status?
  1. 查看日志:
Show me the last 10 log entries from my project

支持的服务

  • Google Compute Engine
  • Cloud Storage
  • Cloud Functions
  • Cloud Run
  • BigQuery
  • Cloud SQL
  • Google Kubernetes Engine(GKE)
  • Cloud Logging
  • Cloud Billing
  • Resource Manager
  • 更多服务即将推出……

故障排查

查看日志:

tail -n 50 -f ~/Library/Logs/Claude/mcp-server-gcp.log

常见问题:

  1. 身份验证错误:确保已运行 gcloud auth application-default login
  2. 权限错误:检查您账号的 IAM 角色
  3. API 错误:确认项目已启用所需的 API

贡献

欢迎贡献!欢迎提交 Pull Request。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。