praveenkumar/crc-doc-mcp
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 dayong@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.
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:
- CRC Docs: https://crc.dev/docs - Official documentation
- CRC Blog: https://crc.dev/blog - Blog posts and announcements
- CRC Engineering: https://crc.dev/engineering-docs - Engineering documentation
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:
- Open Cursor Settings (Cmd/Ctrl + ,)
- Search for "MCP" or go to Extensions → MCP
- 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:
- Restart Cursor/VSCode
- Open the MCP panel or use the command palette
- 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 Localsources(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
- Content Fetching: The server fetches HTML content from CRC documentation sources
- Text Extraction: Uses BeautifulSoup to extract clean, readable text from HTML
- Relevance Scoring: Analyzes content to find sections most relevant to your query
- Caching: Stores fetched content to improve performance on subsequent queries
- Response Formatting: Returns structured results with source attribution
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- 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.