Gives Claude persistent memory across sessions by storing and retrieving facts about users, preferences, and past interactions. You get two tools: recall pulls relevant context at the start of each turn, and advanced_augmentation saves durable facts after you respond. Memori hosts the backend, so you just need an API key and entity ID to identify your user. Evaluated on the LoCoMo benchmark at 81.95% accuracy while using under 5% of full context tokens. Useful when you're building agents that need to remember things between conversations without bloating your prompt with entire chat histories or managing your own vector store.
Persistent AI memory for any MCP-compatible agent — no SDK required.
memori-mcp is the official Memori MCP server. Connect it to your AI agent to give it long-term memory: recall relevant facts, retrieve broad state summaries, restore working state after context compaction, store durable preferences after responding, and maintain context across sessions.
Memori turns stateless agents into stateful systems by providing structured, persistent memory that works across sessions and workflows.
Memori is state infrastructure for production agents — enabling persistent memory, efficient retrieval, and structured context across both natural language and agent execution.
Memori was evaluated on the LoCoMo benchmark for long-conversation memory and achieved 81.95% overall accuracy while using an average of 1,294 tokens per query. That is just 4.97% of the full-context footprint, showing that structured memory can preserve reasoning quality without forcing large prompts into every request.
Compared with other retrieval-based memory systems, Memori outperformed Zep, LangMem, and Mem0 while reducing prompt size by roughly 67% vs. Zep and lowering context cost by more than 20x vs. full-context prompting.
Read the benchmark overview or download the paper.
The server exposes seven tools:
| Tool | When to call | What it does |
|---|---|---|
memori_recall | Start of each user turn | Fetches relevant memories at the start of a user turn |
memori_recall_summary | Session starts, daily briefs, status updates, project overviews | Fetches broad memory state for session starts, daily briefs, status updates, and project overviews |
memori_compaction | After context compaction | Fetches a structured post-compaction brief so an agent can resume operational work |
memori_advanced_augmentation | After composing a response | Stores durable memory after the agent has drafted a response |
memori_feedback | When the user flags a memory issue or praises a result | Reports irrelevant, missing, stale, or especially useful memory behavior |
memori_signup | When the user explicitly asks and provides an email | Requests a Memori account/API key when the user explicitly asks |
memori_quota | When the user asks about usage or quota errors appear | Checks current memory usage and limits when the user asks or quota errors appear |
Given the user message: "I prefer Python and use uv for dependency management."
memori_recall with the user message as querymemori_advanced_augmentation with the user_message and assistant_responseOn a later turn like "Write a hello world script", the agent recalls the Python + uv preference and personalizes its response.
entity_id to identify the end user (e.g. user_123)process_id to identify the agent or workflow (e.g. my_agent)Export these in your shell or replace the placeholders directly in your config:
export MEMORI_API_KEY="your-memori-api-key"
export MEMORI_ENTITY_ID="user_123"
export MEMORI_PROCESS_ID="my_agent" # optional
| Property | Value |
|---|---|
| Server | Memori MCP |
| Endpoint | https://api.memorilabs.ai/mcp/ |
| Transport | Stateless HTTP |
| Auth | API key via request headers |
| Header | Required | Description |
|---|---|---|
X-Memori-API-Key | Yes | Your Memori API key from app.memorilabs.ai |
X-Memori-Entity-Id | Yes | Stable end-user or entity identifier (e.g. user_123) |
X-Memori-Process-Id | No | Optional process, app, or workflow identifier (e.g. my_agent) for memory isolation |
session_id is derived automatically as <entity_id>-<UTC year-month-day:hour>. You do not need to provide it.
After configuring your client, verify the setup:
memori_recall, memori_recall_summary, memori_compaction, and memori_advanced_augmentationmemori_recall returns memories for known entitiesmemori_advanced_augmentation accepts durable user/assistant turn dataIf you receive 401 errors, double-check your X-Memori-API-Key value. See the Troubleshooting guide for more help.
MEMORI_API_KEY*secretYour Memori Cloud API key. Get one for free at https://memorilabs.ai/