Workspace-Qdrant-MCP
Code knowledge and metadata with live update, knowledge library, semantic and vector searches
workspace-qdrant-mcp
Project-scoped vector database for AI assistants, providing hybrid semantic + keyword search with automatic project detection.
Features
- Hybrid Search - Combines semantic similarity with keyword matching using Reciprocal Rank Fusion
- Project Detection - Automatic Git repository awareness and project-scoped collections
- 6 MCP Tools - search, retrieve, rules, store, grep, list
- 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
wqmcommand-line tool - Background Daemon -
memexdfor 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) ordnf groupinstall "Development Tools"(Fedora) - Windows: Install Visual Studio Build Tools with C++ workload
- macOS:
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 and memexd 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": "node",
"args": ["/path/to/workspace-qdrant-mcp/src/typescript/mcp-server/dist/index.js"],
"env": {
"QDRANT_URL": "http://localhost:6333"
}
}
}
}
Claude Code:
claude mcp add workspace-qdrant-mcp -- node /path/to/workspace-qdrant-mcp/src/typescript/mcp-server/dist/index.js
Verify
wqm --version
wqm admin 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 admin 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 library list # List libraries
wqm tags list # List tags with counts
# Code graph
wqm graph stats --tenant <t> # Node/edge counts
wqm graph query --node-id <id> --tenant <t> --hops 2 # Related nodes
wqm graph impact --symbol <name> --tenant <t> # Impact analysis
wqm graph pagerank --tenant <t> --top-k 20 # PageRank centrality
# Queue and monitoring
wqm queue stats # Queue statistics
See CLI Reference for complete documentation.
Configuration
Environment Variables
| Variable | Default | Description |
|---|---|---|
QDRANT_URL | http://localhost:6333 | Qdrant server URL |
QDRANT_API_KEY | - | API key (required for Qdrant Cloud) |
FASTEMBED_MODEL | all-MiniLM-L6-v2 | Embedding model |
Architecture
+-----------------+
| Claude/Client |
+--------+--------+
|
+--------v--------+
| MCP Server | (TypeScript)
+--------+--------+
|
+--------------+--------------+
| |
+--------v--------+ +--------v--------+
| Rust Daemon | | Qdrant |
| (memexd) | | Vector Database |
+--------+--------+ +-----------------+
|
+--------v--------+
| File Watcher |
| Code Graph |
| Embeddings |
+-----------------+
The Rust daemon handles file watching, embedding generation, code graph extraction, and queue processing. All writes route through the daemon for consistency.
Documentation
User guides:
- Quick Start — get running in 5 minutes
- User Manual — full usage guide
- LLM Integration — best practices for Claude
Reference:
- Installation | Windows
- CLI Reference — all
wqmcommands - MCP Tools — tool parameters and examples
- Configuration — all options and defaults
- Architecture — component overview
See the Documentation Index for specifications, ADRs, and developer resources.
Development
# TypeScript MCP server
cd src/typescript/mcp-server && npm install && npm run build && npm test
# Rust daemon and CLI (from src/rust/)
cargo build --release
cargo test
# Graph benchmarks
cargo bench --package workspace-qdrant-core --bench graph_bench
# Binaries output to:
# - target/release/wqm
# - target/release/memexd
Contributing
See CONTRIBUTING.md for development setup and guidelines.
License
MIT License - see LICENSE for details.
Inspired by claude-qdrant-mcp
Serveurs connexes
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
JavaScript Sandbox
Provides a secure JavaScript execution environment for running code snippets.
Excalidraw MCP
Generate 25+ diagram types (flowchart, sequence, ER, mindmap, architecture, etc.) as Excalidraw files with natural language. CJK support, 30+ tech brand colors, Sugiyama auto-layout.
MCP Quickstart
A basic MCP server from the Quickstart Guide, adapted for OpenAI's Chat Completions API.
Context7
Provides up-to-date, version-specific documentation and code examples for libraries directly into your prompt.
MalwareAnalyzerMCP
Execute terminal commands for malware analysis. Requires Node.js 18 or higher.
Bitcoin SV MCP Server
A collection of tools for interacting with the Bitcoin SV (BSV) blockchain, including wallet, ordinals, and utility functions.
Assistant MCP Server
An MCP server that dynamically loads tools from an external JSON file configured via an environment variable.
AI pair programming
Orchestrates a dual-AI engineering loop where a Primary AI plans and implements, while a Review AI validates and reviews, with continuous feedback for optimal code quality. Supports custom AI pairing (Claude, Codex, Gemini, etc.)
JFrog MCP Server
Interact with the JFrog Platform API for repository management, build tracking, and release lifecycle management.
Rails Active MCP
A Ruby gem providing secure Rails console access through MCP for AI agents and development tools.