Hey, I'm Tom.
I run Turned Ninja, a fanart and custom portrait studio with 30+ artists around the world. On the side, I build developer tools. I spend a lot of time inside AI coding tools like Claude Code, Codex, OpenCode and Pi, and I kept running into the same wall: my AI assistant would confidently write code using an API that was renamed two versions ago.
Context7 MCP was one of the first tools to tackle this problem, and honestly, I loved the idea. But then they started requiring an API key just to query docs. I get it, they need to cover server costs and keep things sustainable. But it felt wrong to need credentials for something as basic as looking up how a function works. Every single query had to hit their servers, even when I was searching the same React docs for the twentieth time that day.
So I built ContextQMD. Not as a replacement for Context7, but as something you can reach for when their credits run out, or when you just want your docs to live on your machine and work offline.
Context7 is a cloud-first documentation service. Every time your AI assistant needs docs, here's what happens:
Your AI editor
Asks a question
every query
Context7 Cloud API
Searches on their server
responds
Snippets back
Doc results returned
Your AI editor
Asks a question
Context7 Cloud API
Searches on their server
Snippets back
Doc results returned
It works well until it doesn't. You burn through free credits during a focused coding session. The API goes down and your assistant falls back to stale training data. There's no local cache, no offline mode, no way to control what version of the docs you're searching.
And the search itself? It happens on their servers. You don't know what algorithm they use, how they rank results, or why a query returns what it does. It's a black box.
ContextQMD flips the model. Instead of querying a remote API every time, you install documentation packages to your machine, like npm for docs. After that, everything happens locally.
Install from registry
One-time download
stored locally
QMD searches locally
BM25 + vector hybrid
instant
Version-pinned results
Token-budgeted
Install from registry
One-time download
QMD searches locally
BM25 + vector hybrid
Version-pinned results
Token-budgeted
The registry at contextqmd.com is free and open. No API keys needed to read. The CLI and MCP server both run on your machine. Once docs are installed, you can search them on an airplane, behind a firewall, or during a Context7 outage.
| Context7 | ContextQMD | |
|---|---|---|
| Where search runs | Their cloud servers | Your machine |
| Network needed | Every query | Only on install |
| Rate limits | Free tier capped | None |
| Offline mode | No | Full offline search |
| Version control | Server picks version | You pin the version |
| Search engine | Closed source | Open (BM25 + vector) |
| Registry | Single provider | Open, self-hostable |
I'm not against cloud tools. Context7 was a genuinely clever idea, the first to realize that AI assistants need up-to-date docs, not just stale training data. I appreciate what they started.
Around the same time, I discovered QMD by Tobi, a local hybrid search engine that combines BM25 and vector retrieval in a single SQLite database. I loved the idea instantly. It felt like the perfect match: what if docs worked like packages? You install them, they sit on your disk, and QMD searches them locally. The registry just hosts manifests and bundles. It doesn't need to be in the loop for every query.
ContextQMD is the tool I wanted to exist. If Context7 works great for you, keep using it. But when you need something you own and control, this is here.
Right now the biggest priority is enriching the library registry. The more libraries available, the more useful ContextQMD becomes for everyone.
This is where the community comes in. If a library you use isn't in the registry yet, you can help by creating an account and submitting it. Every contribution makes the whole ecosystem better.
It's me (Tom), founder of Turned Ninja. By day I run an art studio, by night I build developer tools. I prototype fast, ship small improvements often, and care too much about developer experience to let things stay broken.
Got ideas, feedback, or just want to say hi? Find me on X (@hxtxmu).
Thanks for checking this out. Let's make AI coding tools actually know what they're talking about.
Tom and the Turned Ninja crew