finds.dev← search

// the find

jerry-ai-dev/MODULAR-RAG-MCP-SERVER

★ 1,022 · Python · updated Mar 2026

A modular RAG (Retrieval-Augmented Generation) system with MCP Server architecture. Using Skill to make AI follow each step of the spec and complete the code 100% by AI.

A Python RAG reference implementation that pairs hybrid retrieval (BM25 + dense + RRF + cross-encoder rerank) with an MCP server so Copilot or Claude can call it directly. The stated purpose is dual: a working system you can study and extend, and a job interview portfolio piece for Chinese developers entering LLM engineering roles.

The pluggable architecture is genuinely well done — LLM, embedding, reranker, splitter, and vector store each have an abstract base class and a factory, so swapping ChromaDB for Postgres or Ollama for Azure OpenAI is a single config change with no code edits. The hybrid retrieval stack (BM25 sparse + dense embedding + RRF fusion + optional cross-encoder rerank) matches current best practice rather than just doing naive cosine similarity against a vector DB. Full-chain observability via a Streamlit dashboard is rare in this class of projects — you can see intermediate states for both ingestion and query paths, which makes debugging retrieval quality an actual process rather than guesswork. The test suite is layered correctly: unit tests for individual components, integration tests for module interactions, E2E tests for the full MCP client and dashboard flows.

The cross-encoder reranker and custom evaluator modules are explicitly documented as 'framework built, untested' — which means two of the architecturally interesting parts don't actually work reliably out of the box. The main branch is intentionally a single-commit dump with no real development history, making it hard to understand why design decisions were made or catch regressions. The README includes explicit guidance on using AI to generate inflated resume metrics ('amplification strategy'), complete with sample bullet points claiming 92% Hit Rate@10 and sub-800ms latency on 5000+ documents — numbers that were not measured on this system. The README is entirely in Chinese, which limits its usefulness to a significant chunk of the open-source audience who might otherwise contribute or evaluate the code.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →