My favourite MCPs: qmd
My notes app can find the words I typed. qmd finds the note I can't remember the words for — and it never leaves my Mac.
Not sure what an MCP server is or how it’s used? Check out my explainer here.
qmd is a search engine for your own files. Point it at a folder of notes and it builds an index, then answers questions about them — by keyword, by meaning, or both at once. It’s Tobi Lütke’s, it’s open source, and I didn’t build any of it. It’s also the tool I’d be most annoyed to lose.
The problem it solves for me is embarrassing in its simplicity. I have thousands of notes. I write them carefully. And for years the honest answer to “did I write that down?” was “probably, and I’ll never find it.” My notes app searches for the words I typed. Six months later I don’t remember the words I typed — I remember the shape of the idea, and the note I want says “billing workflow” while I’m searching for “invoice”.
Mine now indexes 31,162 files across five collections: notes, the daily journal, my Claude skills, code, and the archive. Searching by meaning rather than by keyword is the entire point.
There’s a gotcha that cost me weeks of thinking the tool was slow, and it’s worth knowing before you blame your own machine. Semantic searches were taking around nine seconds each. I assumed my index had grown too fat. It hadn’t. The slow step is the re-ranking — a small model reads the candidate results and sorts them for relevance — and it costs in proportion to how many candidates you hand it. Tell it to consider ten instead of forty and the same query comes back in under a second, with re-ranking still switched on. Thirteen times faster, same quality. The size of your index has almost nothing to do with it, so never delete notes to make search faster.
The other thing I learned the hard way: the index is disposable. Moving to a different Mac this week, I tried to copy the 7.6 GB index file across the network. It failed twice and dropped the connection after 22 minutes. Then I thought about what that file actually contains — nothing original, only what qmd derives from notes already sitting on the new machine. Building a fresh index there took forty seconds.
Making it repeatable
The one-off version is asking directly:
Search my notes for everything about the invoicing decision, read the two most relevant, and answer from those — quote what you used.
The version that matters is the standing instruction, and a skill here is nothing more exotic than a text file the assistant reads when the job comes up. Written in English, not code. Mine says:
When answering anything about my own work or history:
- Search the vault before answering. If you didn't search, say so.
- Pass a candidate limit of 10. The reranker is the cost, never
the index size.
- Scope to one collection rather than searching all of them.
- Quote the note you used and give me its path.
- An empty result means the search failed, not that the note
doesn't exist. Try different words before concluding anything.That last line is the one that earns its keep. An empty search result feels like an answer when all it really describes is the words you chose. Writing that down turned a mistake I kept making into a rule that catches it.
The smaller benefit is that everything else I’ve automated got better at once. My morning briefing quotes what I actually decided rather than what a generic prompt assumes. A draft can cite the real reasoning from four months ago. Both of those used to require me to go and find the note first, which is precisely why neither happened.
qmd is free and open source, and if your notes are already text files in a folder, setup is a path and one command. It builds the index locally and nothing gets uploaded anywhere — which is the only reason I’m willing to point it at a journal.
I’ve stopped writing notes I’ll never see again. Same notes, same folder; the difference is that something can now find them.



