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.
- 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
- 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)
Add a document to the RAG system.
Parameters:
url
(required): Document URL/identifiercontent
(required): Document contentmetadata
(optional): Document metadatatitle
: Document titlecontentType
: Content type (e.g., "text/markdown")
Search through stored documents using semantic similarity.
Parameters:
query
(required): Natural language search queryoptions
(optional):limit
: Maximum number of results (1-20, default: 5)scoreThreshold
: Minimum similarity score (0-1, default: 0.7)filters
:domain
: Filter by domainhasCode
: Filter for documents containing codeafter
: Filter for documents after date (ISO format)before
: Filter for documents before date (ISO format)
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")
Delete a document from the RAG system.
Parameters:
url
(required): URL of the document to delete
npm install -g @mcpservers/ragdocs
{
"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"
}
}
}
}
docker run -d --name qdrant -p 6333:6333 -p 6334:6334 qdrant/qdrant
QDRANT_URL
: URL of your Qdrant instance- For local: "http://127.0.0.1:6333" (default)
- For cloud: "https://your-cluster-url.qdrant.tech"
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"
Apache License 2.0