Favicon of QMD

QMD

An on-device document search engine that combines keyword and semantic search with local GGUF models, plus MCP access for AI agents. MIT licensed.

QMD is a local search engine for people with Markdown notes, meeting transcripts, or documentation they want to search themselves or make available to an AI agent. It accepts exact keywords and natural-language queries, with indexing and model inference running on your own machine. It's open source under MIT.

Its hybrid search combines BM25 keyword matching with semantic retrieval, then uses a local LLM to rank the results. Query expansion helps find relevant documents beyond the words you typed. You can also use keyword or semantic search separately. Collections keep different document sets organized, while attached context gives agents more information about what a matching document belongs to. Metadata filters narrow the results further.

QMD runs GGUF models through node-llama-cpp and stores its index in a local SQLite database. It downloads models from Hugging Face on first use and caches them locally. The default embedding model is embeddinggemma; Qwen3-Embedding is another supported choice for multilingual material. Local models also handle query expansion and reranking.

For agent workflows, QMD provides structured search results and document retrieval through its command-line interface and an MCP server, with integrations for Claude Desktop and Claude Code. A shared HTTP server can keep models loaded between requests. Developers can also embed search in Node.js or Bun applications. QMD splits Markdown around document boundaries and can use tree-sitter to preserve structural boundaries in TypeScript, JavaScript, Python, Go, and Rust files.

Similar to QMD