Git-native, review-gated knowledge base for LLM agents. Cited retrieval, audited writes.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Git-native, review-gated knowledge base for LLM agents. MCP server + JSONL tool server + CLI.
Agents should not start every session with amnesia β but they shouldn't get to write whatever they want either.
vouch gives LLM agents durable memory with an explicit review gate: sessions capture themselves, agents propose writes, and nothing becomes durable knowledge until you approve it. Approved artifacts are plain files under .vouch/ β YAML claims, markdown pages β so the KB lives in your repo, is reviewed like code, diffs cleanly, and travels with git clone.
The destination is the one Andrej Karpathy's llm-wiki idea file sketches: stop using LLMs as search engines that rediscover your documents on every question β use them as tireless knowledge engineers that compile, cross-reference, and maintain a living wiki, while humans curate and think. vouch is that idea with the write path made trustworthy. vouch compile has an LLM draft the topic pages, but every page cites approved claims, every [claim: β¦] citation is machine-verified before the draft is filed, and the drafts pass through the same review gate as every other write. The LLM compiles; the human approves; the wiki compounds.
Often true β and worth being honest about. If you want your agent to remember things, a paragraph in CLAUDE.md, a memory file, or your host's built-in auto-memory gets you most of the way, costs nothing, and needs no install. Reach for that first. Recall is not a hard problem.
What is hard is trust in the write path, and that's a different problem than memory. Single-writer memory needs no trust model: you're the only author, and a bad line costs you a shrug. The moment writes come from more than one author β several agents, a teammate, a future you who forgot the context β the question stops being "what did we say?" and becomes "who decided this was true, on what evidence, and can I audit it later?" A prompt cannot answer that, no matter how good the prompt is.
That's the whole of vouch:
| one prompt / memory file | vouch | |
|---|---|---|
| Who can write | whatever the agent decides to save | agents propose; a human approves β nothing else lands |
| Why believe a line | vibes | every claim cites a content-hashed source; uncited is a validation error |
| When it's wrong | edit and hope | supersede / contradict / archive, with the old version still in history |
| Who changed it | file mtime | append-only audit log: who proposed, who approved, citing what, when |
| At n β₯ 2 writers | last write wins, silently | one gate, one reviewed history, shared by git clone |
| What you read | a growing pile of notes | compiled topic pages with verified citations β a wiki, not a log |
The same argument as a picture β at one writer the two are the same thing; the gap opens at the second writer and only widens:
So the honest pitch: vouch is not a better place to put memory β it's a review gate in front of one, and a wiki on the other side of it. If you're solo and happy, one prompt is genuinely fine; vouch's session capture runs passively alongside whatever your host already remembers, rather than replacing it. But once a fleet of agents writes to shared knowledge β or a team does β that pile of notes needs an editor, and an editor is not something you can prompt your way to. The case in full: docs/review-gate.md.
For the full UI experience (recommended first time):
Pre-seeded KB + full webapp console, zero setup. Pass -e ANTHROPIC_API_KEY=sk-ant-... to enable LLM features.
For the full UI without Docker β Python only, no clone, no node:
vouch console serves the same React console as the Docker demo, straight from the installed package.
For CLI + Claude Code integration (most common ongoing workflow):
The one-liner is POSIX sh and never needs sudo β inspect install.sh first if you'd like.
For MCP server or CLI-only use:
For local development β CLI and webapp, both running from source:
make console needs node β it starts vouch serve --transport http and the Vite dev server as a pair, installing the console's node deps automatically on first run. To instead serve the console the way a release wheel does (no dev server), run make webapp-build once, then vouch console. See CONTRIBUTING.md for the full dev workflow.
After exploring the demo above, set up vouch in your own project:
1. Set up the KB and wire Claude Code (one command, one-time, per repo):
install-mcp initialises the KB when no .vouch/ is discoverable (pass --no-init to skip; vouch init still exists for KB-only setup), then writes .mcp.json (the kb.* MCP tools), the /vouch-* slash commands, and five hooks β SessionStart recall, UserPromptSubmit per-prompt recall, PostToolUse capture, Stop answer capture, SessionEnd rollup. It also registers vouch as a local-scope MCP server in ~/.claude.json (the β line in the output). Reload your editor window (VS Code: Developer: Reload Window) so it loads.
Why the extra registration? A committed
.mcp.jsonis a project-scope server, and Claude Code only loads one after a per-user approval β which the VS Code extension never prompts for, so.mcp.jsonalone leaves thekb_*tools invisible in the extension (they sit at "pending approval", while the hooks quietly work β easy to misread as "connected"). The local-scope entryinstall-mcpwrites is trusted on sight, so a fresh install just connects. Verify withclaude mcp list(vouch β¦ β Connected). Pass--no-approveto skip it and approve.mcp.jsonyourself.
What you'll see. Every prompt is checked against the KB first. When vouch knows something relevant, the answer opens with "From vouch memory:", grounded in the cited items; when it doesn't, it opens with "Nothing in vouch on this." β recall is visible on every turn, never silent. (A fresh KB knows almost nothing yet: work a session or two so capture fills it, then ask about the project again.)
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/vouch-3)<a href="https://allmcps.com/mcp/vouch-3"><img src="https://allmcps.com/api/badge/vouch-3?style=directory" alt="Vouch on AllMCPs" /></a>