谷歌云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
*示例提示:*
- “显示我的所有账单帐户”
- “分析过去30天my-app-pro-123项目的成本”
- “为账单账户生成成本建议账单账户/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最后一小时的错误组”
- “获取错误组项目/my-app-123/groups/xyz789的详细信息”
- “在项目分析-prod-456中分析服务我的api的错误趋势”
国际机械师协会
查询和分析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-pro-123项目的IAM策略”
- “测试我是否有storage.buckets.create对项目data-lake-456的权限”
- “检查项目微服务中Cloud Run的部署权限-789”
- “分析项目k8s-prod-321中部署到GKE集群的权限差距”
日志记录
从Google Cloud日志中查询和过滤日志条目:
工具: gcp-logging-query-logs, gcp-logging-query-time-range, gcp-logging-search-comprehensive
*示例提示:*
- “显示最近一小时my-app-prod-123项目的日志,严重性为ERROR”
- “在项目后端456中从service my api搜索包含'timeout'的日志”
- “项目compute-prod-789中资源类型gce_instance的查询日志”
扳手
与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
*示例提示:*
- “列出Spanner实例中的所有数据库,我在项目ecommerce-prod-123中的实例”
- “执行SQL:从项目my-app-456中的数据库用户数据库中的用户处选择COUNT(\*)”
- “显示retail-789项目中数据库库存数据库中订单的表结构”
监控
从谷歌云监控中检索和分析指标:
工具: gcp-monitoring-query-metrics, gcp-monitoring-list-metric-types, gcp-monitoring-query-natural-language
*示例提示:*
- “显示过去6小时内项目web-app-prod-123的CPU利用率指标”
- “列出项目基础架构中计算引擎的可用度量类型-456”
- “查询项目后端服务-789中实例的内存使用情况”
分析器
使用Google Cloud Profiler分析应用程序性能:
工具: gcp-profiler-list-profiles, gcp-profiler-analyse-performance, gcp-profiler-compare-trends
*示例提示:*
- “列出过去24小时内项目my-java-app-123的CPU配置文件”
- “分析项目后端prod-456中服务我的api的性能瓶颈”
- “比较项目性能测试-789中部署v1.2和v1.3的堆配置文件”
追踪
分析来自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的跟踪详细信息”
- “显示项目微服务prod-123在过去一小时的失败痕迹”
- “在项目web-backend-456中查找与跟踪xyz789相关的日志”
- “项目ecommerce-prod-321中服务结账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的两种身份验证方法:
- 服务帐户密钥文件 (推荐):设置
GOOGLE_APPLICATION_CREDENTIALS将环境变量设置为服务帐户密钥文件的路径。这是标准的Google Cloud身份验证方法。
- 环境变量:设置
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运行服务器时遇到超时问题,请尝试以下操作:
- 通过设置启用调试日志记录
debug: true在您的配置中 - 确保
lazyAuth: true设置为将身份验证推迟到实际需要时 - 确保您的凭据文件可访问且有效
- 检查日志中是否有任何错误消息
重要:操作仍然需要身份验证,但启用延迟加载后,服务器将立即启动并在需要时进行身份验证,而不是在初始化期间。
身份验证问题
服务器支持两种身份验证方法:
- 服务帐户密钥文件:设置
GOOGLE_APPLICATION_CREDENTIALS将环境变量设置为服务帐户密钥文件的路径 - 环境变量:设置
GOOGLE_CLIENT_EMAIL和GOOGLE_PRIVATE_KEY环境变量
如果您遇到身份验证问题,请确保:
- 您的服务帐户具有必要的权限
- 密钥文件格式正确且可访问
- 环境变量设置正确
