MCP.so
Sign In
Servers

GraphRAG MCP Server

@rileylemm

This is a MCP server I built to interact with my hybrid graph rag db.

Overview

What is GraphRAG MCP Server?

A Model Context Protocol (MCP) server that queries a hybrid graph and vector database system combining Neo4j (graph database) and Qdrant (vector database). Built for developers integrating large language models with powerful semantic and graph-based document retrieval.

How to use GraphRAG MCP Server?

Clone the repository, install dependencies with uv install, configure Neo4j and Qdrant connection details in a .env file, then run uv run main.py. For MCP client integration, add the server to your mcp.json configuration file (e.g., for Claude Desktop or Cursor) pointing to the run_server.sh script.

Key features of GraphRAG MCP Server

  • Semantic search through document embeddings
  • Graph-based context expansion following relationships
  • Hybrid search combining vector similarity with graph links
  • MCP tools and resources for LLM integration
  • Full documentation of Neo4j schema and Qdrant collection info

Use cases of GraphRAG MCP Server

  • Enabling LLMs to perform semantic document retrieval
  • Expanding context using graph relationships for richer answers
  • Hybrid search that balances vector similarity with structured graph queries
  • Integrating Neo4j‑ and Qdrant‑backed knowledge into Claude Desktop or Cursor

FAQ from GraphRAG MCP Server

What are the runtime requirements?

Python 3.12+, plus a running Neo4j instance on localhost:7687 and a running Qdrant instance on localhost:6333 (default ports). Documents must be already indexed in both databases.

How do I install the server?

Clone the repository, run uv install to install dependencies, set database credentials in .env, then start with uv run main.py. A run_server.sh script is provided for MCP client registration.

Why am I getting empty results?

Ensure your document collection is properly indexed in both Neo4j and Qdrant. Verify database connectivity and that the QDRANT_COLLECTION name in .env matches your indexed collection.

How do I configure authentication for Neo4j and Qdrant?

Set NEO4J_USER, NEO4J_PASSWORD, and optionally NEO4J_URI (default bolt://localhost:7687) in .env. Qdrant authentication is not explicitly covered; the default configuration assumes no auth.

What transports and authentication does the server use?

The server uses the MCP protocol over HTTP/WebSocket (native). Neo4j communicates via Bolt protocol, Qdrant via HTTP. Credentials for Neo4j are read from environment variables. No MCP‑level auth is described.

Tags

More from Other