v0.1.14
CLI + server fix batch following v0.1.13: a dev-checkout register entrypoint
bug fix (#225), mms add --import --prune + TTY prompt to close the
dual-registration gap #203 had left warning-only (#227, closes #226), and a
tools/list order flip so proxied tools lead the advertise list ahead of STM
utility tools in /mcp pickers (#229, #228 phase 1).
Added
mms add --import --prune+ interactive TTY confirm prompt (#227, closes #226) — after a successful import, prune the direct registration from each source MCP client so tools are reachable via STM only.--pruneruns unconditionally (scripted callers); without the flag, a TTY prompt (default No) lists the exact(name, source)pairs before writing. Non-TTY callers without--prunekeep the existing #203 hint-only behavior — no silent auto-prune. Writer surface:claude mcp remove <name> -s <scope>for Claude Code user/local/project scopes, atomic JSON rewrite (atomic_write_text) for Claude Desktop. Prune failures are non-fatal: the import stays, a per-entry warning surfaces the error, and the exact manual command from_source_removal_hintis printed.duplicate_insources (a candidate registered in more than one client) are pruned from every source, not just the primary.--prunewithout--from-clientsis aUsageErrorrather than a silent no-op.
Changed
- Proxied tools now advertise before STM utility tools in
tools/list(#229, #228 phase 1) — STM utility tools register at module import (via@mcp.tool()/@_obs_tool); proxied tools register later, insideapp_lifespan. FastMCP's insertion-ordered_tool_manager._toolspreviously yielded STM utility tools first, pushing the domain tools users actually reach for (fs__…,gh__…,langchain__…, etc.) to the bottom of pickers that preserve server order (Claude Code/mcp). After proxied registration,_move_stm_tools_to_endpops and reinserts each STM utility entry so proxied tools lead the advertise list. Missing entries (obs tools hidden byMEMTOMEM_STM_ADVERTISE_OBSERVABILITY_TOOLS=false) are skipped safely. Tool set, names, schemas, annotations, and the flag semantics are unchanged; only the order flips. Phases 2 (flag default flip) and 3 (mem-do-style grouping) from #228 remain open.
Fixed
_detect_install_typeregisters thememtomem-stmserver entrypoint, not themmsclick group (#225) — the dev-checkout / user-project branch emitteduv run --directory <root> mms, butmmsis the click CLI group (memtomem_stm.cli.proxy:cli): invoked with no subcommand it printed help and exited 0, closing the MCP stdio pipe beforeinitializeand the client reported "Failed to reconnect to memtomem-stm". Both branches now land on the actual server entrypoint (memtomem_stm.server:main).mms init/mms registernow produce a working config in source-checkout anduv add memtomem-stmproject setups out of the box; prior broken configs need to be re-run throughmms register(or hand-edited) to pick up the fix.
PyPI: https://pypi.org/project/memtomem-stm/0.1.14/
Full changelog: https://github.com/memtomem/memtomem-stm/blob/main/CHANGELOG.md#0114--2026-04-22
🤖 Generated with Claude Code