qmd vs llm-app
Two of the top projects in RAG and search, side by side: who leads on each score part and who each one suits, then setup, license, activity and what each review found.
qmd
Local hybrid search over markdown notes and docs, with CLI and MCP server
llm-app
YAML-configured RAG server that keeps a vector database synced with a document folder
Verdict
qmd ranks higher, 80 to 74. Of the 4 score parts we measure for both, qmd leads on 2, llm-app on 1 and 1 is even.
- Adoptionllm-app leads by 8 points, 97 to 89.
- FreshnessEven at 100.
- Maintenanceqmd leads by 12 points, 63 to 51.
- Agent-readyqmd leads by 40 points, 40 to 0: a wide gap.
Pick qmd if you are
Developers who want local search over notes and docs for agents
- Hybrid pipeline: query expansion, BM25 plus vector search, RRF fusion, then LLM reranking
- Runs on-device with GGUF models via node-llama-cpp; no hosted API needed
Pick llm-app if you are
Teams wanting live, cited Q&A over a document folder without writing code
- Edits, additions and deletions propagate to the vector store as real upserts and deletes
- 8 backends: DuckDB (default, embedded), pgvector, Qdrant, Milvus, ChromaDB, Weaviate, Pinecone, MongoDB Atlas
| What we compare | qmd | llm-app |
|---|---|---|
| Score parts, out of 100 | ||
| Adoption | 89, widely used | 97, widely used |
| Freshness | 100, active | 100, active |
| Maintenance | 63, fair | 51, fair |
| Agent-ready | 40, minimal | 0, none |
| Facts from GitHub and the README | ||
| Stars | 30.8k | 58.7k |
| License | MIT (permissive) | MIT (permissive) |
| Last commit | Oct 2026 | Oct 2026 |
| Last release | Aug 2026 | None published |
| Language | TypeScript | Python |
| Docker | No | No |
| GPU | Optional | Optional |
| arm64 or Apple Silicon | Not stated | Not stated |
qmd
QMD indexes markdown notes, transcripts and docs into a SQLite store and searches them with BM25 (FTS5), vector search and LLM reranking. Models run locally as GGUF through node-llama-cpp. It ships a CLI with JSON and file-list output for agents, an MCP server over stdio or HTTP (default port 8181), and a Node/Bun SDK.
Who it is for: Developers who want local search over notes and docs for agents
Strengths
- Hybrid pipeline: query expansion, BM25 plus vector search, RRF fusion, then LLM reranking
- Runs on-device with GGUF models via node-llama-cpp; no hosted API needed
- CLI, MCP server (stdio or HTTP) and TypeScript SDK available
- HTTP server rejects non-loopback Origin and Host headers to block DNS rebinding
Weaknesses
- HTTP endpoints are unauthenticated; off-host use needs your own auth in front
- Built around markdown and text; other document formats are not mentioned
- Embedding step must run before semantic search works
- TypeScript, GGUF, qwen3-reranker
- Needs Node.js or Bun, node-llama-cpp, SQLite
llm-app
serviette watches a folder or remote source (Google Drive, S3/MinIO, SharePoint, FTP/SFTP/WebDAV), parses and embeds documents with Pathway, and writes them to one of 8 vector databases. A separate stateless server hosts a web chat UI on / and a REST API under /api/v1 on port 8989, answering with cited sources. Edits and deletions in the source become upserts and deletes in the store within seconds.
Who it is for: Teams wanting live, cited Q&A over a document folder without writing code
Strengths
- Edits, additions and deletions propagate to the vector store as real upserts and deletes
- 8 backends: DuckDB (default, embedded), pgvector, Qdrant, Milvus, ChromaDB, Weaviate, Pinecone, MongoDB Atlas
- Indexer and server are separate processes sharing only the database; server scales horizontally
- Published benchmarks: 50 GB of text indexed at 14.65 GiB peak PSS, plus FRAMES retrieval results
Weaknesses
- Requires a Pathway license key, free but obtained via GitHub or LinkedIn sign-in
- No conversation memory or user accounts; answers one question at a time
- Default DuckDB backend is single-writer, so it suits laptops and demos only
- Local embeddings pull in PyTorch (about 0.8 GB for the CPU build)
- Python, OpenAI, LiteLLM, SentenceTransformers, Gemini
- Needs Pathway license key, Python with pip 23.1+, OpenAI API key (optional, for generated answers), Vector database (embedded DuckDB by default)
More in RAG and search
Building with these?
We help teams pick an open-source AI stack and run it in production. Client work never changes a rank.