QMD MCP server
io.github.X1pheR/qmd-mcp·v0.2.2Local QMD search and bounded index maintenance through a Streamable HTTP MCP server.
0 stars
Reviews
Write oneNobody has reviewed QMD MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
QMD MCP tools
No tool declarations could be read from the package source. They show once the server is installed.
Public scan report
scanner v0.1.10 · 2026-11-03 · same rubric, same numbers if you re-run it
- –Code scanpackage could not be scannedn/a
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 1 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How QMD MCP compares
Against every graded Web search MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 80% of 3,470 Web search servers
Release history: 3 versions in the registry since 2026-08-19, latest 2026-10-02, typically one every 43 days.
Install QMD MCP in Claude Code, Cursor or VS Code
claude mcp add qmd-mcp -- docker run -i --rm ghcr.io/x1pher/qmd-mcp:v0.2.2
What the publisher says
From the QMD MCP repository's README, as published. We do not edit it. Read it on GitHub
QMD MCP
QMD MCP packages QMD as a long-running Streamable HTTP MCP server. It provides QMD search and document retrieval together with bounded index-maintenance operations, without exposing arbitrary shell execution.
This is a community-maintained integration. It is not affiliated with, endorsed by, or officially maintained by the upstream QMD project.
Feedback and contributions
Use GitHub Issues for bug reports and feature requests and pull requests for proposed changes. See CONTRIBUTING.md for the development workflow, test requirements, and coding conventions. Security issues must follow the private process in SECURITY.md.
Release changes are recorded in CHANGELOG.md.
Quick start
The public Docker image is published on GitHub Container Registry (GHCR):
ghcr.io/x1pher/qmd-mcp:v0.1.7The package is public, so Docker does not need a GitHub login to pull it.
For production deployments, use the immutable digest published in the corresponding GitHub Release rather than relying on the version tag alone.
The image supports linux/amd64 and linux/arm64. Each platform image retains only its matching QMD native llama runtime to keep the image bounded.
1. Create the directories
mkdir -p qmd/config qmd/content
cd qmdPut the Markdown files you want QMD to index in content/.
2. Create config/index.yml
global_context: >-
This is a local Markdown knowledge base. Search results are discovery evidence;
read the source document before relying on a material claim.
collections:
notes:
path: /vault
pattern: "**/*.md"
ignore:
- "archive/**"
archive:
path: /vault/archive
pattern: "**/*.md"
includeByDefault: false
append-only-log:
path: /vault/logs
pattern: "history.md"
includeByDefault: false
embedding: falsepath values refer to paths inside the container. The Compose example below mounts ./content at /vault.
embedding: false is a QMD MCP wrapper extension for collections that should remain lexical-only. The files are still indexed and available to explicit lexical (lex) searches, but they are excluded from embedding health and manual start_embed jobs. Use it for large append-only logs or other exact-lookup material where repeatedly rebuilding vectors adds cost without useful semantic recall.
3. Create compose.yml
services:
qmd-mcp:
image: ghcr.io/x1pher/qmd-mcp:v0.1.7
container_name: qmd-mcp
environment:
QMD_FORCE_CPU: "1"
QMD_REFRESH_INTERVAL_MINUTES: "15"
QMD_REFRESH_INITIAL_DELAY_SECONDS: "120"
ports:
- "127.0.0.1:8181:8181"
volumes:
- ./content:/vault:ro
- ./config:/config:ro
- qmd-data:/data
healthcheck:
test:
- CMD
- node
- -e
- >-
fetch('http://127.0.0.1:8181/health')
.then(r=>process.exit(r.ok?0:1))
.catch(()=>process.exit(1))
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
restart: unless-stopped
volumes:
qmd-data:The example binds the HTTP port to loopback only. If another container must call QMD MCP directly, attach both containers to a shared Docker network and use the QMD service name instead of exposing it broadly on the host.
QMDFORCECPU=1 gives a predictable CPU-only deployment. Remove it or set it to 0 if you deliberately want QMD to probe for supported acceleration.
4. Start the container
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
QMD MCP: common questions
- Is QMD MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the QMD MCP safety report
- How do I install QMD MCP?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does QMD MCP need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is QMD MCP maintained?
- The last commit was 3 days ago (2026-11-01). The latest release is v0.2.2.
- What can I use instead of QMD MCP?
- Servers from other publishers that do the same job: Brave MCP server, Abap Adt Ro MCP server and OfficeIMO Document Tools MCP server.
Alternatives to QMD MCP
Same job from other publishers: the closest match first, then the best rated.
- BraveVisit https://brave.com/search/api/ for a free API key. Search the web, local businesses, images,…not reviewedEstablishedA
- Abap Adt RoRead-only MCP server for SAP ABAP ADT over HTTP, RFC or SNC: the readonly, system and search toolsnot reviewedEstablishedA
- OfficeIMO Document ToolsInspect, search, fetch, and convert local documents and mail stores with bounded access.not reviewedGrowingA