workspace-qdrant-mcp

Project-scoped vector database for AI assistants, providing hybrid semantic + keyword search with automatic project detection.
π§ v0.2.0 rebuild in progress
workspace-qdrant-mcp is being rebuilt from the ground up in preparation for v0.2.0 β
a unified storage model, better search quality, more reliable file watching, and a cleaner
architecture, with a no-re-index migration for existing users. Once the design is locked
(targeted early July) we'll open the work to outside contributors. See the
Roadmap for the top-line plan.
Features
- Hybrid Search - Combines semantic similarity with keyword matching using Reciprocal Rank Fusion
- Project Detection - Automatic Git repository awareness and project-scoped collections
- 7 MCP Tools - search, retrieve, rules, store, grep, list, embedding
- Code Intelligence - Tree-sitter semantic chunking + LSP integration for active projects
- Code Graph - Relationship graph with algorithms (PageRank, community detection, betweenness centrality)
- High-Performance CLI - Rust-based
wqm command-line tool
- Background Daemon -
memexd for continuous file monitoring and processing
Quick Start
Prerequisites
- Qdrant -
docker run -d -p 6333:6333 -v qdrant_storage:/qdrant/storage qdrant/qdrant
- C compiler - Required for compiling Tree-sitter grammars on first use. Tree-sitter grammars are distributed as C source and compiled locally.
- macOS:
xcode-select --install (Xcode Command Line Tools)
- Linux:
apt install build-essential (Debian/Ubuntu) or dnf groupinstall "Development Tools" (Fedora)
- Windows: Install Visual Studio Build Tools with C++ workload
- Clang/LLVM - Required only to build
memexd from source, for the LadybugDB C++ core (the default graph backend). Pre-built binaries (Homebrew, release artifacts) do not need it.
- macOS: Xcode Command Line Tools include Clang (
xcode-select --install)
- Linux:
apt install clang libclang-dev (Debian/Ubuntu) or dnf install clang (Fedora)
- Alternative: build without the C++ toolchain using the SQLite-only backend β
cargo build --no-default-features --features sqlite
Install
Option 1: Homebrew (Recommended β macOS & Linux)
brew install ChrisGVE/tap/workspace-qdrant
brew services start workspace-qdrant
Option 2: Pre-built Binaries
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/ChrisGVE/workspace-qdrant-mcp/main/scripts/download-install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/ChrisGVE/workspace-qdrant-mcp/main/scripts/download-install.ps1 | iex
Installs wqm, memexd, and workspace-qdrant-mcp to ~/.local/bin (Linux/macOS) or %LOCALAPPDATA%\wqm\bin (Windows).
Option 3: Build from Source
git clone https://github.com/ChrisGVE/workspace-qdrant-mcp.git
cd workspace-qdrant-mcp
./install.sh
See Installation Reference for detailed instructions and platform-specific notes. For Windows, see the Windows Installation Guide.
Configure MCP
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"workspace-qdrant-mcp": {
"command": "workspace-qdrant-mcp",
"env": {
"QDRANT_URL": "http://localhost:6333"
}
}
}
}
Claude Code:
claude mcp add workspace-qdrant-mcp -- workspace-qdrant-mcp
Verify
wqm --version
wqm status health
CLAUDE.md Integration
Add the following to your project's CLAUDE.md (or your global ~/.claude/CLAUDE.md) so Claude Code uses workspace-qdrant proactively:
## workspace-qdrant
The `workspace-qdrant` MCP server provides codebase-aware search, a library knowledge base, a scratchpad for accumulated insights, and persistent behavioral rules. The tool schemas are self-describing; these instructions cover *when* and *how* to use them.
### Primary Search and Knowledge Base
**Use `workspace-qdrant` first whenever context is uncertain** β first session on a project, returning after a significant gap, or exploring an unfamiliar subsystem. It is faster and more accurate than walking files manually, and it retrieves findings from prior sessions that would otherwise be lost.
**Three-step protocol:**
1. **Search** with `workspace-qdrant` (`search`, `grep`, `list`, or `retrieve`)
2. **Fall back** to `Grep`, `Glob`, `WebSearch` only when workspace-qdrant is insufficient or unavailable
3. **Store** any new findings, analysis, or design rationale via `store` so they are retrievable in future sessions
When a fresh handover or strong prior context already covers what you need, skip the exploratory search β but always store new findings at the end.
**Collections and their purpose:**
- `projects` β indexed codebase; use `scope="project"` (current project) or `scope="all"` (across all projects)
- `libraries` β external reference docs, API specs, third-party documentation; add via `store` with `collection="libraries"` and search with `includeLibraries=true`
- `scratchpad` β analysis, design rationale, research transcripts, architectural insights; complements session handovers by building a growing, semantically searchable knowledge layer across sessions
- `rules` β persistent behavioral rules; load at session start via `rules` β `action="list"`
**Practical notes:**
- Use `grep` for exact strings or regex; `list` with `format="summary"` to explore project structure
- Store external docs or specs into `libraries` so they are searchable alongside code
- Use the scratchpad to record *why* decisions were made, not just *what* was done β future sessions can retrieve the reasoning
### Sub-Agents
Sub-agents start with only the prompt you give them β they have no session history or handover context. They must always use `workspace-qdrant` first for any code exploration, without exception. Include this verbatim in every agent prompt:
> "You have no prior context about this codebase. Use `workspace-qdrant` as your mandatory first tool for ALL code searches β symbols, functions, architecture, patterns, prior findings. Use `search`, `grep`, `list`, or `retrieve` before touching any file with Read/Grep/Glob. Store any new findings, analysis, or design rationale via `store` (scratchpad for insights, libraries for reference docs) so they persist for future sessions."
### Project Registration
At session start, check whether the current project is registered with workspace-qdrant. If it is not, ask the user whether they want to register it (do not register silently). Once registered, the daemon handles file watching and ingestion automatically β no further action is needed.
### Behavioral Rules
The `rules` tool manages persistent rules that are injected into context across sessions. Rules are **user-initiated only** β add rules when the user explicitly instructs you to, never autonomously. Use `action="list"` at session start to load active rules.
### Issue Reporting
workspace-qdrant is under active development. If you encounter errors, unexpected behavior, or limitations with any workspace-qdrant tool, report them as GitHub issues at https://github.com/ChrisGVE/workspace-qdrant-mcp/issues using the `gh` CLI.
MCP Tools
| Tool | Purpose |
|---|
search | Hybrid semantic + keyword search across indexed content |
retrieve | Direct document lookup by ID or metadata filter |
rules | Manage persistent behavioral rules |
store | Store content, register projects, save notes |
grep | Exact substring or regex search using FTS5 |
list | List project files and folder structure |
See MCP Tools Reference for parameters and examples.
Collections
| Collection | Purpose | Isolation |
|---|
projects | Project code and documentation | Multi-tenant by tenant_id |
libraries | Reference documentation (books, papers, docs) | Multi-tenant by library_name |
rules | Behavioral rules and preferences | Multi-tenant by project_id |
scratchpad | Temporary working storage | Per-session |
CLI Reference
# Service management
wqm service start # Start background daemon
wqm service status # Check daemon status
wqm status health # System health check
# Search and content
wqm search "query" # Search collections
wqm ingest file path.py # Ingest a file
wqm rules list # List behavioral rules
# Project and library
wqm project list # List registered projects
wqm project watch pause # Pause file watchers
wqm library list # List libraries
wqm tags list # List tags with counts
# Administration
wqm admin collections list # List collections
wqm admin rebuild all # Rebuild all indexes
wqm admin backup create # Backup snapshots
wqm admin stats overview # Search analytics