mcpField
G
Google Cloud MCP Server

Google Cloud MCP Server

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

关于 Google Cloud MCP Server

Google Cloud MCP Server 是一个 MCP 服务,用于连接 Google Cloud 服务,并为计费、日志、监控、追踪等资源提供上下文与工具。它面向需要通过自然语言查询和分析 GCP 资源的开发与运维人员。

主要功能

  1. 01覆盖计费、日志、监控、追踪等八类服务
  2. 02计费成本分析与异常检测
  3. 03错误分组查询与趋势分析
  4. 04IAM 策略与权限检查
  5. 05Spanner 查询与表结构查看

适用场景

  1. 01查询项目近期成本并检查计费异常
  2. 02按严重级别检索日志或查询服务错误分组
  3. 03检查部署所需的 IAM 权限是否满足

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 Google Cloud 各服务的工具,例如 gcp-billing-* 与 gcp-logging-* 等。客户端可通过这些工具读取 GCP 资源信息。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"google-cloud": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
启动命令npx -y @modelcontextprotocol/inspector

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

安装包
npm@modelcontextprotocol/inspector

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Google Cloud MCP 服务

一个连接 Google Cloud 服务的 Model Context Protocol 服务,为与你的 Google Cloud 资源交互提供上下文和工具。

Google Cloud MCP 服务

服务

支持的 Google Cloud 服务:

账单

管理和分析 Google Cloud 账单,并获取成本优化建议:

工具: gcp-billing-list-accounts、gcp-billing-get-account-details、gcp-billing-list-projects、gcp-billing-get-project-info、gcp-billing-list-services、gcp-billing-list-skus、gcp-billing-analyse-costs、gcp-billing-detect-anomalies、gcp-billing-cost-recommendations、gcp-billing-service-breakdown

示例提示词:

  • “显示我的所有账单账号”
  • “分析项目 my-app-prod-123 过去 30 天的成本”
  • “为账单账号 billingAccounts/123456-789ABC-DEF012 生成成本建议”
  • “检查项目 my-ecommerce-456 中的账单异常”
错误报告

监控和分析应用错误,并自动进行调查并提供修复建议:

工具: gcp-error-reporting-list-groups、gcp-error-reporting-get-group-details、gcp-error-reporting-analyse-trends

示例提示词:

  • “显示项目 my-webapp-prod-789 过去一小时的错误组”
  • “获取错误组 projects/my-app-123/groups/xyz789 的详细信息”
  • “分析项目 analytics-prod-456 中服务 my-api 的错误趋势”
IAM

查询和分析 IAM 策略与权限:

工具: gcp-iam-get-project-policy、gcp-iam-test-project-permissions、gcp-iam-test-resource-permissions、gcp-iam-validate-deployment-permissions、gcp-iam-list-deployment-services、gcp-iam-analyse-permission-gaps

示例提示词:

  • “获取项目 my-webapp-prod-123 的 IAM 策略”
  • “测试我是否拥有项目 data-lake-456 中的 storage.buckets.create 权限”
  • “检查项目 microservices-789 中 Cloud Run 的部署权限”
  • “分析在项目 k8s-prod-321 的 GKE 集群中进行部署时的权限缺口”
日志记录

查询和筛选 Google Cloud Logging 中的日志条目:

工具: gcp-logging-query-logs、gcp-logging-query-time-range、gcp-logging-search-comprehensive

示例提示词:

  • “显示项目 my-app-prod-123 过去一小时严重级别为 ERROR 的日志”
  • “搜索项目 backend-456 中服务 my-api 包含‘timeout’的日志”
  • “查询项目 compute-prod-789 中资源类型为 gce_instance 的日志”
Spanner

与 Google Cloud Spanner 数据库交互:

工具: gcp-spanner-execute-query、gcp-spanner-list-tables、gcp-spanner-list-instances、gcp-spanner-list-databases、gcp-spanner-query-natural-language、gcp-spanner-query-count

示例提示词:

  • “列出项目 ecommerce-prod-123 中 Spanner 实例 my-instance 的所有数据库”
  • “在项目 my-app-456 的数据库 user-db 中执行 SQL:SELECT COUNT(*) FROM users”
  • “显示项目 retail-789 的数据库 inventory-db 中 orders 表的结构”
监控

从 Google Cloud Monitoring 检索并分析指标:

工具: gcp-monitoring-query-metrics、gcp-monitoring-list-metric-types、gcp-monitoring-query-natural-language

示例提示词:

  • “显示项目 web-app-prod-123 过去 6 小时的 CPU 使用率指标”
  • “列出项目 infrastructure-456 中 Compute Engine 可用的指标类型”
  • “查询项目 backend-services-789 中实例的内存使用情况”
Profiler

使用 Google Cloud Profiler 分析应用性能:

工具: gcp-profiler-list-profiles、gcp-profiler-analyse-performance、gcp-profiler-compare-trends

示例提示词:

  • “列出项目 my-java-app-123 过去 24 小时的 CPU 性能分析文件”
  • “分析项目 backend-prod-456 中服务 my-api 的性能瓶颈”
  • “比较项目 performance-test-789 中部署 v1.2 与 v1.3 的堆性能分析文件”
Trace

分析来自 Google Cloud Trace 的分布式跟踪:

工具: gcp-trace-get-trace、gcp-trace-list-traces、gcp-trace-find-from-logs、gcp-trace-query-natural-language

示例提示词:

  • “获取项目 distributed-app-789 中 ID 为 abc123def456 的跟踪详情”
  • “显示项目 microservices-prod-123 过去一小时内失败的跟踪”
  • “查找项目 web-backend-456 中与跟踪 xyz789 相关的日志”
  • “查询项目 ecommerce-prod-321 中服务 checkout-api 的跟踪”

快速开始

配置完成后,你可以使用自然语言与 Google Cloud 服务交互:

"What are my current billing costs for project my-webapp-prod-123?"
"Show me errors from project ecommerce-api-456 in the last hour"
"Check if I have permission to deploy to Cloud Run in project microservices-789"
"Find logs containing 'database timeout' from project backend-prod-321 yesterday"
"List Spanner databases in instance prod-db for project data-store-654"
"What's the CPU usage of Compute Engine instances in project infrastructure-987?"

身份验证

此服务支持两种 Google Cloud 身份验证方式:

  1. 服务账号密钥文件(推荐):将 GOOGLE_APPLICATION_CREDENTIALS 环境变量设置为服务账号密钥文件的路径。这是标准的 Google Cloud 身份验证方式。

  2. 环境变量:直接设置 GOOGLE_CLIENT_EMAIL 和 GOOGLE_PRIVATE_KEY 环境变量。这适用于不便存储密钥文件的环境。

如果已设置 GOOGLE_CLOUD_PROJECT 环境变量,服务也会使用该变量;否则,它会尝试从身份验证凭据中确定项目 ID。

安装

# Clone the repository
git clone https://github.com/krzko/google-cloud-mcp.git
cd google-cloud-mcp

# Install dependencies
pnpm install

# Build
pnpm build

向 Google Cloud 进行身份验证:

gcloud auth application-default login

在客户端中配置 mcpServers:

{
  "mcpServers": {
      "google-cloud-mcp": {
          "command": "node",
          "args": [
              "/Users/foo/code/google-cloud-mcp/dist/index.js"
          ],
          "env": {
              "GOOGLE_APPLICATION_CREDENTIALS": "/Users/foo/.config/gcloud/application_default_credentials.json"
          }
      }
  }
}

开发

启动服务
# Build the project
pnpm build

# Start the server
pnpm start
开发模式
# Build the project
pnpm build

# Start the server and inspector
npx -y @modelcontextprotocol/inspector node dist/index.js

故障排除

服务超时问题

如果使用 Smithery 运行服务时遇到超时问题,请尝试以下操作:

  1. 在配置中设置 debug: true 以启用调试日志
  2. 确保设置了 lazyAuth: true,以延迟身份验证,直到实际需要时再进行
  3. 确保凭据文件可访问且有效
  4. 检查日志中是否有错误消息

重要: 服务运行仍需进行身份验证,但启用延迟加载后,服务会立即启动,并在需要时进行身份验证,而不是在初始化期间进行。

身份验证问题

此服务支持两种身份验证方式:

  1. 服务账号密钥文件:将 GOOGLE_APPLICATION_CREDENTIALS 环境变量设置为服务账号密钥文件的路径
  2. 环境变量:设置 GOOGLE_CLIENT_EMAIL 和 GOOGLE_PRIVATE_KEY 环境变量

如果遇到身份验证问题,请确保:

  • 服务账号拥有必要的权限
  • 密钥文件格式正确且可访问
  • 环境变量设置正确

评论

支持 Markdown

第一次接触 MCP?

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

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