Overview
qmd (by Tobias Lütke) is a hybrid BM25 + vector search engine purpose-built for markdown wikis. It runs a three-model local pipeline (query expansion + reranker) with no LLM API calls. In the comprehensive report it is the recommended search layer when a wiki outgrows index.md grep (Pattern B / Scale tier 100–500 pages).
Key Facts
- Type: hybrid search engine (BM25 + vector) for markdown
- Pipeline: three local models — query expansion, then reranker
- Cost: no LLM API calls; runs locally
- Role: search MCP (
qmd-mcp) for scaling past ~500 pages - Author: Tobias Lütke (Shopify founder)
- Released May 2026 (per the comprehensive report timeline)
Features
Core Architecture
- Hybrid search — BM25 keyword + vector semantic search combined
- Three-model local pipeline — query expansion + reranker, all local
- Zero API calls — runs entirely offline, no LLM API costs
- MCP server —
qmd-mcpexposes search to agents
Search & Retrieval
- BM25 + vector — best of keyword and semantic worlds
- Query expansion — local model rewrites queries for better recall
- Reranker — local model re-ranks results for precision
- Markdown-native — built specifically for markdown wiki content
MCP / Tools
qmd-mcp— Model Context Protocol server for agent integration- CLI tool — command-line search interface
- Local-first — no cloud dependency
Integration
- Agent-compatible — works with any MCP-capable agent
- Obsidian compatible — searches Obsidian vaults directly
- Wiki-native — understands wikilink structure
Data & Storage
- File-based index — no database required
- Markdown-native — indexes .md files directly
- Privacy-preserving — all data stays local
Relationships
- llm-wiki — (type: enables) search backend for growing wikis
- agent-memory-systems — (type: belongs-to) retrieval layer for the artifact-first family
- cognee — (type: sibling-of) alternative scale path (graph vs search); the report offers both
- model-context-protocol — (type: uses) exposes
qmd-mcphybrid search - vault-roadmap — (type: belongs-to) the vault’s own scale phase anticipates local search like this
Implications
qmd addresses the vault’s own “what happens when index.md breaks” question. It is the lightweight, local, privacy-preserving search option — directly relevant to the user’s earlier concern about the vault being “too manual”: local search removes the need to grep by hand without sending data to an API.
External Links
- Repository: https://github.com/tobi/qmd