An open API service indexing awesome lists of open source software.

https://github.com/kubesphere/ks-mcp-server


https://github.com/kubesphere/ks-mcp-server

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

          

# KubeSphere MCP Server
The KubeSphere MCP Server is a [Model Context Protocol(MCP)](https://modelcontextprotocol.io/introduction) server that provides integration with KubeSphere APIs, enabling to get resources from KubeSphere. Divided into four tools modules: `Workspace Management`, `Cluster Management`, `User and Roles`, `Extensions Center`.

## Prerequisites
You must have a KubeSphere cluster. contains: Access Address, Username, Password.

## Installation
### Generate KSConfig
The format is similar to kubeconfig. This configuration contains HTTP connector information. The default context for KubeSphere is `kubesphere`, which can be modified via the environment variable `KUBESPHERE_CONTEXT`.
```yaml
apiVersion: v1
clusters:
- cluster:
certificate-authority-data:
server:
name: kubesphere
contexts:
- context:
cluster: kubesphere
user: admin
name: kubesphere
current-context: kubesphere
kind: Config
preferences: {}
users:
- name: admin
user:
username:
password:
```
``: **Optional**. Fill in the CA certificate in base64-encoded format when KubeSphere is accessed via HTTPS.
``: **Required** Must be an HTTPS address. (If using HTTP, enter any HTTPS address here, then modify via the parameter `--ks-apiserver http://xxx`)
``: **Required** The user for the KubeSphere cluster.
``: **Required** The password for the KubeSphere cluster user.

### Get ks-mcp-server binary
you can run command `go build -o ks-mcp-server cmd/main.go` or download from (github releases)[https://github.com/kubesphere/ks-mcp-server/releases]
and then move it to `$PATH`.

### Configuration MCP Server in AI Agent

#### Claude Desktop
1. According to [Claude Desktop](https://modelcontextprotocol.io/quickstart/user)
should change the MCP Configuration. like:
```json
{
"mcpServers": {
"KubeSphere": {
"args": [
"stdio",
"--ksconfig", "",
"--ks-apiserver", ""
],
"command": "ks-mcp-server"
}
}
}
```
``: **Required** The absolute path of the ksconfig file.
``: **Optional (but required for HTTP access)** The access address of the KubeSphere cluster, supporting either the `ks-console` or `ks-apiserver` service address (e.g., `http://172.10.0.1:30880`).

2. chat with mcp server
![claude desktop result](statics/claude-desktop.png)

#### Cursor
1. According to [Curosr](https://docs.cursor.com/context/model-context-protocol)
should change the MCP Configuration. like:
```json
{
"mcpServers": {
"KubeSphere": {
"args": [
"stdio",
"--ksconfig", "",
"--ks-apiserver", ""
],
"command": "ks-mcp-server"
}
}
}
```
``: **Required** The absolute path of the ksconfig file.
``: **Optional (but required for HTTP access)** The access address of the KubeSphere cluster, supporting either the `ks-console` or `ks-apiserver` service address (e.g., `http://172.10.0.1:30880`).

2. chat with mcp server
![cursor result](statics/cursor.png)