Initial release of mem0-strands, a native MemoryStore that plugs Mem0 into the Strands Agents MemoryManager (#7021)
New Features:
-
Automatic recall and injection:
Mem0MemoryStore.search()runs every turn through theMemoryManager, so relevant memories are searched and prepended to the prompt with no explicit tool call required. -
Server-side extraction:
add_messages()renders raw conversation turns to text and hands them to Mem0's own extraction pipeline (infer=True), so enabling extraction skips an extra client-side model call to distill facts first. -
Verbatim writes:
add()stores a single fact exactly as given (infer=False), the sink used by theadd_memorytool or a client-side extractor. -
Entity scoping: Accepts
user_id,agent_id,run_id, andapp_id; at least one is required, and mixing the platform-onlyapp_idwith a self-hostedconfigraises at construction instead of failing on the first write. -
Hosted or self-hosted: Defaults to the hosted Mem0 Platform via
api_key(or$MEM0_API_KEY), or pass aconfigdict for a self-hosted Mem0 OSS backend. -
Non-blocking construction: The underlying Mem0 client is built lazily on first use inside
asyncio.to_thread, so API-key validation and OSS embedder/vector-store setup never block the event loop.Mem0MemoryStoreis the automatic-recall store for theMemoryManager. For a model-called tool instead, use themem0_memorytool fromstrands-agents-tools; both share the same Mem0 backend and namespace. See Strands Agents for setup.