Memori
Persistent, structured memory from agent execution and conversation.
What does this agent do, and when should you use it?
Memori is production-oriented memory infrastructure for agents, with Python and TypeScript SDKs. It registers with an existing LLM client, records conversations in the background, and persists or recalls memory scoped by entity, process, and session. Advanced Augmentation organizes memory into attributes, events, facts, preferences, relationships, rules, skills, and related structures. The repository also ships an OpenClaw plugin, a Hermes Agent memory provider, and an HTTP MCP service for clients including Claude Code and Codex. It describes cloud, single-tenant cloud, VPC, on-premises, and BYODB paths, although their detailed deployment configuration is outside the supplied material.
After installing memori or @memorilabs/memori, a developer creates Memori() and registers an LLM client with .llm.register(client), then assigns an entity and process through attribution. Calls such as client.chat.completions.create(...) are recorded, and later calls can automatically receive persisted conversational memory. Session boundaries can be managed with new_session(), set_session(session_id), resetSession(), or setSession(sessionId). The OpenClaw plugin captures conversation and execution after each turn; the Hermes provider exposes memori_recall and memori_recall_summary; compatible clients can connect to the MCP endpoint over HTTP.
- A support-assistant team using OpenAI Chat Completions or the Responses API that needs to retain customer facts and preferences across requests.
- A developer operating a multi-step agent who needs interactions from one execution to be grouped into a single session.
- An OpenClaw gateway operator installing `@memorilabs/openclaw-memori` to retain tool calls, decisions, and outcomes without changing prompts or agent code.
- A Hermes Agent user configuring `memory.provider memori` so completed conversations can be retrieved through explicit recall tools.
- A developer using Claude Code, Codex, Cursor, or Warp who wants MCP-connected memory for coding conventions, review preferences, and project context.
What are this agent's strengths and limitations?
- It offers Python, TypeScript, OpenClaw, Hermes, and MCP integration paths, covering both SDK interception and protocol-based clients.
- Memory is explicitly scoped by entity, process, and session, which supports separation across users, agents, and task runs.
- The README lists Anthropic, Bedrock, DeepSeek, Gemini, Grok, and OpenAI support, including streamed, unstreamed, synchronous, and asynchronous use.
- Its OpenClaw integration automatically captures conversations, tool calls, decisions, and outcomes without prompt or agent-code changes.
- The SDK quickstart depends on `MEMORI_API_KEY` plus an API key for the chosen LLM provider.
- Memori cannot create memories when entity and process attribution are not supplied.
- Advanced Augmentation is rate-limited without an account; higher limits require signup or an API key.
- The published LoCoMo figures are repository-reported benchmark results, so accuracy, token usage, and cost still need validation against the intended workload and configuration.
How do you install or deploy this agent?
For TypeScript, run npm install @memorilabs/memori. For Python, run pip install memori. The cloud quickstart requires MEMORI_API_KEY and an API key for the selected LLM provider; the supplied example uses OPENAI_API_KEY. For OpenClaw, run openclaw plugins install @memorilabs/openclaw-memori, followed by openclaw plugins enable openclaw-memori.
How do you use this agent?
A first Python invocation can use from memori import Memori, from openai import OpenAI, client = OpenAI(), and mem = Memori().llm.register(client), then mem.attribution(entity_id="user_123", process_id="support_agent") before calling client.chat.completions.create(...). The TypeScript equivalent is const client = new OpenAI(); const mem = new Memori().llm.register(client).attribution('user_123', 'support_agent');. The MCP example connects to https://api.memorilabs.ai/mcp/ with X-Memori-API-Key, X-Memori-Entity-Id, and X-Memori-Process-Id headers.
How does this agent compare with similar options?
The README reports 87% overall accuracy and an average of 721 tokens per query on the LoCoMo long-conversation benchmark, and states that Memori outperformed Zep, LangMem, and Mem0. It also claims more than 36x lower context cost than full-context prompting; these comparisons apply only to the described benchmark setting.