The memory
your AI
deserves.
— a field manual for self-hosted recollection
Mnemon is a self-hosted second brain for your agents. It stores everything verbatim, retrieves with hybrid search, and compiles the archive into a living wiki that your models can actually reason against — without extraction loss, vendor lock-in, or a SaaS sitting between you and your own thoughts.
Store verbatim.
Every message, every transcript, every artefact, stored as written — save for credentials, which are redacted on the way in. Extraction is a derivative, never the original.
Retrieve hybrid.
Postgres full-text over a stored tsvector, blended with pgvector cosine. Ranked, deduped, attributed — the blend is the final order.
Compile upward.
Raw drawers condense into wiki entries; entries link into a living atlas; the palace remembers their geometry.
Own your house.
Laravel, Postgres, your hardware. No vendors, no rate limits, no quiet exfiltration of your archive.
Compiled knowledge on top.
Most "memory" tools begin by destroying the source. They chunk, embed, summarise, and discard — leaving the agent to hallucinate its way back to whatever was lost in translation. Mnemon does the opposite.
The base layer is a faithful archive: original messages, original files, original timestamps, appended and never overwritten. One thing is rewritten on the way in: API keys, tokens and credentials in URLs are redacted before storage. Nothing is destroyed. The compiled layer reads from the base and produces something the model can actually use — a wiki of entries, each with a clear lineage back to the verbatim record that authored it.
An agent that wants the gist queries the wiki. An agent that wants the source follows the lineage one step deeper. Both speak MCP. Neither path requires trust in a third party.
- 01Capture
- 02Index
- 03Compile
- 04Recall
- 05Reason
Mnemon gives it floors.
The Romans called it memoria artificiosa: place each thing you must remember in a familiar room, then walk the building when you need it back. Mnemon borrows the geometry literally.
Each wing is a namespace. Each room is a coherent context — a project, a client, a research thread. Each drawer within a room pins a memory: a chat, a file, an entry. Agents traverse rooms like a careful librarian, not a confused intern.
The browser is a blueprint. Hover any locus to read its provenance. Open one to walk its lineage all the way down to the verbatim row.
Single dependency. pgvector for embeddings, tsvector for full-text. No Pinecone, no Weaviate, no surprises.
A Laravel application you run, not a package you install into one. Nothing is queued — no job in the codebase implements ShouldQueue.
First-class. Fourteen tools over POST /mcp: recall, drawer_search, drawer_add, context_get, wiki_compile…
A weighted linear blend — 0.6 semantic, 0.3 full-text, 0.1 recency — set in config/mnemon.php and applied globally, not per room. Every result carries provenance to the verbatim row. On LongMemEval-S (500 questions) the correct session is ranked first for 443 of 500 questions with embeddings, 371 of 500 without.
OpenAI text-embedding-3-small, or none at all — the keyless default falls back to full-text and recency. An Ollama driver exists but cannot store its 768-dimension vectors in the fixed vector(1536) column, so it is unusable today.
No telemetry, no analytics, no phone-home; fonts are served locally. The Docker default embeds nothing. Set MNEMON_EMBEDDING_DRIVER=openai and every drawer is sent to OpenAI as it is written.
Mnemon installs as a Laravel application or as a package alongside your own. Postgres gives it a home; pgvector gives it a memory; MCP gives every agent in your house a front door.
Authorize a client through the OAuth consent screen, point it at POST /mcp,
and your agents begin recalling. Compilation happens when something asks for it — there is
no queue worker and no nightly rebuild. Embeddings are computed eagerly, on write, before
the drawer is stored. The archive is always the truth.
- ▸git clone & cd mnemon
- ▸cp .env.example .env
- ▸docker compose up
If you have an idea about the schema, an objection to the compile pipeline, or a
request for a feature that would make Mnemon useful in your own house — write it
down here. Set MNEMON_CONTACT_TO to have submissions emailed as well
as stored.
For source, issues, and patches, see the project's repository.
Your agents remember everything —
and actually understand it.
Mnemon is free, MIT-licensed, and runs on the laptop already humming under your desk. The rest is up to you.