Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Upgrading and migrations

Replacing the binary

Stop or let finish any running memors-mcp processes, replace the binary, and start the client again. Each MCP session starts its own process, so a new binary is picked up on the next session.

Upgrading from memo-mcp

memo-mcp was renamed to memors-mcp, and memo-tray to MemoRS Tray. Knowledge-base files, memo:// addresses, tool names and the export format are unchanged. The names around them changed, and the old ones are not read any more:

WasNow
memo-mcp binary, memo-mcp_<version>_<os>_<arch> archivesmemors-mcp, memors-mcp_<version>_<os>_<arch>
~/.memo-mcp (knowledge bases, token, profiles, run files, tray.json)~/.memors-mcp
~/.cache/memo-mcp/models~/.cache/memors-mcp/models
MEMO_* variablesMEMORS_*, same suffixes
memo_* metricsmemors_*, same suffixes
memo-tray.app, bundle ID and LaunchAgent io.github.kkeo.memo-trayMemoRS Tray.app, io.github.kkeo.memors-tray
tray.json key memo_binarymemors_binary
github.com/kKEo/memory-findgithub.com/kKEo/memors
  1. Quit memo-tray and stop every memo-mcp serve process.
  2. Move the data: mv ~/.memo-mcp ~/.memors-mcp. If you set MEMO_HOME, keep that directory and set MEMORS_HOME instead. Optionally mv ~/.cache/memo-mcp ~/.cache/memors-mcp keeps the downloaded models; otherwise they download again.
  3. Install memors-mcp (From a release) and delete the old memo-mcp binary.
  4. In every client config, point the command at memors-mcp and rename MEMO_* variables to MEMORS_*. The server key (memo) may stay; these guides now use memors (Connecting clients).
  5. If tray.json sets memo_binary, rename the key to memors_binary, or delete it and let MemoRS Tray find memors-mcp by itself.
  6. Install MemoRS Tray by hand, as described on its page: memo-tray cannot update itself to the renamed release archives. Delete memo-tray.app. “Open at login” carries over on the first start.
  7. Rename memo_ to memors_ in Prometheus recording rules, alerts and dashboards (Prometheus).
  8. Browsers log in to the web UI once more: the session cookie was renamed.

memors-mcp status then shows the same knowledge base as before.

Schema versions

The schema version is SQLite’s user_version. Migrations are additive and run forward only.

VersionReleaseAdds
10.4 to 1.0Sources, documents, chunks and their indexes, facts, bookkeeping
21.1Graph layer: entities, aliases, mentions, merge candidates, edges
31.2Pages layer: pages, page sources, page vectors, work items
41.4call_log table

memors-mcp status prints the version in its first line, and the metric memors_kb_schema_version exposes it.

What migrates and when

SituationBehaviour
A writing process opens an older file: serve, ingest, remember, forget, search, verify, backfill, migrate, …Migrates forward automatically, one transaction per migration
A read-only command opens an older file: status, ui, ls, read, export, metrics, facts, explore, lint, pages, trust ls, graph mergesRefuses with file is at schema vN, this binary expects vM; run memors-mcp migrate. Read-only opens never write
Any process opens a newer file than it knowsRefuses with database schema is at version N, but this binary only supports up to version M; upgrade memors-mcp

To migrate explicitly before anything else touches the file:

MEMORS_KB=my-project memors-mcp migrate

Downgrades are not supported. Back up the file before upgrading across a schema version if you may need to roll back. See Backup and restore.

After upgrading to 1.1 or later from 1.0

Files written before the graph layer have no entity mentions. Populate them once:

memors-mcp graph rebuild            # all namespaces; or --ns <name>

Run it again after any release whose notes mention an extraction change.

After changing the embedding model

A model change is not a schema change. Vectors are stored per model, so the server embeds the missing ones in the background at start, and search reports degraded until it finishes. See Embedding models.

Release notes

Read the changelog and the eval report for the tag, docs/eval/vX.Y.Z.md, before upgrading. The 1.x contract keeps tool names and parameters, memo:// addresses, explain field names and the export format stable.