RagDocs MCP Server
A Model Context Protocol (MCP) server that provides RAG (Retrieval-Augmented Generation) capabilities using Qdrant vector database and Ollama/OpenAI embeddings. This server enables semantic search and management of documentation through vector similarity.
Features
- Add documentation with metadata
- Semantic search through documents
- List and organize documentation
- Delete documents
- Support for both Ollama (free) and OpenAI (paid) embeddings
- Automatic text chunking and embedding generation
- Vector storage with Qdrant
Prerequisites
- Node.js 16 or higher
- One of the following Qdrant setups:
- Local instance using Docker (free)
- Qdrant Cloud account with API key (managed service)
- One of the following for embeddings:
- Ollama running locally (default, free)
- OpenAI API key (optional, paid)
Available Tools
1. add_document
Add a document to the RAG system.
Parameters:
url (required): Document URL/identifier
content (required): Document content
metadata (optional): Document metadata
title: Document title
contentType: Content type (e.g., "text/markdown")
2. search_documents
Search through stored documents using semantic similarity.
Parameters:
query (required): Natural language search query
options (optional):
limit: Maximum number of results (1-20, default: 5)
scoreThreshold: Minimum similarity score (0-1, default: 0.7)
filters:
domain: Filter by domain
hasCode: Filter for documents containing code
after: Filter for documents after date (ISO format)
before: Filter for documents before date (ISO format)
3. list_documents
List all stored documents with pagination and grouping options.
Parameters (all optional):
page: Page number (default: 1)
pageSize: Number of documents per page (1-100, default: 20)
groupByDomain: Group documents by domain (default: false)
sortBy: Sort field ("timestamp", "title", or "domain")
sortOrder: Sort order ("asc" or "desc")
4. delete_document
Delete a document from the RAG system.
Parameters:
url (required): URL of the document to delete
Installation
npm install -g @mcpservers/ragdocs
MCP Server Configuration
{
"mcpServers": {
"ragdocs": {
"command": "node",
"args": ["@mcpservers/ragdocs"],
"env": {
"QDRANT_URL": "http://127.0.0.1:6333",
"EMBEDDING_PROVIDER": "ollama"
}
}
}
}
Using Qdrant Cloud:
{
"mcpServers": {
"ragdocs": {
"command": "node",
"args": ["@mcpservers/ragdocs"],
"env": {
"QDRANT_URL": "https://your-cluster-url.qdrant.tech",
"QDRANT_API_KEY": "your-qdrant-api-key",
"EMBEDDING_PROVIDER": "ollama"
}
}
}
}
Using OpenAI:
{
"mcpServers": {
"ragdocs": {
"command": "node",
"args": ["@mcpservers/ragdocs"],
"env": {
"QDRANT_URL": "http://127.0.0.1:6333",
"EMBEDDING_PROVIDER": "openai",
"OPENAI_API_KEY": "your-api-key"
}
}
}
}
Local Qdrant with Docker
docker run -d --name qdrant -p 6333:6333 -p 6334:6334 qdrant/qdrant
Environment Variables
QDRANT_URL: URL of your Qdrant instance
QDRANT_API_KEY: API key for Qdrant Cloud (required when using cloud instance)
EMBEDDING_PROVIDER: Choice of embedding provider ("ollama" or "openai", default: "ollama")
OPENAI_API_KEY: OpenAI API key (required if using OpenAI)
EMBEDDING_MODEL: Model to use for embeddings
- For Ollama: defaults to "nomic-embed-text"
- For OpenAI: defaults to "text-embedding-3-small"
License
Apache License 2.0