关于 GCP MCP
GCP MCP 是一个 MCP 服务,让 Claude 等 AI 助手通过自然语言查询和管理本地 Google Cloud Platform 环境中的资源。使用本机的应用默认凭据在本地运行,适合在对话中查看 GCP 项目、账单与日志的用户。
主要功能
- 01列出可访问的 GCP 项目并切换
- 02查询 Cloud SQL、GKE 等资源
- 03查看账单、成本预测与预算
- 04读取 Cloud Logging 日志
- 05通过 TypeScript 代码调用 GCP API
适用场景
- 01在对话中列出项目并查看 Cloud SQL 实例
- 02查询当前账单状态与成本预测
- 03读取 Cloud Run 服务的日志
MCP 相关
该项目是 MCP 服务,向 Claude Desktop、Cursor 等 MCP 客户端暴露 run-gcp-code、list-projects、select-project、get-billing-info、get-logs 等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
9收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| reasoning | string | 是 | 代码背后的推理过程 |
| code | string | 是 | 你的任务是通过编写使用 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 环境中的数据,提供详细且符合上下文的信息。 |
| projectId | string | 否 | 要使用的 GCP project ID |
| region | string | 否 | 要使用的区域(如果未提供,则使用 us-central1) |
详细介绍
GCP MCP
一个模型上下文协议(MCP)服务,可让 Claude 等 AI 助手与您的 Google Cloud Platform 环境交互。这样,您便可以在对话中使用自然语言查询和管理 GCP 资源。

功能
- 🔍 使用自然语言查询和修改 GCP 资源
- ☁️ 支持多个 GCP 项目
- 🌐 支持多个区域
- 🔐 安全处理凭据(不会向外部服务暴露任何凭据)
- 🏃♂️ 使用您的 GCP 凭据在本地执行
- 🔄 自动重试,提高可靠性
先决条件
- Node.js
- Claude Desktop/Cursor/Windsurf
- 在本地配置 GCP 凭据(应用默认凭据)
安装
- 克隆仓库:
git clone https://github.com/eniayomi/gcp-mcp
cd gcp-mcp
- 安装依赖项:
npm install
配置
Claude Desktop
-
打开 Claude 桌面应用,然后前往 Settings -> Developer -> Edit Config
-
在
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
- 打开 Cursor,然后前往 Settings (⌘,)
- 前往 AI -> Model Context Protocol
- 添加新的 MCP 配置:
{
"gcp": {
"command": "npx -y gcp-mcp"
}
}
Windsurf
- 打开
~/.windsurf/config.json(如果文件不存在,请创建) - 添加 MCP 配置:
{
"mcpServers": {
"gcp": {
"command": "npx -y gcp-mcp"
}
}
}
GCP 设置
-
设置 GCP 凭据:
- 使用
gcloud auth application-default login设置应用默认凭据
- 使用
-
重启您的 AI 助手(Claude Desktop/Cursor/Windsurf)
用法
您可以先选择一个项目,也可以提出以下问题:
- “列出我有权访问的所有 GCP 项目”
- “显示项目 X 中的所有 Cloud SQL 实例”
- “我当前的账单状态是什么?”
- “显示我的 Cloud Run 服务日志”
- “列出 us-central1 中的所有 GKE 集群”
- “显示项目 X 中的所有 Cloud Storage 存储桶”
- “us-central1 中部署了哪些 Cloud Functions?”
- “列出所有 Cloud Run 服务”
- “显示 BigQuery 数据集和表”
可用工具
run-gcp-code:使用 TypeScript 代码调用 GCP APIlist-projects:列出所有可访问的 GCP 项目select-project:选择一个 GCP 项目,用于后续操作get-billing-info:获取当前项目的账单信息get-cost-forecast:获取当前项目的费用预测get-billing-budget:获取当前项目的账单预算list-gke-clusters:列出当前项目中的所有 GKE 集群list-sql-instances:列出当前项目中的所有 Cloud SQL 实例get-logs:获取当前项目的 Cloud Logging 条目
示例交互
- 列出可用项目:
List all GCP projects I have access to
- 选择一个项目:
Use project my-project-id
- 检查账单状态:
What's my current billing status?
- 查看日志:
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
常见问题:
- 身份验证错误:确保已运行
gcloud auth application-default login - 权限错误:检查您账号的 IAM 角色
- API 错误:确认项目已启用所需的 API
贡献
欢迎贡献!欢迎提交 Pull Request。
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。