crc-doc-mcp

praveenkumar/crc-doc-mcp

3.2

If you are the rightful owner of crc-doc-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The CRC Documentation MCP Server provides intelligent access to CRC/OpenShift Local documentation by fetching, caching, and searching through official CRC documentation to answer user queries.

Tools
  1. crc_doc_query

    Query CRC documentation to get answers about CodeReady Containers or OpenShift Local.

  2. clear_cache

    Clear the documentation cache to fetch fresh content on the next query.

CRC Documentation MCP Server

An MCP (Model Context Protocol) server that provides intelligent access to CRC/OpenShift Local documentation. This server fetches, caches, and searches through official CRC documentation to answer questions about CRC or OpenShift Local.

Features

  • Multi-source Documentation Access: Fetches content from multiple CRC documentation sources
  • Intelligent Search: Finds relevant sections based on query relevance scoring
  • Caching System: Reduces API calls by caching fetched documentation
  • Clean Text Extraction: Extracts readable content from HTML pages
  • MCP Integration: Works seamlessly with MCP-compatible clients

Documentation Sources

The server accesses the following CRC documentation sources:

Installation

Prerequisites

  • Python 3.13 or higher
  • uv (recommended) or pip

Install with uv (recommended)

# Clone the repository
git clone <repository-url>
cd crc-documentation

# Install dependencies
uv sync

Usage

Running the Server

Start the MCP server:

# With uv
uv run server.py

# With Python directly
python server.py

The server runs on stdio transport and is designed to be used with MCP-compatible clients.

Using with Cursor/VSCode

Cursor Configuration

To use this MCP server with Cursor, add the following configuration to your Cursor settings:

  1. Open Cursor Settings (Cmd/Ctrl + ,)
  2. Search for "MCP" or go to Extensions → MCP
  3. Add a new MCP server configuration:
{
  "mcpServers": {
    "crcdocs": {
      "command": "/path/to/your/uv/binary",
      "args": [
        "--directory",
        "/path/to/your/crc-documentation",
        "run",
        "server.py"
      ]
    }
  }
}

Deployed Server

Cursor Configuration
{
  "mcpServers": {
    "crcdocs": {
      "url": "https://crc-doc-mcp.onrender.com/mcp/"
    }
  }
}
Testing the Integration

Once configured, you can test the integration by:

  1. Restart Cursor/VSCode
  2. Open the MCP panel or use the command palette
  3. Try asking questions like:
    • "How do I install CRC on Linux?"
    • "What are the system requirements for CRC?"
    • "How do I troubleshoot CRC startup issues?"

The server will search through CRC documentation and provide relevant answers.

Available Tools

crc_doc_query

Query CRC documentation to get answers about CodeReady Containers or OpenShift Local.

Parameters:

  • query (required): Your question about CRC or OpenShift Local
  • sources (optional): List of specific sources to search (defaults to all sources)

Example:

# Query all sources
result = await crc_doc_query("How do I install CRC on Linux?")

# Query specific sources
result = await crc_doc_query(
    "What are the system requirements?", 
    sources=["crc", "crc-blog"]
)
clear_cache

Clear the documentation cache to fetch fresh content on the next query.

Example:

result = await clear_cache()

Configuration

The server is configured through the following constants in server.py:

DOC_SOURCES = {
    "crc": "https://crc.dev/docs",
    "crc-blog": "https://crc.dev/blog", 
    "crc-dev": "https://crc.dev/engineering-docs"
}

How It Works

  1. Content Fetching: The server fetches HTML content from CRC documentation sources
  2. Text Extraction: Uses BeautifulSoup to extract clean, readable text from HTML
  3. Relevance Scoring: Analyzes content to find sections most relevant to your query
  4. Caching: Stores fetched content to improve performance on subsequent queries
  5. Response Formatting: Returns structured results with source attribution

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Logging

The server uses Python's built-in logging module. Logs are set to INFO level by default and include:

  • Documentation fetching operations
  • Error handling for failed requests
  • Cache operations

Support

For issues with this MCP server, please open an issue in the repository.