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

https://github.com/yanmxa/multicluster-mcp-server

The gateway for GenAI systems to interact with open-cluster-management through the MCP
https://github.com/yanmxa/multicluster-mcp-server

Last synced: 4 days ago
JSON representation

The gateway for GenAI systems to interact with open-cluster-management through the MCP

Awesome Lists containing this project

README

          

# Open Cluster Management MCP Server

The **OCM MCP Server** provides a robust gateway for Generative AI (GenAI) systems to interact with multiple Kubernetes clusters through the Model Context Protocol (MCP). It facilitates comprehensive operations on Kubernetes resources, streamlined multi-cluster management, and delivered interactive cluster observability.

## **🚀 Features**

### 🛠️ MCP Tools - Kubernetes Cluster Awareness

- ✅ Retrieve resources from the **hub cluster** (current context)
- ✅ Retrieve resources from the **managed clusters**
- ✅ Connect to a **managed cluster** using a specified `ClusterRole`
- ✅ Access resources across multiple Kubernetes clusters(via Open Cluster Management)
- 🔄 Retrieve and analyze **metrics, logs, and alerts** from integrated clusters
- ❌ Interact with multi-cluster APIs, including Managed Clusters, Policies, Add-ons, and more

![alt text](images/tools.png)

Mutiple Kubernetes Clusters Operations

[![Watch the demo](https://asciinema.org/a/706281.svg)](https://asciinema.org/a/706281)

### 📦 Prompt Templates for Open Cluster Management *(Planning)*

- Provide reusable prompt templates tailored for OCM tasks, streamlining agent interaction and automation

### 📚 MCP Resources for Open Cluster Management *(Planning)*

- Reference official OCM documentation and related resources to support development and integration

### **📌 How to Use**

Configure the server using the following snippet:

```json
{
"mcpServers": {
"multicluster-mcp-server": {
"command": "npx",
"args": [
"-y",
"multicluster-mcp-server@latest"
]
}
}
}
```

**Note:** Ensure `kubectl` is installed. By default, the tool uses the **`KUBECONFIG`** environment variable to access the cluster. In a multi-cluster setup, it treats the configured cluster as the **hub cluster**, accessing others through it.

## License

This project is licensed under the [MIT License](LICENSE).