Labsco
MCP SERVER

Qdrant RAG MCP Server

by ancoleman

Semantic search over the codebase you are actually sitting in, scoped automatically to that project — plus GitHub issue and project work on top of it.

Vector Stores & RAG Retrieval
Summary
Project detection is the feature — and the thing that goes wrong first.

Per-project collections are what make the search usable across a machine full of repositories, but they depend on the server knowing your actual working directory, which MCP clients do not always pass through. Check the reported project context before you conclude the index is empty. The GitHub half is a separate, larger surface bolted onto the same retrieval engine.

What it is

A context-aware RAG server backed by Qdrant. It detects the current project from markers such as .git or package.json and keeps each project's index in its own collection, so a search from one repository does not surface results from another unless you ask it to.

What you get
  • `index_directory` indexes a whole tree with glob patterns and exclusions; `index_code` and `index_config` take a single file
  • `search_code` filters by language and chunk type, and `search_config` filters by file type and config path
  • Hybrid search combines semantic similarity with BM25 keyword matching, and results carry their own vector_score and bm25_score
  • AST-based chunking keeps whole functions and classes intact for Python, JavaScript/TypeScript, Shell and Go
  • `get_context` reports which project the server thinks you are in — the first thing to check when results look wrong
  • A GitHub side: 29 tools covering issues, sub-issues and Projects V2, including `github_list_projects`, `github_get_project_status` and `github_smart_add_project_item`
Requirements

The Python package `qdrant-rag-mcp`, version 0.3.4.post6. Python 3.10+ with uv, Docker for Qdrant itself, and the repository's `./scripts/setup.sh` then `./install_global.sh`. The server needs to know your real working directory: set `MCP_CLIENT_CWD` in the client config, pass `--client-cwd`, or export it at the start of the session. `QDRANT_RAG_AUTO_INDEX=true` keeps the index current as files change.

Setup effort

Build from source — clone the repository and build it, then point your client at the binary