Skip to main content
Glama
raihan0824

kubernetes-runbooks-mcp-server

by raihan0824

Kubernetes Runbooks MCP Server

A Model Context Protocol (MCP) server that provides access to Kubernetes troubleshooting runbooks from Container Solutions' Runbooks.

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

Related MCP server: K8s Doctor MCP

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

Install and run directly with uvx:

uvx kubernetes-runbooks-mcp-server

Using uv

uv tool install kubernetes-runbooks-mcp-server
kubernetes-runbooks-server

Using pip

pip install kubernetes-runbooks-mcp-server
kubernetes-runbooks-server

Usage

With Claude Desktop

Add to your Claude Desktop configuration (claude_desktop_config.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

# 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

git clone <repository-url>
cd kubernetes-runbooks-mcp-server
uv sync --dev

Running

uv run kubernetes-runbooks-server

Testing

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

Available Tools

3 tools
fetch-runbookB

Fetch a specific Kubernetes runbook by topic

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesThe runbook topic/slug to fetch

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states 'Fetch' (implying a read operation) but does not disclose behavioral traits such as authentication requirements, error handling, or what happens if the topic does not exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no filler. Every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple fetch tool with one parameter and no output schema, the description is adequate but leaves gaps: it doesn't specify the return format, whether it returns raw content, or any error conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the 'topic' parameter is described). The tool description adds no further detail beyond the schema's 'The runbook topic/slug to fetch', so it meets the baseline without adding value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Fetch'), identifies the resource ('Kubernetes runbook'), and specifies the selection method ('by topic'). It clearly distinguishes from siblings: list-topics lists available topics, search-runbooks does full-text search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-topicsA

List all available Kubernetes runbook topics

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only states 'List all available Kubernetes runbook topics'. This minimally discloses behavior as a simple read operation, but lacks details like whether the list is paginated or includes descriptions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise, and front-loaded with the key verb 'List'. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and no output schema, the description is minimally complete for a simple list. However, it doesn't specify the output format (e.g., topic names, IDs), which could be added for clarity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so baseline is 4. The description does not need to add parameter info since there are none, but it doesn't add any extra meaning either.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all available Kubernetes runbook topics, using specific verb+resource. It distinguishes from siblings: fetch-runbook retrieves a specific runbook, search-runbooks searches, while this lists topics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when you need to see all topics, but provides no explicit guidance on when to use this vs. search-runbooks or fetch-runbook. No exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search-runbooksB

Search through Kubernetes runbooks by keyword

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query for finding relevant runbooks

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description only says 'search', implying read-only but lacks explicit disclosure of side effects, rate limits, or result behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no fluff, front-loaded with action verb and target. Very concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Minimal description lacking details on output format, pagination, or limitations. For a search tool, this is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, parameter description 'Search query for finding relevant runbooks' adds minor context beyond schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'search', resource 'Kubernetes runbooks', and method 'by keyword'. Distinguishes from sibling tools 'fetch-runbook' and 'list-topics' which imply retrieval of specific runbook or listing topics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use vs alternatives. Implied usage for keyword-based search, but no exclusions or mention of sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.1.1
    • First observedfetch-runbook
    • First observedlist-topics
    • First observedsearch-runbooks

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables interactive Kubernetes cluster monitoring and troubleshooting through natural language queries. Users can diagnose pod issues, check service status, and investigate cluster problems using conversational AI.
    -
  • A
    license
    B
    quality
    D
    maintenance
    AI-powered Kubernetes diagnostics that analyzes pod crashes, logs, and cluster health to provide root cause analysis and actionable solutions for common issues like CrashLoopBackOff, OOM kills, and connection errors.
    8
    4 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables read-only Kubernetes incident investigation through MCP tools for listing pods, describing resources, fetching logs, and searching runbooks.
    1
    -