mcpField
G
Google Cloud MCP Server

Google Cloud MCP Server

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

关于 Google Cloud MCP Server

使用 Go 和 Cobra 实现的 Google Cloud MCP 服务,支持 stdio 与 SSE 传输。它提供项目、Container 集群和 Cloud Run 服务的列表与详情操作。

主要功能

  1. 01支持 stdio 与 SSE
  2. 02列出和描述项目
  3. 03列出和描述集群
  4. 04列出和描述 Cloud Run 服务

适用场景

  1. 01查看 Google Cloud 项目详情
  2. 02检查 Container 集群与 Cloud Run 服务

MCP 相关

该 MCP 服务通过 stdio 或 SSE 向客户端提供 Google Cloud 项目、Container 集群和 Cloud Run 服务的列表及描述操作。

配置

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

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

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

安装包
npm@modelcontextprotocol/inspector

工具

还没有获取到工具列表

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

详细介绍

Google Cloud MCP 服务

使用 Go 和 Cobra 实现的 Google Cloud MCP 服务。 该服务支持 stdio 和 SSE 传输方式。目前已实现以下 服务和操作:

  • Projects:项目列表、项目详情
  • Container:集群列表、集群详情
  • Cloud Run:服务列表、服务详情

构建与发布

goreleaser build --snapshot --clean
goreleaser release --skip=publish --snapshot --clean

使用说明

如果你想在本地使用该工具,例如通过 Claude Desktop 使用,请为 MCP 服务配置以下内容。

{
    "mcpServers": {
      "gcloud": {
        "command": "/Users/mario-leander.reimer/Applications/gcp-mcp-server",
        "args": ["--transport", "stdio"],
        "env": {
        }
      }
    }
}

或者,你也可以使用 MCP introspector 轻松进行本地开发:

# as stdio binary
npx @modelcontextprotocol/inspector go run main.go

# as SSE server using 
go run main.go --transport sse
npx @modelcontextprotocol/inspector npx mcp-remote@next http://localhost:8000/sse
npx @modelcontextprotocol/inspector

部署

目前使用 Google Cloud Run 手动部署。可以直接从源代码部署,也可以使用在 Github 上构建的 Docker 镜像。

# make sure to enable all required APIs
gcloud services enable secretmanager.googleapis.com
gcloud services enable cloudbuild.googleapis.com artifactregistry.googleapis.com
gcloud services enable run.googleapis.com 

# create Google service account with required permissions and create key file
export PROJECT_ID=$(gcloud config get-value project)
export SA_NAME=gcp-mcp-server-sa

gcloud iam service-accounts create $SA_NAME --display-name="GCP MCP Server Service Account"
gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$SA_NAME@$PROJECT_ID.iam.gserviceaccount.com" \
  --role="roles/editor"
gcloud iam service-accounts keys create $SA_NAME.json \
  --iam-account=$SA_NAME@$PROJECT_ID.iam.gserviceaccount.com

# create the keyfile as a secret and attach IAM policy
gcloud secrets create $SA_NAME --data-file=$SA_NAME.json
gcloud secrets add-iam-policy-binding $SA_NAME \
  --member=serviceAccount:[email protected] \
  --role=roles/secretmanager.secretAccessor

gcloud run deploy gcp-mcp-server --source=. \
  --region=europe-north1 \
  --port=8000 --allow-unauthenticated \
  --set-secrets=/secrets/gcp-mcp-server-sa.json=gcp-mcp-server-sa:latest \
  --set-env-vars=GOOGLE_APPLICATION_CREDENTIALS=/secrets/gcp-mcp-server-sa.json,BASE_URL=https://gcp-mcp-server-343509396461.europe-north1.run.app

gcloud run services delete gcp-mcp-server --async --region=europe-north1

维护者

M.-Leander Reimer (@lreimer), [email protected]

许可证

本软件依据 MIT 开源许可证提供,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

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

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