Skip to main content

The Zero-Dependency, Sub-Millisecond AI Memory System

Project description

Mnemosyne

Mnemosyne

Zero-dependency AI memory that works everywhere. SQLite-backed. Sub-millisecond. Fully private.

Python PyPI License CI BEAM Discord MCP

Mnemosyne is a universal memory layer for AI agents. Drop it into any agent framework — Hermes, Claude Code, Cursor, Codex, OpenWebUI, OpenClaw, or your own custom agent. One pip install, one SQLite database, zero cloud dependencies.


Works With Everything

Platform Method Setup
Cursor MCP Add to .cursor/mcp.json
Claude Code MCP Add to claude.json
OpenAI Codex CLI MCP Add to .codex/mcp.json
Windsurf MCP Add to .windsurf/mcp_config.json
OpenWebUI Native @tool Drop bridge file into data/tools/
OpenClaw Native provider pip install mnemosyne-memory[openclaw]
Hermes Agent MCP + Plugin Native — ships enabled
Any MCP client MCP (stdio/SSE) One config line
Any Python agent Direct SDK import mnemosyne

See docs/integrations/ for complete setup guides per platform.


Quick Start

pip install mnemosyne-memory

# With all features (vector search + MCP server)
pip install "mnemosyne-memory[all]"

Add to your agent

MCP-based (Cursor, Claude Code, Codex, Windsurf):

{
  "mcpServers": {
    "mnemosyne": {
      "command": "mnemosyne",
      "args": ["mcp"],
      "env": {}
    }
  }
}

Python SDK (any agent):

from mnemosyne import remember, recall

remember("User prefers dark mode interfaces")
results = recall("user preferences")

OpenWebUI: Drop a 1-line bridge file into data/tools/.

OpenClaw: Add provider: mnemosyne.integrations.openclaw:create_provider to config.


Benchmark

Mnemosyne v3 scores 65.2% on the BEAM long-context memory benchmark (ICLR 2026) at 100K scale — competitive with cloud alternatives while running fully offline, all in a single SQLite file.

Scale Mnemosyne v3 Honcho Hindsight LIGHT RAG
100K 65.2% 63.0% 73.4% 35.8% 32.3%

Per-ability (100K): IE 91.5% · MR 87.5% · TR 75.0% · ABS 100.0% · CR 50.0% · KU 50.0% · EO 25.0% · IF 62.5% · PF 54.5% · SUM 55.6%

Full report: docs/beam-benchmark.md


CLI Usage

# MCP server (works with any MCP client)
mnemosyne mcp                          # stdio (default)
mnemosyne mcp --transport sse --port 8080  # SSE (web clients)

# Direct memory ops
mnemosyne remember "User likes dark mode"
mnemosyne recall "preferences"
mnemosyne stats
mnemosyne sleep                         # Run consolidation

# Export / import
mnemosyne export --output backup.json
mnemosyne import --input backup.json

Python API

from mnemosyne import remember, recall

# Store a fact
remember("User prefers dark mode interfaces",
         importance=0.9, source="preference")

# Store globally (visible across all sessions)
remember("User email is user@example.com",
         importance=0.95, scope="global")

# Store with expiry
remember("Temp token: abc123",
         importance=0.8, valid_until="2026-12-31")

# Search
results = recall("interface preferences", top_k=3)

# Temporal recall (recency boost)
results = recall("deployments",
                 temporal_weight=0.5, temporal_halflife=48.0)

# Entity extraction
remember("Met with Abdias about the v2 release",
         extract_entities=True)

# LLM-driven fact extraction
remember("User said they prefer Python for backend work",
         extract=True)

# Temporal triples (knowledge graph)
from mnemosyne.core.triples import TripleStore
kg = TripleStore()
kg.add("Maya", "assigned_to", "auth-migration",
       valid_from="2026-01-15")
kg.query("Maya", as_of="2026-02-01")

# Memory banks (per-domain isolation)
from mnemosyne.core.banks import BankManager
BankManager().create_bank("work")
work_mem = Mnemosyne(bank="work")
work_mem.remember("Sprint review on Friday")

Advanced: BEAM Direct Access

from mnemosyne.core.beam import BeamMemory

beam = BeamMemory(session_id="my_session")
beam.remember("Important context", importance=0.9)
beam.consolidate_to_episodic(
    summary="User likes Neovim",
    source_wm_ids=["wm1"]
)
results = beam.recall("editor preferences", top_k=5)

Architecture

┌────────────────────────────────────────────────────────────┐
│                    Any AI Agent                            │
│  (Hermes · Claude Code · Cursor · Codex · OpenWebUI · MCP) │
└────────────────────────┬───────────────────────────────────┘
                         │ MCP / SDK / Plugin
┌────────────────────────▼───────────────────────────────────┐
│                      Mnemosyne BEAM                         │
│  ┌────────────┐  ┌──────────────┐  ┌────────────────────┐   │
│  │ Working    │  │ Episodic     │  │ TripleStore         │   │
│  │ Memory     │──▶│ Memory       │  │ (Temporal KG)      │   │
│  │ (hot ctx)  │  │ (long-term)  │  └────────────────────┘   │
│  └────────────┘  └──────┬───────┘                           │
│                         │                                    │
│              ┌──────────▼──────────┐                        │
│              │     SQLite DB       │                        │
│              │  (single file)      │                        │
│              │  sqlite-vec + FTS5  │                        │
│              │  MIB binary vectors │                        │
│              └─────────────────────┘                        │
└─────────────────────────────────────────────────────────────┘

BEAM (Bilevel Episodic-Associative Memory):

  • Working memory — Hot context, auto-injected before LLM calls, TTL-based eviction
  • Episodic memory — Long-term storage with sqlite-vec + FTS5 hybrid search
  • TripleStore — Temporal knowledge graph with version chains

Hybrid scoring: 50% vector similarity + 30% FTS5 rank + 20% importance, all inside SQLite.

Binary vectors: Information-theoretic binarization (MIB) compresses 384-dim float32 embeddings into 48 bytes — 32x reduction. Hamming distance entirely within SQLite. No ANN indices, no external vector DB.


Why Mnemosyne?

Feature Mnemosyne mem0 Letta Honcho SuperMemory Hindsight ChromaDB
Local-first ✅ SQLite ⚠️ Hybrid ❌ Docker+PG ⚠️ PG+worker ❌ SaaS ✅ SQLite ✅ Embedded
Zero deps ✅ pip only ❌ Qdrant/PG ❌ PG+vector ❌ PG+3 LLMs ❌ SaaS infra ✅ pip only ✅ pip only
MCP server ✅ Built-in
Python SDK
Multi-platform ✅ 8+ targets ⚠️ 3 adapters ❌ Agent-only ⚠️ 4 adapters ✅ MCP ❌ Agent-only ❌ Library only
Open source ✅ MIT ✅ Apache 2.0 ✅ OSS ⚠️ AGPL ❌ Proprietary ✅ MIT ✅ Apache 2.0
Benchmark 65.2% BEAM 49% LongMem 83.2% LoCoMo 90.4% LongMem 85.2% MemoryBench 73.4% BEAM N/A (vector DB)
Self-hosted ✅ Yes ✅ Optional ✅ Optional ✅ Yes ❌ Enterprise ✅ Yes ✅ Yes
Integration template ✅ Published
Memory architecture BEAM (3-tier) Session + facts OS-virtual context Peer + reasoning 5-layer stack Episodic + semantic Vector store only
Purpose Full memory system Memory API Agent runtime Managed memory Consumer + agent Research memory Vector database

Configuration

Environment Variables

Variable Default Description
MNEMOSYNE_DATA_DIR ~/.hermes/mnemosyne/data Database directory
MNEMOSYNE_VEC_TYPE int8 Vector compression: float32, int8, or bit
MNEMOSYNE_VEC_WEIGHT 0.5 Vector similarity weight
MNEMOSYNE_FTS_WEIGHT 0.3 FTS5 keyword weight
MNEMOSYNE_IMPORTANCE_WEIGHT 0.2 Importance weight
MNEMOSYNE_WM_MAX_ITEMS 10000 Working memory limit
MNEMOSYNE_RECENCY_HALFLIFE 168 Decay halflife in hours

Full reference: docs/configuration.md


Hermes Plugin (17 tools)

When used with Hermes Agent, Mnemosyne exposes 17 tools for memory lifecycle management — 3 lifecycle hooks (pre_llm_call, on_session_start, post_tool_call) for automatic context injection, plus full MCP support.

See docs/hermes-integration.md.


Contributing

See CONTRIBUTING.md for guidelines.

Full docs: docs/ · Changelog: CHANGELOG.md · Releases: GitHub Releases · Integrations: docs/integrations/


Support

Discord: Join the Mnemosyne community · Issues: GitHub Issues

GitHub Sponsors Ko-fi

Star the repo if you find it useful!


License

MIT License — See LICENSE

Copyright (c) 2026 Abdias J


"The faintest ink is more powerful than the strongest memory." — Hermes Trismegistus

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mnemosyne_memory-3.1.0.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mnemosyne_memory-3.1.0-py3-none-any.whl (369.6 kB view details)

Uploaded Python 3

File details

Details for the file mnemosyne_memory-3.1.0.tar.gz.

File metadata

  • Download URL: mnemosyne_memory-3.1.0.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mnemosyne_memory-3.1.0.tar.gz
Algorithm Hash digest
SHA256 2de9b6f54ed771730011cfc57093375ad17e1c32b05c6f3d65ed8b23bc72d5b3
MD5 1aca75d4b17a54aaaaa3ddc05d5bbd8a
BLAKE2b-256 c338b5f4ac87340e44b2f5e4ba30e8e098d6ec45f23581133200a5f7d7c68df4

See more details on using hashes here.

Provenance

The following attestation bundles were made for mnemosyne_memory-3.1.0.tar.gz:

Publisher: release.yml on AxDSan/mnemosyne

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mnemosyne_memory-3.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mnemosyne_memory-3.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2825716abf3727f87b30f62558f2b1a7578e7533aae1cca2150ed9092d97fe91
MD5 42f1c965eae45410d1fb9d8c7b2a1681
BLAKE2b-256 593f5807f6d829cd0cfc89b0c925b69737e9f945f8611c7127e753164f4ffcaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for mnemosyne_memory-3.1.0-py3-none-any.whl:

Publisher: release.yml on AxDSan/mnemosyne

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page