项目简介

该项目是一个基于 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) 两种传输协议。

安装步骤

  1. 首先,确保您已安装 Go 编程语言环境。
  2. 克隆仓库到本地:'git clone https://github.com/lreimer/gcp-mcp-server.git'
  3. 进入项目目录:'cd gcp-mcp-server'
  4. 构建可执行文件(需要安装 goreleaser):'goreleaser build --snapshot --clean' 或者直接使用 Go 运行:'go run main.go ...'
  5. 注意: 运行此服务器需要适当配置 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与计算