0.9.2.38 is a release about correctness. Two fixes in particular close long-standing integration gaps that were easy to miss and expensive to debug: stdio MCP clients no longer need a pre-launched daemon, and the multi-surface server no longer splits brain across HTTP, HTTPS, MCP, REST, and the dashboard. Benchmarks are now reproducible bit-identical across full-scale runs.
Headline: plug MentisDB into Claude Desktop with zero pre-flight steps.
No mentisdbd &, no mcp-remote, no shell init. The stdio process
finds or launches the daemon itself and proxies cleanly to it so every surface
shares the same live chain cache.
When an MCP client (Claude Desktop, Cursor, or anything that spawns an
stdio subprocess) starts mentisdbd in stdio mode, the process now:
nohup on Unix,
start /B on Windows), waits for health, and proxies to it.
The result is that Claude Desktop users stop fighting MCP bootstrap. One entry in
claude_desktop_config.json pointing at mentisdbd is the whole
setup. Multiple stdio clients running side-by-side observe each other's appends in real
time because they all talk to the same daemon process.
Background and details: see the Stdio MCP Mode with Smart Daemon Detection post.
start_servers
Before 0.9.2.38, start_servers constructed each surface — HTTP MCP,
HTTP REST, HTTPS MCP, HTTPS REST, and the dashboard — with its own
MentisDbService::new(...). Each service owned a private
DashMap<chain_key, Arc<RwLock<MentisDb>>>, so an append that
went in through REST was invisible to MCP (and vice versa) until the daemon restarted and
both services happened to reload the chain from disk.
The fix is small and surgical: start_servers now constructs
one MentisDbService and shares it across every surface it
boots. Single-surface entry points (start_mcp_server,
start_rest_server, start_https_*_server) are unchanged.
A regression test (start_servers_shares_state_across_mcp_and_rest) pre-warms
the MCP service, appends a thought via REST, and asserts the MCP side immediately sees
the new head_hash, thought_count, and
latest_thought.index — no restart, no reload.
Two new subcommands, mentisdbd backup and mentisdbd restore,
create and restore .mbak archives of the full MENTISDB_DIR.
--flush, --include-tls, --overwrite flags.POST /v1/admin/flush before reading files.--overwrite is not supplied; declining exits cleanly with no changes.../escape.txt, absolute paths) with InvalidData before extraction.
A new REST endpoint iterates every open chain and calls flush() on its
BinaryStorageAdapter. Backup uses it automatically; operators can call it
directly before snapshotting the data directory with an external tool.
chain_key, valid_at, or invalid_at; only exact duplicates are removed.brew install mcp-remote on macOS (previously silent); brew is tried first, npm is the fallback; dead check_node_version and detect_brew_mcp_remote helpers removed.mcp-remote is installed as an absolute executable, the wizard uses it directly without a node wrapper; the shebang-based fallback is retained for npm-installed scripts.overwrite=false unless --overwrite was passed).pymentisdb.context_bundles() now decodes typed ContextBundleSeed and ContextBundleHit objects instead of nesting ContextBundle inside itself; append_thought() uses one canonical ThoughtInput builder; ranked_search() and context_bundles() accept MemoryScope enums directly.response_format hint — some OpenAI-compatible endpoints rejected the schema; MentisDB now relies on the prompt plus strict JSON validation of the returned payload, preserving provider portability.
mentisdbd now prints a yellow warning at daemon startup that closing the
terminal stops the process, followed by an OS-specific background-launch tip:
nohup mentisdbd > ~/.cloudllm/mentisdb/mentisdbd.log 2>&1 &nohup one-liner.schtasks /create one-liner or Start-Process -WindowStyle Hidden.Benchmarks on 0.9.2.38 are deterministic: three independent full-scale runs (2026-04-14 and two on 2026-04-17) produced bit-identical scores.
| Benchmark | Metric | Result |
|---|---|---|
| LoCoMo 10-persona | R@10 | 71.9% |
| LongMemEval | R@5 | 66.8% |
| LongMemEval | R@10 | 72.2% |
| LongMemEval | R@20 | 78.0% |
The WHITEPAPER now documents the reproducibility caption under the results table and fills in previously empty LoCoMo cells (single-hop 75.8%, multi-hop 57.4%, R@20 79.1%).
The retrieval pipeline that produces these numbers is described end-to-end in Inside MentisDB Ranked Search — One Call, One Pipeline.
WHITEPAPER.md was rewritten in academic register with formal definitions
(Thought, Chain, BM25, RRF, Jaccard dedup, temporal validity), a tamper-evidence proof
sketch, and a References section. A LaTeX port (WHITEPAPER.tex) uses
amsmath/amsthm/booktabs, and
build-whitepaper.sh includes macOS and Ubuntu install instructions with
--open/--clean flags.
cargo install mentisdb --locked --force
Claude Desktop users: you no longer need to pre-launch
mentisdbd. Point your MCP config at the mentisdbd binary in
stdio mode and the process will find or start the daemon itself. See the
stdio MCP walkthrough for the exact config.
No schema migration. Webhook registrations, backups, and existing chains from 0.9.1.x carry forward unchanged.