Mnemosyne

Zero-cloud AI memory layer, SQLite-backed, single pure-Python dependency, works with any agent framework.

Stars
★ 3.5k
Last updated
today
License
MIT
Primary language
Python

At a glance

How it runs
CLILibrary / SDKMCP server
Works with
Universal · cross-platformCodex · Claude Code
Cost
Free, no paid service needed
Setup effort
Low · running in minutes
You'll need
Python 3.10+pipShell / CLI
Typical use
Developers who want cross-session memory in Claude Code or Cursor without uploading data to the cloud
Not a fit if
  • Teams needing multilingual recall without swapping embedding models
  • Users on machines with under 2 GB free RAM
  • Teams wanting sync without running their own sync server

What does this agent do, and when should you use it?

Mnemosyne is a local-first, Hermes-first memory layer for AI agents. It provides persistent memory through a single SQLite file with hybrid retrieval (vector + FTS5 + importance). The BEAM architecture includes working memory, episodic memory, and a temporal knowledge graph. It supports MCP (stdio/SSE/streamable-http) and Python SDK, integrating with Cursor, Claude Code, Codex, OpenWebUI, and more. Installation is a simple pip install with no external services. Data stays on your machine by default. Advanced features include CLI, sync, and client-side encryption.

Mnemosyne launches an MCP server via mnemosyne mcp or exposes remember() and recall() functions in Python. Under the hood, it uses SQLite with sqlite-vec and FTS5, scoring by 50% vector similarity + 30% keyword + 20% importance. It offers a temporal knowledge graph (TripleStore) and memory banks for domain isolation. CLI commands include store, recall, stats, export/import, and sync. Sync supports bidirectional delta updates with optional encryption.

  1. Developers who want cross-session memory in Claude Code or Cursor without uploading data to the cloud
  2. Teams deploying agents on a VPS that need centralized memory and sync
  3. Hermes Agent users who want built-in memory and automatic context injection
  4. Privacy-sensitive users who need fine-grained control over memory (expiry, importance)
  5. Developers building custom Python agents and needing quick persistent memory integration
  6. Low-resource environments (e.g., Raspberry Pi) that need a minimal-dependency memory system

How do you install or deploy this agent?

Install with pip install mnemosyne-memory (core) or pip install "mnemosyne-memory[all]" (full with vector search and MCP). Requires Python 3.10+.

How do you use this agent?

  1. Add MCP server config to your client (e.g., Cursor) with command: "mnemosyne", args: ["mcp"]. 2. Or in Python: from mnemosyne import remember, recall, then call remember("User prefers dark mode") and recall("preferences"). 3. Use CLI directly: mnemosyne store "...", mnemosyne recall "...". 4. Configure environment variables for embedding model and database path.

What are this agent's strengths and limitations?

Pros
  • Local-first by default, no data leaves the machine, no telemetry
  • Single SQLite file, simple deployment with zero external dependencies
  • Built-in MCP server, works with multiple agent platforms out of the box
  • Strong benchmark results: 65.2% on BEAM 100K, low latency (35ms at 10M messages)
  • Client-side encryption for sync, server cannot read memory content
Limitations
  • Benchmark numbers may be outdated; BEAM scores from v3.0.0 not re-run
  • Default embedding model is English-optimized; multilingual requires configuration
  • Full features (local embeddings, LLM consolidation) require significant RAM
  • Sync feature requires additional server setup and key management, adding operational complexity

How does this agent compare with similar options?

Compared to alternatives like mem0, Letta, and Honcho, Mnemosyne stands out for its local-first, zero-dependency approach, built-in MCP server, and multi-platform support. On benchmarks, it scores 87.4% on LongMemEval (vs. mem0's 49%), but 65.2% on BEAM (vs. Hindsight's 73.4%, though with a different judge).

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Mnemosyne This agent 59 · Major gaps CLIFree ★ 3.5k today Python Codex · Claude Code
M-flow Cognitive Memory Engine 36 · Major gaps CLIFree + model costs ★ 4.5k 2mo ago Python OpenAI API · Claude API
Nocturne Memory: Long-Term Memory Server for MCP Agents 56 · Major gaps MCP serverFree ★ 1.4k 26d ago Python —
Tabularis: Open-Source Desktop SQL Workspace 47 · Major gaps Desktop appFree + model costs ★ 5.2k today TypeScript ChatGPT · Codex · Claude Code · Claude.ai

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
59/ 100 5-point scale 3.0 / 5
This review covers the source as of Aug 24, 2026. The project has shipped 5 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 14/29
Reliability 9/14
Adaptability 12/18
Convention 11/18
Effectiveness 9/13
Verifiability 4/8
Why each dimension lost points
Trust14 / 29 · 2.4/5

Evidence shows: local-first design, no telemetry by default, data stays on machine; sync is optional and supports client-side encryption; environment variables are clearly documented. Deductions: user confirmation mechanism is weak (no explicit confirmation flow); dependency security relies only on version ranges, no pinning or audit; rollback mechanism only mentions built-in memory as a rollback point, no concrete implementation; publisher identity is unverified, source attribution based only on repository metadata.

Reliability9 / 14 · 3.2/5

Evidence shows: code and tests are consistent, CI covers multiple Python versions; dependencies are clearly declared but not pinned; error handling is tested (e.g., export failure does not leak paths). Deductions: dependency availability not verified (no check that dependencies are obtainable); failure messages are not explicit in some scenarios.

Adaptability12 / 18 · 3.3/5

Evidence shows: supports multiple platforms and integration methods, provides environment variable configuration; capability boundaries are documented (e.g., embedding model choices); trigger mechanisms (e.g., MCP, CLI) are clear; environment fit considers low-resource devices. Deductions: some scenarios (e.g., specific platforms) are not fully covered in configuration details.

Convention11 / 18 · 3.1/5

Evidence shows: documentation structure is clear, with installation guides, examples, FAQ; naming is stable (e.g., mnemosyne command); known limitations are mentioned in README (e.g., benchmark version labels); MIT license is explicit; CHANGELOG and release process exist. Deductions: maintenance responsibility is unclear (publisher identity unverified, maintainer info unclear).

Effectiveness9 / 13 · 3.5/5

Evidence shows: output format (e.g., JSON) is suitable for programmatic use; multiple integration methods provide high marginal value (local-first, zero-dependency); cost-benefit is reasonable (lightweight, suitable for low-resource environments). Deductions: some features (e.g., vector search) require additional dependencies, potentially increasing cost.

Verifiability4 / 8 · 2.5/5

Evidence shows: benchmark results have version labels and explanations, distinguishing different metrics; tests cover key functionality; documentation separates facts and inferences (e.g., benchmark caveats). Deductions: cross-source corroboration is insufficient (relies only on own docs and tests, no independent verification).

Risks and how to mitigate them
  • Publisher identity is unverified; verify source before installation.
  • Dependencies are not pinned, posing supply chain risk.
  • User confirmation mechanism is weak; sensitive operations may proceed without prompt.
  • Rollback mechanism is unclear; be aware of data loss risk.
Evidence confidence: Low Reviewed Aug 24, 2026 Reviewed revision 8e6c010bc823 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.7.4
    Release notes excerpt
    What's Changed * fix(hermes): apply the iteration-mark predicate to canonical prefetch by @manate-anagram in https://github.com/mnemosyne-oss/mnemosyne/pull/1028 * test(hermes): pin remaining canonical CJK contract edges by @manate-anagram in https://github.com/mnemosyne-oss/mnemosyne/pull/1046 * fix(config): treat serialized None/null tools as unconfigured by @AmirF194 in https://github.com/mnemosyne-oss/mnemosyne/pull/1032 * fix(install): mnemosyne-uninstall parses its arguments before uninstalling (#1048) by @AxDSan in https://github.com/mnemosyne-oss/mnemosyne/pull/1055 …
    View on GitHub ↗
  2. v0.7.3
    Release notes excerpt
    What's Changed * feat(core): recall provenance logging by @AxelFooley in https://github.com/mnemosyne-oss/mnemosyne/pull/957 * fix(hermes): make audit writes thread-safe by @dplush in https://github.com/mnemosyne-oss/mnemosyne/pull/1009 * fix(hermes): honor audit busy timeout by @dplush in https://github.com/mnemosyne-oss/mnemosyne/pull/1010 * feat(doctor): expose read-only embeddings status by @dplush in https://github.com/mnemosyne-oss/mnemosyne/pull/1020 * fix(hermes): disambiguate iteration-mark recall by @dplush in https://github.com/mnemosyne-oss/mnemosyne/pull/1022 …
    View on GitHub ↗
  3. v0.7.2
    Release notes excerpt
    What's Changed * fix(hermes-catalog): restore the >=0.21.4 Hermes floor by @AxDSan in https://github.com/mnemosyne-oss/mnemosyne/pull/1001 * fix(hermes): safely replay staged pending operations by @dplush in https://github.com/mnemosyne-oss/mnemosyne/pull/999 * fix(hermes): serialize scoped replay beam access by @dplush in https://github.com/mnemosyne-oss/mnemosyne/pull/1006 * fix(hermes): isolate provider registrations by @dplush in https://github.com/mnemosyne-oss/mnemosyne/pull/1008 …
    View on GitHub ↗

FAQ

Do I need external API keys?
No for the core, but if using remote embedding APIs, set MNEMOSYNE_EMBEDDING_API_KEY (defaults to OpenRouter or OpenAI key).
How is data security handled?
Data is stored locally by default and never leaves your machine unless you enable sync. Sync supports client-side encryption (Fernet or PyNaCl); the server only sees metadata.
Does it support non-English languages?
The default embedding model is English-optimized, but you can switch to multilingual models like paraphrase-multilingual-MiniLM-L12-v2 via environment variables.
What about performance?
BEAM retrieval achieves 35ms latency at 10M messages with 7.2MB storage, but recall is only 20%; suitable for low-resource scenarios.
Can I integrate with my existing agent?
Yes, via MCP or Python SDK. It works with Cursor, Claude Code, Codex, OpenWebUI, and any custom Python agent.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents