github doobidoo/mcp-memory-service v11.12.0

3 hours ago

The first release since development moved back to GitHub: 73 merged pull requests, 43 of them from outside the maintainer. Thanks to filhocf, massimiliano1991, be-student (eunwoo song), zsxh1990, DivyamTalwar, VijaySreekar, dchaudhari7177, breken-ai, LouisDeconinck, chiranjeevi7777, TonMtt, mikemikimike, danielle060821, ikorfale, L4XB, 2160039878-cyber, 7487, FBISiri and timkjr.

Most of the weight is on retrieval correctness and consolidation.

Search returns what you asked for

Four paths asked storage for the k nearest embeddings first and filtered afterwards, so soft-deleted rows, rows outside the time window and rows excluded by tag consumed the candidate budget before a valid match could be seen — a search could come back empty while matching memories existed.

  • sqlite-vec now restricts the KNN scan to eligible rowids (#1128, be-student, closes #1077)
  • Cloudflare over-fetches before applying the tag filter (#1218, LouisDeconinck, closes #1209)
  • match_all=True really means AND, instead of OR results labelled ALL (#1197, be-student, closes #1196)
  • Compact search forwards tags before the limit (#1189, DivyamTalwar)

Consolidation stopped over-deleting and stopped reporting fiction

  • Deduplication deleted every copy instead of the extras: the duplicate check is symmetric and ran once per memory against the whole list, so both members of a pair came back deletable — and that path skips the time-horizon guard (#1180, massimiliano1991)
  • Forgetting could never reach the stale tail, because every horizon became a bounded window (#1167, zsxh1990, closes #1124)
  • The health monitor returned six hardcoded strings, so it reported HEALTHY with every schedule disabled and jobs_executed: 0 (#1166, zsxh1990, closes #1125)

New

  • The ONNX backend honors MCP_EMBEDDING_MODEL (#1242, filhocf, closes #1230), which puts multilingual embeddings within reach without torch
  • An opt-in LLM backend for natural-language inference through the harvest provider chain (#1215, filhocf)
  • Autonomous session harvest can run on the consolidation scheduler via MCP_HARVEST_SCHEDULE (#1241, filhocf), with backoff and pacing for the classifier (#1234, filhocf, closes #1111)
  • Plugins now run on REST searches and on memory_search, not only on MCP retrieval (#1177, #1142)

Upgrade notes

  • Time ranges and date-bounded deletes both mean the host-local day (#1157). A bare calendar date meant host-local in the parser and UTC in the filter and delete paths, so recall and delete for "yesterday" hit different rows inside one process. If you run well away from UTC, "yesterday" now selects a different set than it did in v11.11.0 — the set both operations agree on.
  • memory stop refuses to terminate a process that merely holds the port unless its command line matches MCP Memory Service (#1219, VijaySreekar, closes #1211). --force overrides. memory stop --port also refuses a PID-file process recorded on a different port (#1224, mikemikimike).
  • The HTTP coordination mode is gone (#1161, closes #1078). It had been unable to start since v7.5.0 — four unimplemented abstract methods, and a probe asking /health where the server answers /api/health — and carried neither authentication nor TLS. Multi-client access is WAL mode for several local clients, or one shared HTTP server.
  • The dead ChromaDB backup scripts were removed (#1217, chiranjeevi7777, closes #1207). They had died with ModuleNotFoundError on every invocation; use scripts/backup/backup_sqlite_vec.sh.

Full detail, including the internal and CI changes, is in CHANGELOG.md.

Don't miss a new mcp-memory-service release

NewReleases is sending notifications on new releases.