KubeBlocks Cloud Integration
STDIOMCP server providing integration with KubeBlocks Cloud APIs for AI assistant interactions.
MCP server providing integration with KubeBlocks Cloud APIs for AI assistant interactions.
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.