项目简介
该项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)客户端提供访问 Google Cloud Platform (GCP) 资源的标准化接口。通过注册和执行 MCP 工具,LLM 可以与 GCP 交互,查询项目、容器集群和 Cloud Run 服务等信息。
主要功能点
- 提供标准的 MCP 接口,使 LLM 客户端能够连接并获取上下文。
- 注册并执行 GCP 相关的工具,例如:
- 列出和描述 GCP 项目。
- 列出和描述 Google Kubernetes Engine (GKE) 集群。
- 列出和描述 Google Cloud Run 服务。
- 支持 Stdio 和 Server-Sent Events (SSE) 两种传输协议。
安装步骤
- 首先,确保您已安装 Go 编程语言环境。
- 克隆仓库到本地:'git clone https://github.com/lreimer/gcp-mcp-server.git'
- 进入项目目录:'cd gcp-mcp-server'
- 构建可执行文件(需要安装 goreleaser):'goreleaser build --snapshot --clean' 或者直接使用 Go 运行:'go run main.go ...'
- 注意: 运行此服务器需要适当配置 Google Cloud 认证,通常通过设置 'GOOGLE_APPLICATION_CREDENTIALS' 环境变量指向服务账号密钥文件,或者在 GCP 环境(如 Cloud Run, GKE)中利用工作负载身份进行认证。您可能还需要启用相关的 GCP API (如 Secret Manager, Cloud Build, Artifact Registry, Run)。
服务器配置(供 MCP 客户端参考)
MCP 客户端(如 Claude Desktop)需要配置启动此 MCP 服务器的命令和参数。例如,以下是一个 Stdio 模式的配置示例:
{ "mcpServers": { "gcloud": { // 将这里的路径替换为您实际编译生成的可执行文件路径 "command": "/path/to/your/gcp-mcp-server/executable", // 使用 stdio 传输模式与客户端通信 "args": ["--transport", "stdio"], // 根据需要设置环境变量,例如 Google Cloud 认证相关的环境变量 "env": { // "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/keyfile.json" } } } }
或者,如果您希望服务器监听特定的 GCP 项目、位置或组织:
{ "mcpServers": { "gcloud": { "command": "/path/to/your/gcp-mcp-server/executable", "args": [ "--transport", "stdio", // 可选:指定默认的 GCP 项目 ID 或名称 "--project", "your-gcp-project-id", // 可选:指定默认的 GCP 位置(区域或可用区) "--location", "europe-west1", // 可选:指定默认的 GCP 组织 ID (用于列出项目) "--organization", "your-gcp-organization-id" ], "env": { // ... 认证环境变量 ... } } } }
对于 SSE 模式,需要指定端口和可能的 Base URL,并让客户端连接到该 URL。例如:
{ "mcpServers": { "gcloud": { "command": "/path/to/your/gcp-mcp-server/executable", "args": [ "--transport", "sse", // 可选:指定服务器监听的本地端口 (默认 8000) "--port", "8000", // 可选:指定客户端连接的公共 URL (用于 SSE 回调) "--url", "http://localhost:8000/sse" ], "env": { // ... 认证环境变量 ... } } } }
基本使用方法
一旦 MCP 客户端配置并成功连接到 'gcp-mcp-server',LLM 便可以在对话中发现并使用服务器暴露的工具。例如,LLM 可以通过调用 'projects_list' 工具来获取 GCP 项目列表,或调用 'cluster_describe' 工具来获取特定 GKE 集群的详细信息。用户可以通过与 LLM 交互,间接利用这些工具获取 GCP 资源信息。
信息
分类
AI与计算