使用说明

项目简介

KubeBlocks Cloud MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,旨在为 AI 助手提供一个标准化的接口,使其能够安全、便捷地访问和管理 KubeBlocks Cloud 上的云资源。通过 MCP 协议,AI 助手可以像调用本地函数一样,通过工具调用与 KubeBlocks Cloud 进行交互,实现云资源的自动化管理和环境数据的分析。

主要功能点

  • MCP 标准接口: 基于 Model Context Protocol 构建,提供与 MCP 客户端的标准化通信。
  • KubeBlocks Cloud 资源访问: 提供对 KubeBlocks Cloud 组织、环境、实例和备份等核心资源的访问能力。
  • 安全认证: 通过 KubeBlocks Cloud API 密钥和密钥进行安全身份验证。
  • 工具化操作: 内置一系列预定义的 MCP 工具,方便 AI 助手执行如列出和获取资源详情等操作。
  • 多种配置方式: 支持环境变量、配置文件和命令行参数等多种服务器配置方式。
  • StdioServer 传输协议: 支持通过 StdioServer 进行安全可靠的通信。

安装步骤

  1. 安装 Go 环境: 确保已安装 Go 1.20 或更高版本。
  2. 克隆仓库: 使用 Git 克隆 kb-cloud-mcp-server 仓库到本地。
    git clone https://github.com/apecloud/kb-cloud-mcp-server.git
    cd kb-cloud-mcp-server
  3. 下载依赖: 运行 'go mod tidy' 下载项目依赖。
    go mod tidy
  4. 编译服务器: 使用 'go build' 命令编译服务器程序。
    go build -o kb-cloud-mcp-server ./cmd/server

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令 (command) 及其参数 (args) 才能与其建立连接。以下是使用 Docker 运行 kb-cloud-mcp-server 的 VS Code 客户端配置示例,客户端可根据此示例进行配置:

{
  "servers": {
    "kbcloud": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "KB_CLOUD_API_KEY_NAME",
        "-e",
        "KB_CLOUD_API_KEY_SECRET",
        "apecloud/kb-cloud-mcp-server:latest"
      ],
      "env": {
        "KB_CLOUD_API_KEY_NAME": "${input:kb_cloud_api_key}",
        "KB_CLOUD_API_KEY_SECRET": "${input:kb_cloud_api_secret}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "kb_cloud_api_key",
      "description": "KubeBlocks Cloud API Key Name",
      "password": false
    },
    {
      "type": "promptString",
      "id": "kb_cloud_api_secret",
      "description": "KubeBlocks Cloud API Secret",
      "password": true
    }
  ]
}

配置参数说明:

  • servers.kbcloud.command: 设置为 'docker',表示使用 Docker 运行服务器。
  • servers.kbcloud.args: Docker 运行参数,包括:
    • 'run -i --rm': 运行并删除容器。
    • '-e KB_CLOUD_API_KEY_NAME': 设置容器内环境变量 'KB_CLOUD_API_KEY_NAME',用于传递 API Key Name。
    • '-e KB_CLOUD_API_KEY_SECRET': 设置容器内环境变量 'KB_CLOUD_API_KEY_SECRET',用于传递 API Key Secret。
    • 'apecloud/kb-cloud-mcp-server:latest': 使用的 Docker 镜像。
  • servers.kbcloud.env: 环境变量配置,将客户端输入 ('${input:kb_cloud_api_key}', '${input:kb_cloud_api_secret}') 映射到容器环境变量。
  • inputs: 定义客户端输入,用于获取 KubeBlocks Cloud API 密钥信息。

基本使用方法

  1. 配置 API 密钥: 在运行服务器前,需要配置 KubeBlocks Cloud API 的密钥和密钥。可以通过以下方式配置:

    • 环境变量: 设置 'KB_CLOUD_API_KEY_NAME' 和 'KB_CLOUD_API_KEY_SECRET' 环境变量。
    • 命令行参数: 使用 '--api-key' 和 '--api-secret' 命令行参数。
    • 配置文件: 创建 '.kb-cloud-mcp-server.yaml' 配置文件并设置 'api_key' 和 'api_secret'。
  2. 启动服务器: 运行编译后的 'kb-cloud-mcp-server' 程序,并指定传输协议 (例如 'stdio')。

    ./kb-cloud-mcp-server stdio

    或使用配置文件启动:

    ./kb-cloud-mcp-server stdio --config=.kb-cloud-mcp-server.yaml
  3. 客户端调用工具: 在 MCP 客户端中,可以使用预定义的工具与 KubeBlocks Cloud 交互。例如,使用 'list_organizations' 工具列出组织列表。

    可用工具列表:

    • organizations:
      • 'list_organizations': 列出所有组织。
      • 'get_organization': 获取组织详情 (参数: 'organizationId')。
    • environments:
      • 'list_environments': 列出环境 (参数: 'organizationId')。
      • 'get_environment': 获取环境详情 (参数: 'organizationId', 'environmentId')。
    • instances:
      • 'list_instances': 列出实例 (参数: 'organizationId', 'environmentId')。
      • 'get_instance': 获取实例详情 (参数: 'organizationId', 'environmentId', 'instanceId')。
    • backups:
      • 'list_backups': 列出备份 (参数: 'organizationId', 'environmentId', 'instanceId')。
      • 'get_backup': 获取备份详情 (参数: 'organizationId', 'environmentId', 'instanceId', 'backupId')。

信息

分类

网页与API