Best for
- Users who want documents and model processing to remain local
- Individuals and teams with Markdown documents, meeting records, or code documentation
- Agent workflows that benefit from combined keyword and semantic search
QMD is a capable local MCP search server for Markdown knowledge bases, combining keyword, semantic, and hybrid reranked retrieval with single-document and batch retrieval. It suits local agent workflows but requires local model execution, indexing storage, and file-read permissions; its HTTP mode does not provide authentication.
Strongest · Documentation 15/20 Weakest · Maintenance 8/20
Static review · not runListed 2026-08-14
Read the FMRS scoring method →Runtime:Node.js 22+ · Bun 1.0.0+
QMD_EMBED_MODEL
HuggingFace GGUF URI overriding the default embedding model, useful for multilingual (CJK) corpora; run qmd embed -f after changing it.
QMD_ALLOWED_ORIGINS
Comma-separated extra Origins accepted by the HTTP transport; set to * to disable the check.
QMD_ALLOWED_HOSTS
Comma-separated extra Host header values accepted by the HTTP transport; re-enables host checking when --host 0.0.0.0 is used.
QMD_HOST
Overrides the HTTP server bind address (default localhost).
QMD_CONFIG_DIR
Overrides the config directory (default ~/.config/qmd) where index.yml lives.
QMD_LLAMA_GPU
Forces a llama.cpp GPU backend (metal/vulkan/cuda) or disables GPU with false.
QMD_FORCE_CPU
Set to 1/true to force CPU mode; equivalent to --no-gpu.
QMD_EMBED_PARALLELISM
Overrides embedding/reranking context parallelism (1-8); defaults to 1 on Windows CUDA.
QMD_EDITOR_URI
Editor URI template for clickable terminal result links, e.g. vscode://file/{path}:{line}:{col}.
QMD_TRUST_LOCAL_CONFIG
Set to 1 to allow unattended (CI/MCP) adoption of gated fields in project-local .qmd/index.yml.
QMD_TRUST_UPDATE_HOOKS
Set to 1 to allow unattended (CI/MCP) execution of update commands from project configs.
Install Node.js 22 or later, run npm install -g @tobilu/qmd, add the configuration in install_config to the Claude Desktop configuration file, and restart the client. QMD downloads and caches local GGUF models on first use of semantic or hybrid search. Alternatively, run qmd mcp --http and connect an MCP client to http://localhost:8181/mcp.
{"mcpServers":{"qmd":{"command":"qmd","args":["mcp"]}}}
Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.
{
"servers": {
"qmd": {
"command": "qmd",
"args": [
"mcp"
]
}
}
}
Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).
claude mcp add qmd -- qmd mcp
Run it in a terminal; replace any <…> placeholders with your own values first.
After installing and running qmd embed to index your collections, check that the tools query, get, multi_get and status appear in your client's tool list, then call status to confirm the connection.
Once connected, you can ask your AI assistant things like:
No matching tools
Listed from the project's documentation, not tested by this site.
QMD is an on-device document search engine for Markdown notes, meeting transcripts, documentation, and knowledge bases. It combines BM25 full-text search, vector semantic search, and local LLM reranking, exposing query, document retrieval, batch retrieval, and index-status tools through MCP.
Upstash's official server providing up-to-date third-party library docs for AI coding assistants
AI-powered NPM package analysis MCP server
An independent control layer that gives AI coding agents budgets, brakes, and receipts
GitHub's official MCP server for managing repos, issues, PRs, and workflows via natural language
Source revision 93d211f9ef4a Data synced 2026-10-12 Read the FMRS scoring method