mozg
mozg turns documentation into knowledge brains your agent queries over MCP instead of loading whole files into context. What makes it different: every brain sits an exam. Its goal becomes ~30 control questions, re-sat after every ingest — so 'trained 92%' is measured, not claimed, and the failing questions are listed publicly. Brains learn from use: searches that return nothing become exam questio
README
<div align="center">
<img src="public/brand/devto-cover.jpg" alt="mozg — a brain assembled from notes, stamped with a passing grade" width="720" />
mozg.
Exam-scored knowledge brains for AI coding agents. Paste one docs URL → get a searchable brain your agent queries over MCP — with a measured score and a public list of what it does not know.
Start here · Catalogue · Why not a context file · Self-host guide · Roadmap
</div>
Your agent answers from memory, and memory has a date on it. Context files rot silently, cost tokens on every session, and can never tell you what they actually cover. mozg is built on one mechanism applied everywhere:
Knowledge must be measured.
<p align="center"> <img src="public/brand/demo.svg" alt="Terminal: connecting mozg to Claude Code, then an agent answering an Expo question from the brain with a cited source and exam score" width="820" /> </p>
The loop
flowchart LR
A[one docs URL] --> B[crawler<br/>github tree · llms.txt · sitemap]
B --> C[atomic notes<br/>+ embeddings]
C --> D{{the exam<br/>~30 questions from the goal}}
D -->|score + failed questions| E[focused re-read<br/>chases the gaps]
E --> C
F[agents querying over MCP] -->|zero-hit searches| D
F -->|corrections| G[owner review] --> C
- The exam is the product. The brain's goal becomes control questions, re-sat after every ingest. Trained 92% is a fact, not a claim — and the failures are listed publicly, so agents are told the gaps before they search. Anti-bluff questions verify it refuses what it doesn't know.
- Zero-context search. Retrieval is server-side (hybrid + reranker). A brain can hold 3,000 notes; an answer costs the three it needed.
- The collective mind. A search that returns nothing becomes an exam question. Corrections agents file become owner-reviewed notes. Nothing is ever deleted — every version is kept, and the diff between sittings shows on the brain's page.
- learn. Any brain doubles as a spaced-repetition course for humans at learn.mozg.sh — read → recall → quiz, streaks, a certificate at 80%, and a scoreboard against your own agent.
- Injection-hardened. Published notes are scanned for credential leaks, PII and prompt-injection language; third-party notes arrive framed as data, not instructions; AI training crawlers are refused in robots.txt.
Run your own, in one command
git clone https://github.com/egorfedorov/mozg.git && cd mozg
cp .env.selfhost.example .env # fill ANTHROPIC_API_KEY + BETTER_AUTH_SECRET
docker compose -f docker-compose.selfhost.yml up
Postgres with pgvector, the embedder, the app and the worker come up together; the schema migrates itself before the app starts. Open http://localhost:3300, create an account, paste a docs URL.
First boot downloads ~2.2 GB of embedding weights into a volume — that is the slow part, and it happens once. Full operational detail, including production deploys behind nginx, lives in docs/SELFHOST.md.
Cloud, or your own metal
| mozg.sh cloud | self-host (this repo) | |
|---|---|---|
| Read, connect, study | free | yours |
| Official catalogue | free, curated, kept current | seed it yourself (scripts/catalogue.ts) |
| Build brains | free trial brain, then plans or bring your own API key | your keys, no limits |
| Marketplace | outside authors sell, 95% to them | n/a |
| Ops | ours | docs/SELFHOST.md |
The deal is honest: building brains spends model tokens. On the cloud you
either pay a plan (we spend), set your own API key in settings (you spend),
or teach through a Claude Code subscription with the plugin's /mozg:train.
Stack
Next.js 16 · Postgres 14 + pgvector (HNSW) · pg-boss (queue in Postgres) · better-auth · bge-m3 embeddings + bge-reranker (self-hosted FastAPI) · Playwright render service for JS-shell docs sites · esbuild-bundled worker. 178 tests, CI on every push.
Contributing
Bug reports with reproduction beat everything; brain_feedback reports from
real use beat those. Small PRs welcome — see CONTRIBUTING.md.
New catalogue packs are data entries, not code.
License
AGPL-3.0. Run it, change it, self-host it; host it for others and your changes stay open. The hosted cloud at mozg.sh sells convenience and inference — never locks.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.