使用说明
项目简介
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 进行安全可靠的通信。
安装步骤
- 安装 Go 环境: 确保已安装 Go 1.20 或更高版本。
- 克隆仓库: 使用 Git 克隆 kb-cloud-mcp-server 仓库到本地。
git clone https://github.com/apecloud/kb-cloud-mcp-server.git cd kb-cloud-mcp-server - 下载依赖: 运行 'go mod tidy' 下载项目依赖。
go mod tidy - 编译服务器: 使用 '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 密钥信息。
基本使用方法
-
配置 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'。
-
启动服务器: 运行编译后的 'kb-cloud-mcp-server' 程序,并指定传输协议 (例如 'stdio')。
./kb-cloud-mcp-server stdio或使用配置文件启动:
./kb-cloud-mcp-server stdio --config=.kb-cloud-mcp-server.yaml -
客户端调用工具: 在 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')。
- organizations:
信息
分类
网页与API