Use cases
Memory that manages facts, shown in real conversations
Not industry brochures. Below are the exact moments where a real memory layer changes the conversation, each one a shipped feature.
Coding agents
Remembers your stack and updates its mind when you change yours.
The call behind it
from mentedb import MenteDBClient
mem = MenteDBClient(api_key="mdb_...")
# First session — the agent_id ties this memory together
mem.process_turn(
user_message="We're on Postgres, I want Result types for errors.",
agent_id="coding-agent",
)
# Days later, a brand-new session
turn = mem.process_turn(
user_message="Switch the prototype to SQLite.",
agent_id="coding-agent",
)
turn.context # recalls your stack from the earlier session
turn.contradiction_details # flags Postgres -> SQLiteIt carried your stack across a session break and reconciled the change instead of holding two conflicting facts. Ask it “what did we decide as of last sprint” and point-in-time recall answers exactly.
Large agent files
Your 70 KB AGENTS.md becomes memories that arrive when they matter.
The call behind it
# Keep editing the file as always; re-running ingest keeps memory
# in sync: new rules stored, edited rules replaced, deleted rules removed.
report = mem.ingest_agent_file(open("AGENTS.md").read())
# 606 memories, 96 action triggers, 0 pinned to every prompt
turn = mem.process_turn(
user_message="Add a Refresh button to the toolbar component.",
agent_id="coding-agent",
)
turn.context # the handful of rules that govern this exact changeMeasured on four real public agent files: 100 percent of tested rules followed at 2 to 8 times fewer tokens than carrying the file every turn. The 70 KB file carried whole followed only 80 percent of its own rules. Instruction cost stays flat no matter how large the file grows.
Customer support
Knows the customer before the first reply, and never mixes them up.
The call behind it
# user_id keys memory per customer — isolated from every other customer
turn = mem.process_turn(
user_message="My CSV export is failing again.",
user_id="cust_8f21",
)
turn.context # past tickets, plan, prior fixes — from the first messageMemory is keyed per customer and isolated in the engine, so the bot has their full history from message one, and one customer's context can never surface in another's chat.
Personal assistants
Surfaces what matters, not just what you searched for.
The call behind it
turn = mem.process_turn(
user_message="Find me somewhere for dinner Friday.",
user_id="alex",
)
turn.context # profile facts (vegetarian) + linked places
turn.proactive_recalls # surfaced without being asked (the anniversary)It distills durable facts about you, links the people and places you mention into a graph, and injects what's relevant. Decay keeps recent, reinforced facts on top without ever deleting your curated knowledge.
Multi-agent systems
Share what agents should, isolate what they shouldn't.
The call behind it
# Researcher writes under its own agent_id
mem.process_turn(
user_message="Competitor X raised a $50M Series B.",
agent_id="researcher",
)
# Writer recalls shared knowledge + its own, never the researcher's notes
turn = mem.process_turn(
user_message="Draft the market update.",
agent_id="writer",
)
turn.context # shared findings only, not the researcher's scratchpadEach agent recalls its own memories plus what's explicitly shared. Collaboration without cross-contamination, and without a routing mistake ever leaking one agent's context into another's.
Why this isn't just search over a vector store
Every example above leans on behavior a similarity search can't give you.
Reconciles, not just recalls
When a new fact contradicts an old one, MenteDB updates the belief instead of returning both. Your agent never argues with a stale version of the truth.
Reasons about time
Every memory carries a validity window. Ask what was true as of any past moment and get exactly that, including facts later superseded.
Notices, not just stores
Seven cognitive checks run per turn: interference between competing memories, pain signals on repeated frustration, phantom-memory guards, and more. Signals a vector store can't produce.
One call wires memory into any of these
Send a conversation turn, get back the right context plus what was learned. Start free in the cloud or self-host the open-source engine.