kubernetes-runbooks-mcp-server
by raihan0824
README.md
# Kubernetes Runbooks MCP Server
A Model Context Protocol (MCP) server that provides access to Kubernetes troubleshooting runbooks from [Container Solutions' Runbooks](https://containersolutions.github.io/runbooks/posts/kubernetes/).
## Features
- **🔍 Search & Discovery**: Find relevant runbooks by keyword or browse all available topics
- **📖 Content Access**: Fetch detailed troubleshooting guides for specific Kubernetes issues
- **🤖 AI Integration**: Designed for seamless integration with AI assistants via MCP
- **⚡ Performance**: Intelligent caching to minimize network requests
- **🛡️ Reliability**: Robust error handling and graceful degradation
## Available Runbooks
The server provides access to comprehensive troubleshooting guides for:
- **Node Issues**: Resource constraints, node availability problems
- **Pod Problems**: CrashLoopBackOff, ImagePullBackOff, pending states
- **Container Errors**: CreateContainerError, sandbox creation failures
- **Network Issues**: Service connectivity, DNS resolution problems
- **Resource Management**: OutOfPods states, resource allocation issues
## Installation
### Using uvx (Recommended)
Install and run directly with uvx:
```bash
uvx kubernetes-runbooks-mcp-server
```
### Using uv
```bash
uv tool install kubernetes-runbooks-mcp-server
kubernetes-runbooks-server
```
### Using pip
```bash
pip install kubernetes-runbooks-mcp-server
kubernetes-runbooks-server
```
## Usage
### With Claude Desktop
Add to your Claude Desktop configuration (`claude_desktop_config.json`):
```json
{
"mcpServers": {
"kubernetes-runbooks": {
"command": "uvx",
"args": ["kubernetes-runbooks-mcp-server"]
}
}
}
```
### Available Tools
- **`list-topics`**: List all available runbook topics
- **`search-runbooks`**: Search runbooks by keyword
- **`fetch-runbook`**: Get specific runbook content by topic slug
### Available Resources
Access runbooks directly via URI:
- `runbook://kubernetes/create-container-error`
- `runbook://kubernetes/crashloopbackoff`
- `runbook://kubernetes/dns-failures`
### Available Prompts
- **`troubleshoot-k8s`**: Interactive troubleshooting guidance
- **`runbook-summary`**: Summarize key points from runbooks
## Example Usage
```bash
# List all available topics
{"name": "list-topics", "arguments": {}}
# Search for pod-related issues
{"name": "search-runbooks", "arguments": {"query": "pod"}}
# Fetch specific runbook
{"name": "fetch-runbook", "arguments": {"topic": "crashloopbackoff"}}
```
## Development
### Setup
```bash
git clone <repository-url>
cd kubernetes-runbooks-mcp-server
uv sync --dev
```
### Running
```bash
uv run kubernetes-runbooks-server
```
### Testing
```bash
uv run pytest
```
## Architecture
- **RunbookScraper**: Handles web scraping from the runbooks website
- **Caching System**: In-memory cache for runbook metadata and content
- **MCP Server**: Implements the Model Context Protocol with resources, tools, and prompts
## Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request
## License
MIT License - see LICENSE file for details.
## Acknowledgments
- [Container Solutions](https://containersolutions.github.io/) for maintaining excellent Kubernetes runbooks
- [Model Context Protocol](https://modelcontextprotocol.io/) for the MCP specification TDQS
A3.9/5.0
Scored across 3 tools
Disambiguation5/5
Each tool has a distinct purpose: fetching a runbook by topic, listing all topics, and searching by keyword. There is no overlap in functionality, making it easy for an agent to select the correct tool.
Naming Consistency5/5
All tools follow a consistent verb_noun pattern in snake_case (e.g., fetch-runbook, list-topics). The convention is uniform and predictable.
Tool Count5/5
Three tools is well-scoped for a read-only Kubernetes runbook server. It provides essential operations (list, fetch, search) without unnecessary bloat.
Completeness5/5
The tool surface covers the core read operations for runbooks: listing topics, fetching by topic, and searching. No obvious gaps exist given the server's stated purpose.
Maintenance
ActivityInactive
ResponsivenessNo issues