github rohitg00/agentmemory v0.9.6
v0.9.6 — search recall + MCP shim + hook latency

9 hours ago

Three reliability fixes that close field-reported regressions in v0.9.5: search/recall returns saved memories again, the standalone MCP shim no longer caps non-Claude clients at a 7-tool subset, and the Claude Code session/subagent hooks no longer block agent startup for up to five seconds against a slow or unreachable REST server.

If you've been seeing memory_smart_search return empty results for memories you saved through memory_save on v0.9.5, this release fixes that. If you've been seeing OpenCode / Cursor / Gemini CLI / Cline expose only 4–7 tools through agentmemory mcp even with AGENTMEMORY_TOOLS=all on the server, this release fixes that too. If you've been hitting iii-engine OOM under concurrent claude -p fan-out, this release fixes that as well.

Fixed

  • memory_smart_search and memory_recall surface memories saved via memory_save again. v0.9.5 indexed memories into BM25 (#258), so search ranked them correctly — but the result-enrichment step on both retrieval paths still queried KV.observations(sessionId, obsId). Memories live in KV.memories under a synthetic sessionId, so every hit was silently dropped and clients saw results: []. Both HybridSearch.enrichResults (which powers /smart-search) and mem::search's observation map (which powers /search / memory_recall) now fall back to KV.memories when the observation lookup misses. Verified live end-to-end against an iii-engine 0.11.2 stack: pre-fix both endpoints returned [] for a saved memory; post-fix the memory surfaces with score > 0 on both. (#269, closes #265)

  • @agentmemory/mcp standalone shim now exposes the server's full tool surface to non-Claude clients. With AGENTMEMORY_TOOLS=all on the server, OpenCode / Cursor / Gemini CLI / Cline users expected 51 tools; the shim filtered the response through a hardcoded 7-tool IMPLEMENTED_TOOLS set, so they got 4 (default) or 7 (with the env var). The shim now delegates tools/list to GET /agentmemory/mcp/tools when an agentmemory server is reachable, and forwards any non-essential tool to POST /agentmemory/mcp/call for server-side validation. The local InMemoryKV fallback is unchanged. Verified live end-to-end via stdio JSON-RPC driver: pre-fix tools/list returned 4 tools and memory_lesson_save raised "Unknown tool"; post-fix tools/list returned 51 and memory_lesson_save created a lesson. (#270, closes #234)

  • Claude Code session/subagent hooks no longer block agent startup waiting for a slow agentmemory. session-start.ts awaited a 5000 ms POST and discarded the response whenever AGENTMEMORY_INJECT_CONTEXT=false (the default since 0.8.10) — pure latency. subagent-start.ts had a // fire and forget comment but the code awaited a 2000 ms POST. Under fan-out (Slack-bot orchestrators, multi-agent harnesses, fanned claude -p jobs) the awaited timeouts stack and feed back into the engine; the reporter hit a positive feedback loop that OOM-killed iii-engine. session-start now fire-and-forgets on the telemetry path and caps the inject path at 1500 ms (down from 5000 ms). subagent-start actually fire-and-forgets, capped at 800 ms. Verified live against a black-hole TCP listener: session-start (no inject) 5.05 s → 0.85 s, session-start (inject=true) 5.05 s → 1.55 s, subagent-start 2.05 s → 0.87 s. (#271, closes #221)

Changed

  • @agentmemory/mcp package version bumped from 0.9.4 → 0.9.6 to lockstep with the main package, fixing a release-flow miss in v0.9.5.

Full diff: v0.9.5...v0.9.6

Don't miss a new agentmemory release

NewReleases is sending notifications on new releases.