Skip to content

Mem0 Strands Integration (v0.1.0)

Choose a tag to compare

@kartik-mem0 kartik-mem0 released this 24 Aug 20:06
· 2 commits to main since this release
39bc023

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 the MemoryManager, 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 the add_memory tool or a client-side extractor.

  • Entity scoping: Accepts user_id, agent_id, run_id, and app_id; at least one is required, and mixing the platform-only app_id with a self-hosted config raises 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 a config dict 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.

    Mem0MemoryStore is the automatic-recall store for the MemoryManager. For a model-called tool instead, use the mem0_memory tool from strands-agents-tools; both share the same Mem0 backend and namespace. See Strands Agents for setup.