qmd

Search local markdown notes and documents using hybrid BM25, vector, and LLM reranking retrieval.

Updated Jun 7, 2026
One-click install
npx skills add https://github.com/Chensihakniroth/ANAKOT-AGENT --skill qmd-chensihakniroth
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: qmd
Source: https://github.com/Chensihakniroth/ANAKOT-AGENT/tree/main/optional-skills/research/qmd
Command: npx skills add https://github.com/Chensihakniroth/ANAKOT-AGENT --skill qmd-chensihakniroth

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @tobilu/qmd.

What problem does it solve? Finding information across large collections of personal notes, meeting transcripts, and documentation is slow with plain keyword grep, and cloud search services compromise privacy. This Skill indexes local text files and retrieves answers using keyword matching, semantic understanding, and LLM reranking entirely on-device. ## Core Features & Use Cases - Hybrid Local Search: Combines BM25 keyword search, vector embeddings, and LLM reranking with query expansion for high-quality retrieval without cloud dependencies. - Collection Management: Add directories as named collections, attach context descriptions to improve retrieval accuracy, and generate embeddings with simple CLI commands. - MCP Integration: Exposes search tools directly to the agent via stdio or an HTTP daemon that keeps models warm for fast repeated queries. - Use Case: A user with years of markdown meeting notes asks "what decisions were made about the database migration" and gets reranked, contextually relevant excerpts in seconds. ## Quick Start Use the qmd skill to search my notes collection for anything about the API redesign decisions.

Frequently Asked Questions about qmd

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I search my markdown notes locally with semantic search?▼

Install qmd via npm, add your notes directory with qmd collection add, run qmd embed to generate vector embeddings, then use qmd vsearch for semantic queries or qmd query for hybrid search with reranking.

What is the difference between qmd search, vsearch, and query?▼

qmd search runs fast BM25 keyword matching with no models loaded. qmd vsearch uses the embedding model for semantic similarity. qmd query combines both with query expansion and LLM reranking for the best result quality.

Does qmd require an internet connection or cloud service?▼

No, qmd runs entirely on-device after a one-time download of about 2GB of local GGUF models for embeddings, reranking, and query expansion. The index is stored in a local SQLite database.

Why is the first qmd query slow and how do I fix it?▼

Cold start takes about 19 seconds because the models must load into memory. Run qmd mcp --http --daemon to keep models warm, or use qmd search for instant BM25-only lookups when semantic ranking is unnecessary.

Can qmd integrate with AI agents through MCP?▼

Yes, qmd provides an MCP server in stdio or HTTP mode that registers tools like mcp_qmd_search, mcp_qmd_vsearch, mcp_qmd_deep_search, mcp_qmd_get, and mcp_qmd_status for direct agent use.

What are the system requirements for running qmd?▼

qmd requires Node.js version 22 or higher and runs on macOS and Linux. macOS users also need Homebrew SQLite because the system SQLite lacks extension loading support.