Labsco
MCP SERVER

GraphRAG

by rileylemm

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

Vector Stores & RAG Retrieval
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.