<!-- Full-page Markdown export (rendered HTML → GFM). Source: https://neotoma.io/neotoma-vs-zep Generated: 2026-04-01T11:48:35.044Z --> Cross-tool memory for AI agents·[9 on GitHub](https://github.com/markmhendrickson/neotoma)·13 releases shipped # Your agents forget. Neotoma makes them remember. Your contactstasksdecisionsconversationsnotespreferencestransactionsmeeting notescompanieshealth data disappear between sessions and tools. Neotoma stores them once, versioned and queryable, across every agent you run — so you stop re-explaining your world. [Ask your agent to evaluate](/evaluate)[Install in 5 minutes](/install) “State integrity, not retrieval quality.”, Agentic app builder “Very relevant problem, most people rolling their own.”, Laurie Voss, npm co-founder “Genuinely useful for production agents, overkill for hobbyist chatbots.”, Production agent evaluator “CI/CD for agent state.”, [Tycho Onnasch, co-founder, Zest Protocol](https://x.com/TychoOnnasch) [Claude](/neotoma-vs-zep/neotoma-with-claude)[ChatGPT](/neotoma-vs-zep/neotoma-with-chatgpt)[Cursor](/neotoma-vs-zep/neotoma-with-cursor)[OpenClaw](/neotoma-vs-zep/neotoma-with-openclaw) You tell OpenClaw ”I've issued Acme $3,200 invoice due Dec 15.” Stored in invoices entity\_type: invoice · amount: $3,200 · due\_date: 2026-12-15 · status: unpaid · REFERS\_TO company: Acme You ask Claude later “What's my total outstanding balance?” $16,302 from 4 unpaid invoices, 2 past due Retrieved from stored invoices and relationships Facts are stored privately under your control. Any agent can retrieve exactly what it needs, with full versioning and provenance. [](#outcomes) Before & after ## Same question, different outcome Without a state layer, agents return stale or wrong data. With Neotoma, every response reads from versioned, schema-bound state. Contacts & people ### Lost contact, broken handoff You mentioned someone in a call last week. Your agent in Cursor has no idea who they are. You re-explain every person, every session, across every tool. without Neotoma agent session · without Neotoma $S| 1234 [](/)[](#who) Who this is for ## You run AI agents across tools and sessions......and become the human sync layer 😵 Stop spending real effort re-prompting context, patching state gaps, and compensating for memory that doesn’t persist across AI tools and custom scripts. The cost shows up differently depending on what you’re doing. [ Operating  When you're operating across tools Every session starts from zero. You re-explain context, re-prompt corrections, re-establish what your agent already knew. ](/neotoma-vs-zep/operating)[ Building  When you're building pipelines Your agent guesses entities every session. Corrections don't persist. Memory regressions ship because the architecture can't prevent them. ](/neotoma-vs-zep/building-pipelines)[ Debugging  When you're debugging infrastructure Two runs. Same inputs. Different state. No replay, no diff, no explanation. ](/neotoma-vs-zep/debugging-infrastructure) [](#outcomes)[](#memory-guarantees) Guarantees ## Neotoma provides state integrity, not just storage Systems like Mem0, Zep, Claude memory, and ChatGPT memory optimize retrieval. Neotoma enforces guarantees those systems don’t provide. [  Deterministic state Same observations always produce the same entity state - no ordering bugs. ](/neotoma-vs-zep/memory-guarantees#deterministic-state-evolution)[  Versioned history Every change creates a new version. Nothing is overwritten. ](/neotoma-vs-zep/memory-guarantees#versioned-history)[  Auditable change log Who changed what, when, and from which source. ](/neotoma-vs-zep/memory-guarantees#auditable-change-log)[  Silent mutation prevention No hidden overwrites or silent data drops. ](/neotoma-vs-zep/memory-guarantees#silent-mutation-risk)[  Schema constraints Invalid writes rejected at store time. ](/neotoma-vs-zep/memory-guarantees#schema-constraints)[  Reproducible reconstruction Rebuild complete state from observations alone. ](/neotoma-vs-zep/memory-guarantees#reproducible-state-reconstruction) [See all 12 guarantees compared](/neotoma-vs-zep/memory-guarantees) [](#who)[](#record-types) What you store ## You deserve structured records, not raw text Neotoma stores typed entities with versioned history and provenance. Each guide shows how to store and retrieve that type via CLI, MCP, and API. [ Contacts People, companies, roles, and the relationships between them. `contact``company``account` ](/neotoma-vs-zep/types/contacts)[ Tasks Obligations, deadlines, habits, and goals - tracked across sessions. `task``habit``goal` ](/neotoma-vs-zep/types/tasks)[ Transactions Payments, receipts, invoices, and ledger entries - versioned, not overwritten. `transaction``invoice``receipt` ](/neotoma-vs-zep/types/transactions)[ Contracts Agreements, clauses, and amendments - what the terms were on any date. `contract``clause``amendment` ](/neotoma-vs-zep/types/contracts)[ Decisions Choices, rationale, and the audit trail that proves why. `decision``assessment``review` ](/neotoma-vs-zep/types/decisions)[ Events Meetings, milestones, and the outcomes attached to them. `event``meeting``milestone` ](/neotoma-vs-zep/types/events) [](#memory-guarantees)[](#evaluate)  Evaluate it ## Let your agent decide if Neotoma fits Copy this prompt into any AI agent to have it read the evaluation page, inspect your tool, workspace, and configuration context, then judge whether Neotoma fits your real workflow and what to persist first. `Read https://neotoma.io/evaluate. Before you answer, inspect any broader tool, workspace, and configuration context you can access so you assess my real workflow rather than just this chat. Then assess whether Neotoma fits my workflow, what data would be highest value to persist first, and what I should do next.`Copy [View evaluation page](/neotoma-vs-zep/evaluate) [Claude](/neotoma-vs-zep/neotoma-with-claude)[ChatGPT](/neotoma-vs-zep/neotoma-with-chatgpt)[Cursor](/neotoma-vs-zep/neotoma-with-cursor)[OpenClaw](/neotoma-vs-zep/neotoma-with-openclaw) [](#record-types) ## Frequently asked questions Platform memory (Claude, ChatGPT) is good enough - why add another tool? Platform memory stores what one vendor decides to remember, in a format you can't inspect or export. It doesn't version, doesn't detect conflicts, and vanishes if you switch tools. Neotoma gives you structured, cross-tool state you control. Can't I just build this with SQLite or a JSON file? You can start there - many teams do. But you'll eventually need versioning, conflict detection, schema evolution, and cross-tool sync. That's months of infrastructure work. Neotoma ships those guarantees on day one. Is this production-ready? Neotoma is in developer preview - used daily by real agent workflows. The core guarantees (deterministic state, versioned history, append-only log) are stable. Install in 5 minutes and let your agent evaluate the fit. Does Neotoma send my data to the cloud? No. Neotoma runs locally by default. Your data stays on your machine in a local SQLite database. There is no cloud sync, no telemetry, and no training on your data unless you choose to expose the API (for example for remote MCP clients). What's the difference between RAG memory and deterministic memory? RAG stores text chunks and retrieves them by similarity for prompts. Neotoma stores structured observations and composes entity state with reducers; the same observations always yield the same snapshot. RAG optimizes relevance; deterministic memory optimizes integrity, versioning, and auditability. [More questions? See the FAQ](/neotoma-vs-zep/faq)  Neotoma Cross-tool memory for AI agents. Open-source and local-first. Product [Install](/neotoma-vs-zep/install)[Architecture](/neotoma-vs-zep/architecture)[Memory guarantees](/neotoma-vs-zep/memory-guarantees)[FAQ](/neotoma-vs-zep/faq) Documentation [Docs](/neotoma-vs-zep/docs)[API](/neotoma-vs-zep/api)[MCP](/neotoma-vs-zep/mcp)[CLI](/neotoma-vs-zep/cli) External [GitHub](https://github.com/markmhendrickson/neotoma)[npm](https://www.npmjs.com/package/neotoma)[Blog](https://markmhendrickson.com/blog) [Ask your agent to evaluate](/neotoma-vs-zep/evaluate) © 2026 Neotoma · v0.4.0 · 13 releases · MIT-licensed · Built by [Mark Hendrickson](https://markmhendrickson.com) [Markdown](/neotoma-vs-zep/markdown "Markdown")