Memoria is a persistent memory layer for AI agents that applies version control to memory. Every change is tracked, auditable, and reversible through snapshots, branches, merges, diffs, and point-in-time rollback, backed by the copy-on-write storage engine of the MatrixOne database. The underlying data version control design is described in an accompanying arXiv paper.
Agents reach the store over the Model Context Protocol. Core tools store, retrieve, search, correct, purge, and list memories, return a memory-derived user profile, and record relevance feedback; further tools cover snapshots and branches, and maintenance tools quarantine low-confidence memories, detect contradictions, and synthesise insights on fixed cooldowns. Retrieval combines vector and full-text search, and an embedding model can run locally so no data leaves the machine.
Memories are typed, which is what lets the same store hold both durable facts and disposable task context.
| Type | Use for | Example |
|---|---|---|
| semantic | Project facts and decisions | "Uses Go 1.22 with modules" |
| profile | User preferences | "Prefers pytest over unittest" |
| procedural | Workflows and how-to | "Deploy: make build && kubectl apply" |
| working | Temporary task context | "Currently debugging auth module" |
| episodic | Session summaries | "Session: optimized DB, added indexes" |
Because tools alone do not tell an agent when to use them, Memoria installs steering rules into the host agent's own configuration directory, covering core memory use, session bootstrap and cleanup, memory hygiene and contradiction resolution, branching for isolated experiments, and goal tracking across conversations.
Two deployment shapes exist. A hosted mode has the CLI act as an MCP bridge to a remote API server with a bearer token; a self-hosted mode runs MatrixOne and the API in Docker with the MCP server talking to the database over SQL. The memoria CLI provides an interactive setup wizard, status and rule updates, an MCP server, a REST server, and a benchmark suite. In self-hosted mode the embedding configuration must be set before the first MCP server start, because the vector dimension is locked into the schema.
Features
- Version-controlled memory: zero-copy branching, instant snapshots, merges, diffs, and point-in-time rollback
- Hybrid retrieval: vector plus full-text search over stored memories
- Self-governance: contradiction detection, quarantine of low-confidence memories, and insight synthesis on cooldowns
- Audit trail: every mutation carries a snapshot and provenance chain
- Typed memories: semantic, profile, procedural, working, and episodic records
- Steering rules: per-agent rule files that teach when to store, retrieve, correct, branch, and clean up
- MCP tool surface: core, snapshot, branch, and maintenance tools, with ops-only tools hidden from agent listings
- Deployment choice: hosted API with a token, or a self-hosted Docker stack with a local embedding option
- CLI: interactive setup, status, rule updates, MCP and REST servers, and a benchmark command
Integrates with
Claude Code
Terminal-based agentic coding tool that reads your codebase and runs tasks through natural-language commands
Codex
Lightweight coding agent that runs in your terminal
Model Context Protocol
Open protocol plus SDKs for connecting agents to tools and data sources.
OpenClaw
Self-hosted single-operator assistant runtime that links models, tools, and messaging channels through one local Gateway
