KubeBlocks云集成
STDIO与KubeBlocks云API集成的MCP服务器
与KubeBlocks云API集成的MCP服务器
The KubeBlocks Cloud MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with KubeBlocks Cloud APIs, enabling AI assistants to interact with KubeBlocks Cloud resources through a standardized tool-calling interface.
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
Add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P
and typing Preferences: Open User Settings (JSON)
.
Optionally, you can add it to a file called .vscode/mcp.json
in your workspace to share the configuration with others.
Note that the
mcp
key is not needed in the.vscode/mcp.json
file.
{ "mcp": { "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", "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}" } } } } }
More about using MCP server tools in VS Code's agent mode documentation.
The server supports the following environment variables:
# KubeBlocks Cloud API credentials (required) export KB_CLOUD_API_KEY_NAME=your-api-key-name export KB_CLOUD_API_KEY_SECRET=your-api-key-secret export KB_CLOUD_SITE=https://api.apecloud.com # Optional: KubeBlocks Cloud API endpoint # Server configuration export KB_CLOUD_MCP_LOG_LEVEL=info # debug, info, warn, error export KB_CLOUD_MCP_EXPORT_TRANSLATIONS=true # Optional: Export translations to JSON file export KB_CLOUD_DEBUG=true # Optional: Enable debug mode for KubeBlocks Cloud API client
./kb-cloud-mcp-server
Or with command-line flags:
./kb-cloud-mcp-server stdio --api-key=your-api-key-name --api-secret=your-api-key-secret
You can also use a configuration file:
# .kb-cloud-mcp-server.yaml log_level: info api_key: your-api-key-name api_secret: your-api-key-secret site_url: https://api.apecloud.com
Then start the server with:
./kb-cloud-mcp-server stdio --config=.kb-cloud-mcp-server.yaml
The server provides the following MCP tools for interacting with KubeBlocks Cloud resources:
list_organizations - List all organizations you have access to
get_organization - Get details of a specific organization
organizationId
: Organization unique identifier (string, required)list_environments - List all environments within an organization
organizationId
: Organization unique identifier (string, required)get_environment - Get details of a specific environment
organizationId
: Organization unique identifier (string, required)environmentId
: Environment unique identifier (string, required)list_instances - List all instances within an environment
organizationId
: Organization unique identifier (string, required)environmentId
: Environment unique identifier (string, required)get_instance - Get details of a specific instance
organizationId
: Organization unique identifier (string, required)environmentId
: Environment unique identifier (string, required)instanceId
: Instance unique identifier (string, required)list_backups - List all backups for an instance
organizationId
: Organization unique identifier (string, required)environmentId
: Environment unique identifier (string, required)instanceId
: Instance unique identifier (string, required)get_backup - Get details of a specific backup
organizationId
: Organization unique identifier (string, required)environmentId
: Environment unique identifier (string, required)instanceId
: Instance unique identifier (string, required)backupId
: Backup unique identifier (string, required)The exported Go API of this module should currently be considered unstable and subject to breaking changes. In the future, we may offer stability; please file an issue if there is a use case where this would be valuable.
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.