Brain-inspired memory for your self-hosted AI stack
Runs on a Pi. No cloud. API-key protected when configured. Your data stays on your hardware.
$ mnemlet serve ╭──────────────────────────────────────────╮ │ Mnémlet v0.3 Trust │ │ Storage → ~/.mnemlet │ │ API → http://127.0.0.1:4050 │ │ MCP → http://127.0.0.1:4050/mcp │ │ LLM → disabled │ │ Search → disabled │ ╰──────────────────────────────────────────╯ $ █
New in v0.3
API-key auth, Secret Guard, sanitized Audit logs, namespace trust policies, and backup/restore make the local release surface safer to share and demo.
Exponential decay + interaction-weighting. What you use stays sharp. What you ignore fades. No manual cleanup.
Night consolidation: dedup, rescore, cluster, morning briefing. All local, zero API costs. Like REM sleep for your agent.
Context packs, provenance, Audit trails, and Trust blocks show why a memory exists and whether it is active, superseded, forgotten, or confirmed.
Every memory as a Markdown file. cat ~/.mnemlet/vault/**/*.md. Open in Obsidian. No black box.
A v0.3 flow on an isolated demo server: authenticated remember → Secret Guard → Audit → explainable Trust.
$ curl -X POST http://127.0.0.1:14060/api/v1/remember \ -H 'Content-Type: application/json' \ -H "X-Mnemlet-Key: $MNEMLET_API_KEY" \ -d '{"content":"Christoph prefers dark mode in all editors","namespace":"preferences","memory_type":"preference"}' {"memory_id":"7f4a...","stored":true,"namespace":"preferences","superseded_ids":[]} $ curl -X POST http://127.0.0.1:14060/api/v1/ingest \ -H 'Content-Type: application/json' \ -H "X-Mnemlet-Key: $MNEMLET_API_KEY" \ -d '{"content":"token sk-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' {"detail":"secret_guard_blocked: patterns=openai_key"} $ curl http://127.0.0.1:14060/api/v1/audit -H "X-Mnemlet-Key: $MNEMLET_API_KEY" {"events":[{"action":"ingest","result":"blocked"},{"action":"ingest","result":"success"}]} $ curl http://127.0.0.1:14060/api/v1/explain/7f4a... -H "X-Mnemlet-Key: $MNEMLET_API_KEY" {"memory_id":"7f4a...","trust":{"ingested_by":"rest","secret_guard_result":"clean"}} $ █
No checkmark bingo. Here's where Mnémlet shines, and where it doesn't.
| Mnémlet | Mem0 | MemPalace | |
|---|---|---|---|
| Self-hosted | ✅ | ⚠️ | ✅ |
| Decay / Forgetting | ✅ | ❌ | ❌ |
| Sleep / Consolidation | ✅ | ❌ | ❌ |
| Local LLM support | ✅ | ❌ | ❌ |
| Inspectable vault | ✅ | ❌ | ❌ |
| Vector search | ✅ | ✅ | ✅ |
| TUI Dashboard | ❌ | ❌ | ❌ |
| Cloud sync | ❌ | ✅ | ❌ |
| MCP tools | 14 | ~10 | 29 |
| Pi-friendly RAM | ✅ (450 MB) | ❌ | ✅ |
If your priority is cloud sync, a polished dashboard, or an ecosystem with 50k stars — use Mem0 or MemPalace. If your priority is local-first, brain-inspired forgetting, and running on hardware you own — that's Mnémlet.
GitHub install for now; PyPI remains gated until final release approval.
$ pip install git+https://github.com/christoph/mnemlet.git $ export MNEMLET_API_KEY="mnemlet_..." $ mnemlet serve $ curl -X POST http://localhost:4050/api/v1/ingest \ -H 'Content-Type: application/json' \ -H "X-Mnemlet-Key: $MNEMLET_API_KEY" \ -d '{"content":"Hello Mnémlet","namespace":"test"}'