Special Thanks
This release is driven entirely by @filhocf, whose sustained contributions across five merged PRs represent a major structural overhaul of the codebase. Thank you.
What Changed
Dispatch Refactor (PR #37, @filhocf)
The monolithic if/elif tool dispatch in server_impl.py (49 inline handler wrapper methods) is replaced by a declarative TOOL_REGISTRY in tools/registry.py and a ROUTING_TABLE in tools/routing.py. Dispatch uses getattr lazy delegation with setattr caching for first-call performance. All 26 active tools registered including the 7 new tools from v10.73.0. 81 tests pass (+1427/-1407 across 7 files).
Storage Decomposition (PR #42, @filhocf)
The 5800-line storage/sqlite_vec.py is decomposed into 8 focused mixins under storage/mixins/: BaseMixin, MigrationsMixin, EmbeddingsMixin, StoreMixin, RetrieveMixin, HybridMixin, DeleteMixin, MetadataMixin. No public API changes. 265 tests pass (+5464/-5861 across 21 files).
Harvest Fix (issues from #43, merged via PR #42, @filhocf)
File discovery deduplication prevents double-ingestion of OpenClaw trajectory files. role_filter disabled for trajectory files to avoid silently dropping assistant turns.
Full CHANGELOG: https://codeberg.org/doobidoo/mcp-memory-service/src/branch/main/CHANGELOG.md#10740---2026-06-05
Install
pip install mcp-memory-service==10.74.0
Docker
docker pull doobidoo/mcp-memory-service:10.74.0
docker pull doobidoo/mcp-memory-service:latest