OpenRAG MCP Server
Provides graph database storage for entity relationships in Graph RAG, enabling multi-hop reasoning over personal documents.
Provides local LLM capabilities for contextual document processing and entity extraction used in Contextual and Graph RAG strategies.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenRAG MCP Serversearch for 'climate change impacts' in my documents"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OpenRAG — Multi-Strategy RAG MCP Server
An open-source MCP server for RAG over personal documents. Supports three parallel strategies — Traditional, Contextual, and Graph RAG — with all data stored locally for privacy.
Quick Start (Docker)
No Python or conda required.
# 1. Clone the repository
git clone https://github.com/janik96v/OpenRAG.git
cd OpenRAG
# 2. Copy and adjust the config (change NEO4J_PASSWORD etc.)
cp .env.docker.example .env
# 3. Start everything
docker compose up -dNeo4j and the MCP server start automatically. ChromaDB data is persisted in ./chroma_db, Neo4j data in a Docker volume.
For Contextual and Graph RAG, Ollama must run on your host:
brew install ollama # macOS — Linux/Windows: https://ollama.ai/download
ollama serve
ollama pull llama3.2:3bTraditional RAG only? Set
CONTEXTUAL_ENABLED=falseandGRAPH_ENABLED=falsein.env— no Ollama needed.
See docs/installation.md for the full setup guide including configuration options and troubleshooting.
Related MCP server: MCP RAG Server
Configure Claude Code / Claude Desktop
Claude Code (CLI)
claude mcp add openrag -- docker compose \
-f /absolute/path/to/OpenRAG/docker-compose.yml \
run --rm -i openragClaude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent config file on your OS:
{
"mcpServers": {
"openrag": {
"command": "docker",
"args": [
"compose",
"-f", "/absolute/path/to/OpenRAG/docker-compose.yml",
"run", "--rm", "-i", "openrag"
]
}
}
}Replace /absolute/path/to/OpenRAG/docker-compose.yml with your actual path. Restart Claude Desktop after saving.
MCP Tools
Tool | Description |
| Ingest raw text content. Traditional RAG is immediate; Contextual and Graph RAG run in the background. |
| Semantic search. Choose |
| List all ingested documents with metadata. |
| Remove a document from all RAG collections. |
| System statistics: collection sizes, configuration, background task status. |
RAG Strategy Comparison
Traditional | Contextual | Graph | |
Speed | Fastest | Background | Background |
Accuracy | Good | Better | Best for relationships |
Use Case | Direct facts | Complex queries | Multi-hop reasoning |
Dependencies | ChromaDB | + Ollama | + Ollama + Neo4j |
Collections | 1 | 2 | 3 |
Architecture
src/openrag/
├── server.py # MCP server entry point
├── config.py # Centralized configuration (pydantic-settings)
├── core/
│ ├── chunker.py # Token-aware text chunking (tiktoken)
│ ├── embedder.py # Sentence-transformers embeddings
│ ├── vector_store.py # Traditional RAG (ChromaDB)
│ ├── contextual_processor.py # Context generation (Ollama)
│ ├── contextual_vector_store.py # Dual-collection management
│ ├── graph_processor.py # Entity extraction (Ollama + Neo4j)
│ ├── graph_vector_store.py # Triple-collection + graph traversal
│ └── ollama_client.py # Ollama API client
├── tools/ # MCP tool implementations
├── models/ # Pydantic data models
└── utils/ # Logging, validation, background tasksAll three RAG types share the same ChromaDB instance via separate collections:
Traditional →
documentsContextual →
documents+documents_contextualGraph →
documents+documents_contextual+documents_graph+ Neo4j
Smoke Tests
Manual end-to-end scripts for verifying each RAG strategy are in tests/quick/:
# Traditional RAG (no external dependencies)
python tests/quick/test_normalRAG.py
# Contextual RAG (requires Ollama)
python tests/quick/test_contextualRAG.py
# Graph RAG (requires Ollama + Neo4j, takes 3–5 min)
python tests/quick/test_graphRAG.pyFor automated unit/integration tests, run pytest tests/.
Documentation
Guide | Description |
Docker setup, configuration, MCP wiring, troubleshooting | |
Step-by-step usage guide | |
System design deep-dive |
License
MIT License — see LICENSE
This server cannot be deployed
Maintenance
Related MCP Connectors
Cloud or self-hosted knowledge for AI agents: hybrid search, reranking, GraphRAG, scoped MCP tools.
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
DocBase MCP server for AI agents
Related MCP Servers
- AlicenseAqualityDmaintenanceLocal-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.36 npmMIT
- FlicenseNot gradedqualityDmaintenanceA local RAG server using the Model Context Protocol (MCP) to allow AI assistants to query private documents with persistent memory and support for many file formats.1-
- AlicenseNot gradedqualityAmaintenanceMCP server for local RAG over personal notes, PDFs, and documents, enabling plain-English querying and hybrid search with multi-hop context expansion.MIT
- FlicenseNot gradedqualityCmaintenanceAn MCP server for document parsing, ingestion, query (including multimodal), and lightweight knowledge graph inspection, enabling RAG workflows via the Model Context Protocol.-