github doobidoo/mcp-memory-service v10.49.2
v10.49.2 — fix(ontology): register custom base types with empty subtype lists

latest release: v10.49.3
2 hours ago

What's Fixed

Custom memory types declared with an empty subtype list were silently dropped — the root cause of #842.

_load_custom_types_from_config in models/ontology.py had:

if valid_subtypes:
    register_custom_type(name, valid_subtypes)

So MCP_CUSTOM_MEMORY_TYPES='{"foo": []}' — the exact form shown in the v10.49.1 coercion warning and in the memory_store tool description — never registered foo. The validator never saw it, so Memory.__post_init__ kept coercing it to "observation" regardless of the env var.

Fix (PR #846): Register the base type unconditionally. Warn only when subtypes were supplied but all failed validation. Two regression tests added.

Context

v10.49.1 (PR #844) surfaced the coercion warning in MCP/HTTP store responses so callers could detect the problem. This patch closes the loop by fixing the registration path — configuring MCP_CUSTOM_MEMORY_TYPES with a base type (empty or minimal subtypes) now works as documented.

Changelog

Upgrade

pip install --upgrade mcp-memory-service==10.49.2
# or
uvx mcp-memory-service@10.49.2

No migration required. No schema changes. Drop-in replacement for v10.49.1.

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

NewReleases is sending notifications on new releases.