Skip to main content

bettermemory: memory that is checked before it is believed

PyPI CI Python 3.11-3.14 MIT

An MCP memory server for coding agents. Stored facts get checked against the filesystem and git before the model relies on them, so a memory that has rotted is flagged instead of quoted back at you.

Install

Claude Code — two slash commands, zero config:

/plugin marketplace add 0Mattias/bettermemory
/plugin install bettermemory@bettermemory

Anything else that speaks MCP:

uv tool install bettermemory
bettermemory init --client claude-desktop   # or cursor / cline / claude-code

Restart the client. bettermemory doctor exits 0 when it's wired correctly and prints a one-line fix for anything that isn't.

Try it without installing: uvx bettermemory try writes a memory citing a file, deletes the file, and shows the next search flagging it. Offline, throwaway store.

What it does

  • Every hit carries a staleness verdict — calendar age, the paths it cites, commits landed since it was last confirmed.
  • Retrieval is a deliberate tool call, with one score-gated exception: on the rare prompts where the silent-miss probe says memory was needed (the measured rate lives in docs/eval-results.md), the recall hook injects the top hit's id + snippet — a pointer, never a body, so verification still runs through memory_show ([behavior] prompt_recall; off = purely opt-in). The 18 default tools still charge schema every turn: a serialized tools/list of 33,960 bytes, 27,092 of it names and descriptions, measured 2026-07-31 at 3.32.0 (bench/toolcost). CI caps the descriptions.
  • Write gates: transient state, secret-shaped tokens and near-duplicates bounce; claims about you stage for confirmation.
  • One markdown file per memory. Greppable, git-syncable. Markdown is canonical; the SQLite index next to it is a derived cache you can delete. No cloud, no account.
  • bettermemory eval measures whether memory helped, against your own log. Ours is published — one store, one user, misses included.

For agents

You were likely handed this link with "set this up." On Claude Code, the two plugin commands above are the whole install — skip to step 3. Everywhere else, steps are idempotent and safe to re-run:

  1. uv tool install bettermemory — or pipx install bettermemory, or pip install bettermemory into a venv. Python 3.11–3.14.
  2. bettermemory init --client claude-code — likewise claude-desktop, cursor, cline. For any other MCP host, plain bettermemory init prints the canonical mcpServers JSON snippet plus known config locations. (Continue needs a hand-written YAML entry — see docs/clients.md.)
  3. bettermemory doctor — exit 0 means correctly wired; every failed check prints a one-line fix.
  4. Have the user restart the client so the server loads, then confirm by asking the model "what memory tools do you have?"

Your operating contract — tool signatures, retrieval discipline, write gates — is docs/api.md; the server's instructions block delivers the core policy automatically. For the long-form policy in your system prompt: bettermemory init --with-addendum. Migrating from Claude Code's built-in auto-memory: bettermemory ingest imports those files once.

Everything else

The rest is written down: mechanics, storage format, the full tool surface, CLI, configuration and limitations in internals; per-client setup in clients and installation; eval methodology in eval; postmortems in incidents; release history in CHANGELOG; dev setup and the compatibility contract in CONTRIBUTING.

MIT licensed — see LICENSE.

Download files

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

Source Distribution

bettermemory-3.41.0.tar.gz (3.9 MB view details)

Uploaded Source

Built Distribution

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

bettermemory-3.41.0-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file bettermemory-3.41.0.tar.gz.

File metadata

  • Download URL: bettermemory-3.41.0.tar.gz
  • Upload date:
  • Size: 3.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for bettermemory-3.41.0.tar.gz
Algorithm Hash digest
SHA256 a616fb25b4b9983725f468db7b1b104bfc2ba24999a4a887d74a3c02ca0fc1fd
MD5 c4eb052f07c3dbfc59b7b3364accddcc
BLAKE2b-256 36df81ee722bb84d27b06751087807ec367d88b4bcab27784ac8270b7a532d7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for bettermemory-3.41.0.tar.gz:

Publisher: release.yml on 0Mattias/bettermemory

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

File details

Details for the file bettermemory-3.41.0-py3-none-any.whl.

File metadata

  • Download URL: bettermemory-3.41.0-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for bettermemory-3.41.0-py3-none-any.whl
Algorithm Hash digest
SHA256 305025cbd3f3c83e1400d1c09cdee2d3f7659f0d22f44fb905c38936624bafd0
MD5 29946f48e3f1c51f2cf315df415b835c
BLAKE2b-256 c509fc0e009d1ccb3880b913887b47ddaa2b2bd6331f1ba1946acea770bfdf67

See more details on using hashes here.

Provenance

The following attestation bundles were made for bettermemory-3.41.0-py3-none-any.whl:

Publisher: release.yml on 0Mattias/bettermemory

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

Release history Release notifications | RSS feed

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