KubeBlocks Cloud MCP 服务器是一个 模型上下文协议 (MCP) 服务器,它提供了与 KubeBlocks Cloud API 的无缝集成,使 AI 助手能够通过标准化的工具调用接口与 KubeBlocks Cloud 资源进行交互。
git clone https://github.com/apecloud/kb-cloud-mcp-server.git
cd kb-cloud-mcp-server
go mod tidy
go build -o kb-cloud-mcp-server ./cmd/server
在 VS Code 的用户设置 (JSON) 文件中添加以下 JSON 块。您可以通过按 Ctrl + Shift + P 并键入 Preferences: Open User Settings (JSON) 来执行此操作。
可选地,您可以将其添加到工作区中的名为 .vscode/mcp.json 的文件中以与其他人员共享配置。
注意:
.vscode/mcp.json文件中不需要mcp键。
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "kb_cloud_api_key",
"description": "KubeBlocks Cloud API 密钥名称",
"password": false
},
{
"type": "promptString",
"id": "kb_cloud_api_secret",
"description": "KubeBlocks Cloud API 密钥",
"password": true
}
],
"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}"
}
}
}
}
}
更多关于在 VS Code 的代理模式文档中使用 MCP 服务器工具的信息,请参阅 VS Code 文档。
该服务器支持以下环境变量:
# KubeBlocks Cloud API 凭据(必需)
export KB_CLOUD_API_KEY_NAME=您的-api-key-名称
export KB_CLOUD_API_KEY_SECRET=您的-api-key-密钥
export KB_CLOUD_SITE=https://api.apecloud.com # 可选:KubeBlocks Cloud API 端点
# 服务器配置
export KB_CLOUD_MCP_LOG_LEVEL=info # debug, info, warn, error
export KB_CLOUD_MCP_EXPORT_TRANSLATIONS=true # 可选:导出翻译到 JSON 文件
export KB_CLOUD_DEBUG=true # 可选:启用 KubeBlocks Cloud API 客户端调试模式
./kb-cloud-mcp-server
或者使用命令行标志:
./kb-cloud-mcp-server stdio --api-key=您的-api-key-名称 --api-secret=您的-api-key-密钥
您也可以使用配置文件:
# .kb-cloud-mcp-server.yaml
log_level: info
api_key: 您的-api-key-名称
api_secret: 您的-api-key-密钥
site_url: https://api.apecloud.com
然后启动服务器:
./kb-cloud-m_服务器 stdio --config=.kb-cloud-mcp-server.yaml
该服务器提供以下 MCP 工具用于与 KubeBlocks Cloud 资源进行交互:
list_organizations - 列出您有权访问的所有组织
get_organization - 获取特定组织的详细信息
organizationId: 组织唯一标识符(字符串,必需)list_environments - 列出组织内的所有环境
organizationId: 组织唯一标识符(字符串,必需)get_environment - 获取特定环境的详细信息
organizationId: 组织唯一标识符(字符串,必需)environmentId: 环境唯一标识符(字符串,必需)list_instances - 列出环境内的所有实例
organizationId: 组织唯一标识符(字符串,必需)environmentId: 环境唯一标识符(字符串,必需)get_instance - 获取特定实例的详细信息
organizationId: 组织唯一标识符(字符串,必需)environmentId: 环境唯一标识符(字符串,必需)instanceId: 实例唯一标识符(字符串,必需)list_backups - 列出实例的所有备份
organizationId: 组织唯一标识符(字符串,必需)environmentId: 环境唯一标识符(字符串,必需)instanceId: 实例唯一标识符(字符串,必需)get_backup - 获取特定备份的详细信息
organizationId: 组织唯一标识符(字符串,必需)environmentId: 环境唯一标识符(字符串,必需)instanceId: 实例唯一标识符(字符串,必需)backupId: 备份唯一标识符(字符串,必需)此模块导出的 Go API 目前应被视为不稳定,并且可能会有破坏性的更改。在未来,我们可能会提供稳定性;如果存在这种情况下有价值的需求,请提交问题。
本项目根据 Apache 2.0 许可证发布 - 详情请参见 LICENSE 文件。