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 "Install 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/janik96v/OpenRAG'
If you have feedback or need assistance with the MCP directory API, please join our Discord server