qmd

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

Updated May 18, 2026
One-click install
npx skills add https://github.com/ossoolli/Nexum-Core --skill qmd-ossoolli
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: qmd
Source: https://github.com/ossoolli/Nexum-Core/tree/main/optional-skills/research/qmd
Command: npx skills add https://github.com/ossoolli/Nexum-Core --skill qmd-ossoolli

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @tobilu/qmd.

What problem does it solve? Finding information across large personal collections of markdown notes, meeting transcripts, and documentation is slow with plain grep and keyword search misses conceptual matches. This Skill provides a fully local, on-device search engine that combines keyword matching, semantic vector search, and LLM reranking without any cloud dependencies. ## Core Features & Use Cases - Hybrid Retrieval Pipeline: Combines BM25 keyword search (SQLite FTS5), vector embeddings, query expansion, and LLM reranking with Reciprocal Rank Fusion for high-quality results. - Collection Management: Index directories of markdown and text files as named collections, add context descriptions to improve retrieval accuracy, and generate embeddings with a single command. - MCP Integration: Exposes search tools via an MCP server in stdio or HTTP daemon mode, giving agents native search tools with warm models for fast queries. - Use Case: A user with hundreds of meeting transcripts asks "what decisions were made about the database migration" and gets reranked, contextually relevant excerpts in seconds, all processed locally. ## Quick Start Ask the agent to search your notes for a topic, for example: use qmd to find everything in my notes 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 LLM 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 vector search. qmd query runs the full hybrid pipeline with query expansion, parallel retrieval, and LLM reranking for best quality.

Does qmd work offline without cloud services?▼

Yes, qmd runs entirely on-device with no cloud dependencies. It auto-downloads three local GGUF models (~2GB total) on first run for embeddings, reranking, and query expansion, and stores its index in a local SQLite database.

How do I integrate qmd with an AI agent via MCP?▼

Run qmd mcp for stdio mode or qmd mcp --http --daemon for a persistent HTTP server on localhost:8181, then register it in your agent's MCP server configuration. This exposes tools like mcp_qmd_search and mcp_qmd_deep_search.

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

Cold start takes about 19 seconds because the GGUF models must load into memory. Use the HTTP daemon mode to keep models warm, or use qmd search for instant BM25-only keyword lookups that need no models.

What are the system requirements for running qmd?▼

qmd requires Node.js version 22 or later and runs on macOS and Linux. On macOS you must also install SQLite via Homebrew because the system SQLite lacks extension loading support.