RAG Documentation MCP Server
RAG Documentation MCP Server
An MCP server implementation that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context.
Table of Contents
Features
Tools
- search_documentation
- Search through the documentation using vector search
- Returns relevant chunks of documentation with source information
- list_sources
- List all available documentation sources
- Provides metadata about each source
- extract_urls
- Extract URLs from text and check if they're already in the documentation
- Useful for preventing duplicate documentation
- remove_documentation
- Remove documentation from a specific source
- Cleans up outdated or irrelevant documentation
- list_queue
- List all items in the processing queue
- Shows status of pending documentation processing
- run_queue
- Process all items in the queue
- Automatically adds new documentation to the vector store
- clear_queue
- Clear all items from the processing queue
- Useful for resetting the system
- add_documentation
- Add new documentation to the processing queue
- Supports various formats and sources
Quick Start
The RAG Documentation tool is designed for:
- Enhancing AI responses with relevant documentation
- Building documentation-aware AI assistants
- Creating context-aware tooling for developers
- Implementing semantic documentation search
- Augmenting existing knowledge bases
Docker Compose Setup
The project includes a docker-compose.yml
file for easy containerized deployment. To start the services:
To stop the services:
Web Interface
The system includes a web interface that can be accessed after starting the Docker Compose services:
- Open your browser and navigate to:
http://localhost:3030
- The interface provides:
- Real-time queue monitoring
- Documentation source management
- Search interface for testing queries
- System status and health checks
Configuration
Embeddings Configuration
The system uses Ollama as the default embedding provider for local embeddings generation, with OpenAI available as a fallback option. This setup prioritizes local processing while maintaining reliability through cloud-based fallback.
Environment Variables
EMBEDDING_PROVIDER
: Choose the primary embedding provider ('ollama' or 'openai', default: 'ollama')EMBEDDING_MODEL
: Specify the model to use (optional)- For OpenAI: defaults to 'text-embedding-3-small'
- For Ollama: defaults to 'nomic-embed-text'
OPENAI_API_KEY
: Required when using OpenAI as providerFALLBACK_PROVIDER
: Optional backup provider ('ollama' or 'openai')FALLBACK_MODEL
: Optional model for fallback provider
Cline Configuration
Add this to your cline_mcp_settings.json
:
Claude Desktop Configuration
Add this to your claude_desktop_config.json
:
Default Configuration
The system uses Ollama by default for efficient local embedding generation. For optimal reliability:
- Install and run Ollama locally
- Configure OpenAI as fallback (recommended):Copy
This configuration ensures:
- Fast, local embedding generation with Ollama
- Automatic fallback to OpenAI if Ollama fails
- No external API calls unless necessary
Note: The system will automatically use the appropriate vector dimensions based on the provider:
- Ollama (nomic-embed-text): 768 dimensions
- OpenAI (text-embedding-3-small): 1536 dimensions
Acknowledgments
This project is a fork of qpd-v/mcp-ragdocs, originally developed by qpd-v. The original project provided the foundation for this implementation.
Special thanks to the original creator, qpd-v, for their innovative work on the initial version of this MCP server. This fork has been enhanced with additional features and improvements by Rahul Retnan.
Troubleshooting
Server Not Starting (Port Conflict)
If the MCP server fails to start due to a port conflict, follow these steps:
- Identify and kill the process using port 3030:
- Restart the MCP server
- If the issue persists, check for other processes using the port:
- You can also change the default port in the configuration if needed
This server cannot be installed
Enables AI assistants to enhance their responses with relevant documentation through a semantic vector search, offering tools for managing and processing documentation efficiently.