Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Local-first memory brain for AI coding agents: hooks capture sessions, beliefs injected per prompt.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
PEON_DAEMON_URLYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"peon-mem": {
"command": "npx",
"args": [
"-y",
"peon-mem"
],
"env": {
"PEON_DAEMON_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add peon-mem --env PEON_DAEMON_URL=your-value -- npx -y peon-memFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"peon-mem": {
"command": "npx",
"args": [
"-y",
"peon-mem"
],
"env": {
"PEON_DAEMON_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"peon-mem": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"peon-mem"
],
"env": {
"PEON_DAEMON_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
PEON_DAEMON_URL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account VineetV2, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.0.9) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
PEON GLOBAL BRAIN ← user-level facts & preferences, inherited everywhere
/ | \ project A project B project C ← rooted child brains (.peon/ in each project)
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:
npm install -g peon-mem && peon-mem install
(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:
git clone https://github.com/VineetV2/peon-mem && cd peon-mem
npm install && npm run build node bin/peon-mem.mjs install --dry-run # inspect, then run without --dry-run
Create .env in the repo root:
OPENROUTER_API_KEY=sk-or-...
PEON_PROCESSING_MODEL=google/gemini-2.5-flash-lite # cheap + good enough (measured) PEON_EMBEDDING_MODEL=openai/text-embedding-3-small
Start the daemon (the installer prints a launchd/systemd recipe, or just):
node dist/daemon-cli.js # serves 127.0.0.1:3737
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.
/.peon/raw/ (append-only)..peon/brain/memories.jsonl (importance/confidence scores, entities, provenance pointers), reconciling against existing beliefs: supersede, merge, conflict-flag. Recoverable, never deleted.node scripts/install-peon.mjs # prints everything below filled in for YOUR paths
Or manually — ~/Library/LaunchAgents/com.peon.daemon.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
Label com.peon.daemon ProgramArguments /opt/homebrew/bin/node /ABSOLUTE/PATH/TO/peon/dist/daemon-cli.js
RunAtLoad KeepAlive
launchctl load ~/Library/LaunchAgents/com.peon.daemon.plist
curl http://127.0.0.1:3737/health # → {"ok":true}
Linux: the installer writes ~/.config/systemd/user/peon-mem.service and enables it. Manual equivalent: systemctl --user enable --now peon-mem.service, plus loginctl enable-linger $USER so it survives logout. (Linux support is young — issue #1 tracks real-machine reports.)
Merge into ~/.claude/settings.json (replace the path):
{
"hooks": { "SessionStart": [{ "hooks": [{ "type": "command", "command": "node /ABSOLUTE/PATH/TO/peon/scripts/claude-peon-hook.mjs" }] }], "UserPromptSubmit": [{ "hooks": [{ "type": "command", "command": "node /ABSOLUTE/PATH/TO/peon/scripts/claude-peon-hook.mjs" }] }], "SessionEnd": [{ "hooks": [
Only the beginning is shown; read the rest in the repo