Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/strowk/mcp-k8s-go
MCP server connecting to Kubernetes
https://github.com/strowk/mcp-k8s-go
Last synced: about 1 month ago
JSON representation
MCP server connecting to Kubernetes
- Host: GitHub
- URL: https://github.com/strowk/mcp-k8s-go
- Owner: strowk
- Created: 2024-12-01T07:00:54.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-12-01T07:22:12.000Z (about 1 month ago)
- Last Synced: 2024-12-01T08:27:37.932Z (about 1 month ago)
- Language: Go
- Size: 47.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-mcp-servers - mcp-k8s-go - Golang-based Kubernetes MCP Server. Built to be extensible. (Community Servers)
- awesome-mcp-servers - Kubernetes - Kubernetes cluster operations through MCP (⚡ <a name="cloud-platforms"></a>Cloud Platforms)
- awesome-mcp-servers - Kubernetes - Kubernetes cluster operations through MCP (⚡ <a name="cloud-platforms"></a>Cloud Platforms)
- awesome-mcp-servers - Kubernetes MCP Server - 🏎️ ☁️ MCPを通じたKubernetesクラスター操作 (サーバー実装 / ☁️ <a name="cloud-platforms"></a>クラウドプラットフォーム)
README
# MCP K8S Go
This project is intended as a both MCP server connecting to Kubernetes and a library to build more servers for any custom resources in Kubernetes.
Currently available:
- resource: K8S contexts as read from kubeconfig configurations
- tool: list-k8s-contexts
- tool: list-k8s-pods in a given context and namespace
- tool: list-k8s-events in a given context and namespace
- tool: get-k8s-pod-logs in a given context and namespace## Example usage with Inspector
To use this MCP server with Inspector you can run it from root folder of this project:
```bash
tools/inspector/run.sh
```## Example usage with Claude Desktop
To use this MCP server with Claude Desktop you would firstly need to install it by running:
```bash
go get github.com/strowk/mcp-k8s-go
go install github.com/strowk/mcp-k8s-go
```, and then add the following configuration to the `claude-desktop.json` file:
```json
{
"mcpServers": {
"mcp_k8s_go": {
"command": "mcp-k8s-go",
"args": []
}
}
}
```Now you should be able to run Claude Desktop and:
- see K8S contexts available to attach to conversation as a resource
- ask Claude to list contexts
- ask Claude to list pods in a given context and namespace
- ask Claude to list events in a given context and namespace
- ask Claude to read logs of a given pod in a given context and namespace### Demo usage with Claude Desktop
Following chat with Claude Desktop demonstrates how it looks when selected particular context as a resource and then asked to check pod logs for errors in kube-system namespace:
![Claude Desktop](docs/images/claude-desktop-logs.png)