
An AI agent works well inside its current context, but it has no persistent memory between runs. An agent writing code makes a dozen architectural decisions in one evening, finds several bugs, leaves unfinished items and reads through documentation. The next day a new session starts from a far poorer picture.
The workarounds are known, and each has its flaw. Put everything into CLAUDE.md - over time the file becomes a dump. Keep the full conversation history - the agent has to reread thousands of irrelevant tokens. Stand up a plain vector store - and you are left deciding what to do about duplicates, stale facts, tasks, links and the provenance of whatever was found.
Memora stores not the conversation but the project's working memory. For example: we decided to use Redis only for ephemeral state; the error came from a wrong TTL; an open item on the retry policy remains; the new implementation supersedes decision number 214. The difference is that this is not a retelling of a chat but facts with their links and history.
What Memora is and how it differs
Memora is an open-source MCP memory server for AI agents. In its own SOUL.md the project deliberately draws a line: Memora is not an agent that decides what to do next. It is a layer that stores, searches, links and aggregates context for agents that reach it over the MCP protocol.
By default the data lives in SQLite. On top of that come full-text search, embeddings, hybrid retrieval, hierarchical tags and metadata, typed graph edges, a history of old versions superseded by new ones, TODOs and issues, documents, event polling, import and export, and interactive visualisation. A useful metaphor: this is not memory inside the model but a separate librarian service the agent tells "save this", "find what we already know" or "assemble the project state on authentication for me".
The main difference from a "vector database plus embeddings" pairing is that the project tries not to hide memory behind a pretty but opaque model-written summary. Its stated principles include inspectable results and the preservation of source memory identifiers. An ordinary memory search looks like this: a question, a few similar chunks of text, the model. Memora's chain is longer: a question, hybrid search, only active records, version lineage, graph neighbours, related TODOs and issues, and finally a list of source identifiers. So the system answers not "we sort of decided to move to a new auth scheme" but returns the records by which that conclusion can be checked.