LabscoMCP early access ↗
rileylemmMCP SERVER

GraphRAG

Retrieve documents by meaning and then follow the relationships around them - Qdrant for similarity, Neo4j for context.

by rileylemm ↗Vector Stores & RAG RetrievalCommunity

LABSCO SUMMARY

Similarity finds the chunk; the graph supplies the context.

Plain vector search returns the five nearest chunks and stops. Here a match can be expanded along the relationships stored in Neo4j, so the answer arrives with the neighbouring material that explains it.

What it is

A retrieval server over a pair of databases: Qdrant holds the embeddings, Neo4j holds the relationships between documents. A search can be pure semantic similarity, or hybrid - similarity first, then expanded along the graph.

What you get

  • Semantic search over document embeddings held in Qdrant
  • Hybrid retrieval combining vector similarity with the graph relationships around each match
  • Context expansion through Neo4j, so a result arrives with what it connects to rather than alone
  • The Neo4j schema and the Qdrant collection documented, so what is being searched is inspectable

Requirements

Python 3.12 or newer, Neo4j and Qdrant reachable locally, both configured in a .env - and, the part that takes the time, your documents already indexed into both. The companion repository covers building that hybrid database; without the indexing step this server has nothing to search.

Setup effort

Build from source — git clone https://github.com/rileylemm/graphrag_mcp.git