omni-rag-mcp
A general-purpose RAG MCP plugin for token-efficient semantic search over any directory of files. Auto-ingests the current working directory on first search and provides hybrid search (BM25 + semantic), directory overview, structural analysis, and dependency graphs.
Zero-config by default: local Qdrant storage, ONNX embeddings, no external services required. Supports code, markdown, PDFs, CSVs, and more via pluggable extractors.
Quick Start
pip install omni-rag-mcp
omni-rag-setup
That's it. Restart Claude Code and the plugin auto-indexes your working directory on first search.
How It Works
Your Files -> Extractors -> Chunking -> Embedding -> Qdrant (local)
|
Claude Code -> MCP Tool Call -> Hybrid Search -> Relevant Snippets
- First search auto-ingests your working directory (extracts content, chunks, generates embeddings, stores in local Qdrant)
- Subsequent searches are fast hybrid lookups (BM25 + semantic) -- no re-ingestion needed
- Incremental updates detect git changes and only re-embed modified files
MCP Tools
| Tool | Purpose |
|---|---|
search |
Hybrid search over indexed files (auto-ingests if needed) |
search_by_file |
Search filtered by file path pattern |
get_context |
Compressed directory overview (languages, structure, dependencies) |
get_file_signatures |
Function/class signatures without reading every file |
get_dependency_graph |
Internal import/dependency graph |
stats |
Index size and configuration |
ingest |
Manual re-index (incremental by default, force=True for full) |
check_status |
Is the index current? Any uncommitted changes? |
Embedding Providers
Zero-config by default. Choose your provider:
| Provider | Config | Notes |
|---|---|---|
| ONNX (default) | None needed | Auto-downloads all-MiniLM-L6-v2 (23MB, 384-dim) |
| Ollama | OMNI_RAG_EMBEDDING_PROVIDER=ollama |
Requires Ollama running with model pulled |
| OpenAI | OMNI_RAG_EMBEDDING_PROVIDER=openai + OMNI_RAG_OPENAI_API_KEY=sk-... |
text-embedding-3-small |
| Voyage | OMNI_RAG_EMBEDDING_PROVIDER=voyage + OMNI_RAG_VOYAGE_API_KEY=... |
voyage-code-3 (optimized for code) |
Optional Extras
pip install omni-rag-mcp[pdf] # PDF extraction (PyMuPDF)
pip install omni-rag-mcp[docx] # Word document extraction
pip install omni-rag-mcp[image] # Image/OCR extraction (Tesseract + Pillow)
pip install omni-rag-mcp[all] # All optional extractors
Storage
By default, uses Qdrant in local/on-disk mode -- no Docker needed. Data stored in .omni-rag/ under your project directory.
For remote Qdrant:
OMNI_RAG_QDRANT_MODE=remote
OMNI_RAG_QDRANT_HOST=your-host
OMNI_RAG_QDRANT_PORT=6333
Configuration
All settings via environment variables with OMNI_RAG_ prefix. See config/.env.example for the full reference.
Legacy RAG_ prefix variables are still supported with deprecation warnings.
Development
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
python -m pytest tests/ -v
# Health check
python scripts/health_check.py
Manual MCP Registration
If omni-rag-setup doesn't work, add this to your Claude Code MCP config:
{
"mcpServers": {
"omni-rag": {
"command": "omni-rag"
}
}
}
Metadata
Release files for omni-rag-mcp 3.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| omni_rag_mcp-3.0.1.tar.gz | 172.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| omni_rag_mcp-3.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 228.5 kB
Release files / omni_rag_mcp-3.0.1.tar.gz
| Download URL | omni_rag_mcp-3.0.1.tar.gz |
|---|---|
| Size | 172.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1c75f840de0284f3ddad62a9ad48f28240936e595e7bc0101087e20d62a5cf77
|
|
BLAKE2b-256 checksum How to use checksums |
84c6e922f321af87775caf7d5b9c4b67393ea83ce7f6eaa691da5bb03add4e76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 18, 2026.
Transparency logRelease files / omni_rag_mcp-3.0.1-py3-none-any.whl
| Download URL | omni_rag_mcp-3.0.1-py3-none-any.whl |
|---|---|
| Size | 55.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
56f79d413bc42f2f9c4b5c70ee8f3a3339581ac31587cc5c1f377d1b310d9219
|
|
BLAKE2b-256 checksum How to use checksums |
b4075f8ad26e1e2ae56a8caac45dc8cfc49330a95bfa3bef89023641369150fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 18, 2026.
Transparency logSecurity for omni-rag-mcp 3.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for omni_rag_mcp-3.0.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 18, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.