Local-first memory brain for AI coding agents: hooks capture sessions, beliefs injected per prompt.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
Local-first, hierarchical, self-improving memory for Claude Code, Codex, and any MCP client.
Your AI forgets everything between sessions. Peon doesn't. It records your sessions, uses an LLM to consolidate them into typed beliefs, and injects the relevant ones back into every prompt. It runs as a daemon on your machine, and nothing leaves it.
npm run eval.⚠ MOST RELEVANT headline) into every prompt.
You never have to remember to save anything.localhost:3737/monitor renders every belief as
a star. Projects are galaxies, search makes matches flare, and autonomous curation pulses.
The live monitor: 18k real beliefs rendered as stars. Type to make matching beliefs flare; click one to inspect it.

Ask the field: typing "wulver cluster" makes 400+ matching beliefs flare while the rest dim, and the camera flies to them.
The name comes from Indian offices. Every office had a peon, the person who walked desk to desk all day: collect a file from this table, note who needs what, carry it to the next table, remember where everything is. He wasn't the boss or the star, but the whole office quietly ran on him. Nothing moved without him, and he never forgot where anything was.
That's this framework, with AI. Peon walks between your sessions and your projects. It collects what happened at one desk (a session), files it in the right cabinet (a project brain), carries the relevant papers to the next desk before you ask (injection), and keeps the master ledger upstairs (the global brain). Quiet clerk. Perfect memory. The office runs on him.
| Peon | mem0 | Letta/MemGPT | Zep/Graphiti | flat memory files (MEMORY.md) | |
|---|---|---|---|---|---|
| Runs | 100% local daemon | cloud or self-host | server | cloud/server | local |
| Storage | human-readable JSONL you can cat | vector DB | DB | graph DB | markdown |
| Memory model | beliefs + verbatim episodic layer | extracted facts | self-edited blocks | temporal knowledge graph | prose |
| Hierarchy | global parent brain → per-project child brains, inherited on every prompt | user/agent/session scopes | per-agent | per-user | per-project file |
| Capture | automatic via hooks (zero effort) | SDK calls you write | agent-managed | SDK calls | agent must remember to write |
| Conflict handling | supersede/merge, recoverable — never hard-deletes | LLM may DELETE | self-edit | invalidation | overwrite |
| Exact recall | episodic layer regression-tested (61% vs 17% belief-only on LongMemEval, self-measured) | gist only | gist only | graph facts | whatever was written |
| Observability | live Neural Universe monitor + daily self-audit (STL) + serve telemetry | dashboard | — | — | — |
| Verification | committed eval ledger; negative results kept | vendor benchmarks | — | vendor benchmarks | — |
The short version: mem0 and Zep are memory platforms for products you build. Peon is memory for the coding agents you already use. It plugs into Claude Code or Codex in about five minutes, and you can watch it think and audit every number it claims.
If you run more than one coding agent — Claude Code and Codex, say — they usually each live in their own bubble. Whatever you work out with one is gone when you switch to the other.
Point them at the same project and Peon dissolves that wall. Both agents resolve to the same
.peon/ brain (Peon canonicalizes the project path, so the hook, a direct MCP call, and Codex
all land on one store). So the memory flows between them:
get_context or
search_memory.They aren't chatting in real time. It's a shared notebook both write in and both read from, so a decision made in one agent shows up in the other without you re-explaining it. One project, one memory, however many agents.
Requirements: Node 20+, macOS or Linux. An OpenRouter API key is recommended (consolidation + semantic embeddings); without one Peon still works lexical-only.
One line:
(no Node? curl -fsSL https://raw.githubusercontent.com/VineetV2/peon-mem/main/install.sh | bash)
The guided setup asks four things:
~/Library/Application Support/Peon).peon-backup.That builds the package, starts the daemon as a service, wires your Claude Code hooks + MCP
server (with a backup of your settings), and writes a config template. Then add your key to
~/Library/Application Support/Peon/.env and open the monitor. peon-mem install --dry-run
shows every action first; peon-mem uninstall reverses it (memory data is never touched).
Or manually:
Create .env in the repo root:
Start the daemon (the installer prints a launchd/systemd recipe, or just):
Then wire your agent (the installer prints these filled in for your paths):
~/.claude/settings.json (SessionStart / UserPromptSubmit /
SessionEnd → scripts/claude-peon-hook.mjs) and the MCP server (dist/index.js).dist/index.js as a stdio MCP server; 16 tools
(start_session, get_context, search_memory, record_message, process_memory, …).Open http://127.0.0.1:3737/monitor and watch your brain grow.
Factual signals from GitHub, npm, and our automated checks — not a rating.
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/peon-mem)<a href="https://allmcps.com/mcp/peon-mem"><img src="https://allmcps.com/api/badge/peon-mem?style=directory" alt="Peon Mem on AllMCPs" /></a>