Project Files
requirements.txt
# ─────────────────────────────────────────────────────────────────────────────
# MCP RAG Server — Python dependencies
# Install: pip install -r requirements.txt
# ─────────────────────────────────────────────────────────────────────────────
# ── Core MCP ──────────────────────────────────────────────────────────────────
mcp
# ── Vector store ──────────────────────────────────────────────────────────────
chromadb
# ── Embeddings + reranking ────────────────────────────────────────────────────
sentence-transformers # embedding models + CrossEncoder reranker
# ── Document extraction ───────────────────────────────────────────────────────
pypdf # PDF
python-frontmatter # Markdown YAML front matter
beautifulsoup4 # HTML (graceful fallback if missing)
python-docx # DOCX (graceful fallback if missing)
# ── Chunking ─────────────────────────────────────────────────────────────────
nltk # sentence tokenization (sentence + semantic strategies)
# ── HTTP client ───────────────────────────────────────────────────────────────
httpx # async HTTP for web search + HyDE
# ── Web search providers ──────────────────────────────────────────────────────
duckduckgo-search # DuckDuckGo (no API key needed)
# Uncomment as needed:
# brave-search # Brave (needs --brave-api-key)
# tavily-python # Tavily (needs --tavily-api-key)
# (Serper uses httpx directly — no extra package needed)
# ── Optional: EPUB support ────────────────────────────────────────────────────
# ebooklib # EPUB extraction (graceful fallback if missing)
# ── Optional: GPU acceleration ────────────────────────────────────────────────
# torch # Install the CUDA build manually for GPU embeddings
# onnxruntime-gpu # ONNX GPU inference (faster embedding on NVIDIA)