Why existing memory fails
Flat memory doesn’t scale
The 500th memory buries the 5 that matter. Vector search returns noise at volume.
No forgetting = no intelligence
Without active pruning, your AI drowns in stale context.
No causal reasoning
Vector similarity can’t answer “why did I choose X?” You need a graph.
How it works
Multiplicative scoring
score = relevance × connectivity × reactivationMultiplicative, not additive. A zero in any dimension sends the score to zero — no free rides.
Memory lifecycle
Causal graph
Memories connected by typed edges — caused, contradicts, supports, refines — not just embedding similarity. Traverse the graph to answer “why?”
Storage backends
In-Memory
Zero deps, try it out
Postgres + pgvector
Production, scalable
Obsidian vault
Local-first, your files untouched
FalkorDB
Graph-native traversal
Fully local option: GENESYS_EMBEDDER=local — no API keys needed.
Benchmarks
89.9% overall on LoCoMo — 1,540 questions across 10 conversations.
| System | LoCoMo Score |
|---|---|
| Genesys | 89.9% |
| SuperLocalMemory | 87.7% |
| Zep | 75.1% |
| Mem0 | 67.1% |
MCP tools
Every operation is an MCP tool — works with any compliant client.
| Tool | Description |
|---|---|
memory_store | Store a new memory |
memory_recall | Recall top-scored memories |
memory_search | Semantic search over memories |
memory_traverse | Walk the causal graph |
memory_explain | Explain why a memory was recalled |
memory_stats | Usage and lifecycle statistics |
pin_memory | Pin a memory to prevent decay |
unpin_memory | Unpin a memory |
delete_memory | Permanently delete a memory |
list_core_memories | List core memories |
set_core_preferences | Set core memory categories |
Quick start
Obsidian vault setup — fully local, no API keys.
1. Install
pip install genesys-memory2. Configure
GENESYS_BACKEND=obsidian
OBSIDIAN_VAULT_PATH=/path/to/your/vault
GENESYS_EMBEDDER=local3. Run
uvicorn genesys.api:app --port 80004. Claude Desktop config
{
"mcpServers": {
"genesys": {
"url": "http://localhost:8000/mcp"
}
}
}5. Give this to Claude
You have access to Genesys memory tools. Use memory_store to save important context, memory_recall to retrieve relevant memories, and memory_search to find specific information. Always check memory before asking the user to repeat themselves.Works with Claude Code, Claude Desktop, OpenAI Codex, and any MCP client.