Skip to main content

Neuromem

One SQLite file. Zero cloud. One command to set up.

PyPI Python License Base Score Pro Score

🏆 91.5% on LoCoMo · 📦 One SQLite File · ☁️ Zero Cloud · 💰 Zero Infrastructure Cost

Benchmark · Highlights · Base vs Pro · Install · First Run · API


🔬 Benchmark

Tested on LoCoMo, the standard benchmark for conversational memory. 1,540 questions across 10 conversations. All 8 systems share the same answer model, judge, scoring, top-k, and byte-identical answer prompt — only retrieval differs.

LoCoMo 8-System Comparison

Neuromem achieves state-of-the-art accuracy for fully-local memory systems at zero ongoing infrastructure cost. Base runs entirely offline with no API keys. Pro adds one small LLM call per query for HyDE query expansion.

Accuracy vs Infrastructure Cost

All scores use the same evaluation pipeline: GPT-4.1-mini answer generation, GPT-4o-mini judge (3x majority vote), temperature=0. Zero errors across 12,320 total answers. Scores use a lenient semantic-match judge; rankings are valid across all systems but absolute values are higher than published LoCoMo baselines using strict exact-match. Full methodology and reproduction scripts in benchmarks/.


⚡ Research Highlights

  • 30+ percentage points more accurate than Mem0 on LoCoMo (91.5% vs 61.4%)
  • 2x more cost-efficient per correct answer than Mem0
  • Runs offline on any device with Python 3.10+ and 512MB RAM
  • One SQLite file, zero API keys. The entire 6-layer system runs offline.
  • Within 3.0pp of EverMemOS, the only higher-scoring system — and EverMemOS uses pre-computed retrieval rather than live search at query time.

Category Breakdown

Neuromem Pro nearly matches EverMemOS across all 4 question categories. Mem0 collapses on multi-hop reasoning (37.7% vs 90.7%).


🏗️ Base vs Pro

Same features, same 6-layer pipeline. Pro upgrades the embedding model and the cross-encoder reranker for higher retrieval accuracy.

Base Pro
LoCoMo 88.2% 91.5%
Runs on Any machine (CPU only) 4GB+ RAM (CPU or GPU)
First install ~30MB ~1.5GB one-time download
Speed Ultra-fast Fast

Base works everywhere. Pro remembers better.


🚀 Quickstart

Claude Code / Claude Desktop

One command. Installs Neuromem and auto-configures Claude:

pip install neuromem-core[gpu,mcp] && neuromem-mcp --setup

That's it. Start a new Claude session — Neuromem walks you through choosing Base or Pro on first run, and you're ready to go.

Lightweight install (Base only, ~30MB instead of ~1.5GB):

pip install neuromem-core[mcp] && neuromem-mcp --setup

If you pick Pro later, Neuromem will prompt you to install the extra models.

Python library (no Claude)

pip install neuromem-core
from neuromem import Memory

m = Memory()
m.add("Prefers dark mode and TypeScript", user_id="alex")
m.add("Allergic to peanuts", user_id="alex")

results = m.search("What are Alex's preferences?", user_id="alex")
print(results[0]["content"])
# → "Prefers dark mode and TypeScript"

The database is created automatically at ~/.neuromem/memories.db.


🤖 What happens on first run?

Claude forgets you between sessions. Neuromem fixes that.

On your first session after installing, Neuromem will:

  1. Welcome you and show your current version
  2. Ask Base or Pro — you choose your accuracy tier
  3. Optionally accept an API key — for enhanced search via HyDE query expansion (Anthropic, OpenRouter, or OpenAI)
  4. Show you how it works — with example prompts to try

After setup, Neuromem runs automatically. It stores what you tell it and recalls it in future sessions — no manual work needed.

Make it automatic (optional)

Copy CLAUDE.md.example to your home directory as CLAUDE.md. This tells Claude to store your preferences and recall them without being asked:

cp CLAUDE.md.example ~/CLAUDE.md

Manual setup

If --setup doesn't detect your Claude installation, you can configure manually:

Claude Code:

claude mcp add neuromem -- python -m neuromem.mcp_server

Claude Desktop: add to claude_desktop_config.json (Settings > Developer > Edit Config):

{
  "mcpServers": {
    "neuromem": {
      "command": "python",
      "args": ["-m", "neuromem.mcp_server"]
    }
  }
}

If you installed in a virtualenv, use the full path to that Python (e.g. "/path/to/venv/bin/python").


📖 API

Method What it does
m.add(content, user_id=None) Store a memory
m.search(query, user_id=None, limit=10) Search memories
m.search_deep(query, user_id=None, limit=10) Agentic multi-round search (higher latency + LLM cost; best for ambiguous queries)
m.get(memory_id) Get one memory
m.get_all(user_id=None, limit=100) List all memories
m.update(memory_id, content) Update a memory
m.delete(memory_id) Delete a memory
m.delete_all(user_id=None) Delete all

📊 Full Benchmark Details

Every benchmark script is self-contained and runs on Modal.


📝 Citation

@software{neuromem2026,
  title = {Neuromem: State-of-the-Art Local-First Agent Memory},
  author = {@Building\_Josh},
  organization = {Sauron},
  year = {2026},
  url = {https://github.com/buildingjoshbetter/neuromem},
  version = {0.2.0}
}

⚖️ License

Licensed under Apache 2.0. Free for personal and commercial use.

Metadata

Release files for neuromem-core 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for neuromem-core 0.2.2
File Size Uploaded
neuromem_core-0.2.2.tar.gz 8.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for neuromem-core 0.2.2
File Interpreter ABI Platform
neuromem_core-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 9.1 MB

Release files / neuromem_core-0.2.2.tar.gz

Download URL neuromem_core-0.2.2.tar.gz
Size 8.9 MB
Tags Source
SHA-256 checksum
How to use checksums
25d3078dc54d1a3087c5951e7acbbd1b8cf398ba98b537d943b0644a6acd2b50
BLAKE2b-256 checksum
How to use checksums
144b619189f753d6f6e0c7ce17351377828415f856b8d4a36ad5c5392f1888b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 9, 2026.

Transparency log

Release files / neuromem_core-0.2.2-py3-none-any.whl

Download URL neuromem_core-0.2.2-py3-none-any.whl
Size 164.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1e974301b967a831c75d44c353dc4712901e7ad8d1828aa1d9f8a32876d40c5e
BLAKE2b-256 checksum
How to use checksums
73b872a69f6ea3b18dd605ed0e4e93f040784b8090cbb722ddefcece81e723d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page