mcp-memori
OfficialThe mcp-memori server provides persistent, structured memory for MCP-compatible AI agents, enabling long-term context retention across sessions and workflows.
Recall relevant memories (
recall): Call at the start of each user turn to fetch prior context, preferences, and facts relevant to the current query — grounding responses with stored knowledge.Store durable memories (
advanced_augmentation): Call after composing a response to persist important facts, preferences, and outcomes for future sessions.Agent-native memory: Captures memory from tool calls, decisions, and results — not just natural language conversations.
Reduce token usage: Retrieves only relevant memories (~5% of full-context footprint) instead of loading full conversation histories, lowering costs while improving accuracy.
Isolate memory by process: Use an optional
process_idto scope memory to specific agents, apps, or workflows for multi-agent separation.Zero-friction integration: Works with any MCP-compatible client — no SDK or code changes required, only API key configuration. Sessions are derived automatically from entity ID and UTC timestamp.
Memori MCP
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.
Why Memori MCP?
Memori turns stateless agents into stateful systems by providing structured, persistent memory that works across sessions and workflows.
Persistent state beyond prompts — Most agents rely on prompt context and lose state between runs. Memori provides durable, structured memory so agents can retain facts, decisions, and outcomes over time.
Memory from execution (not just natural language) — Traditional systems extract memory from chat. Memori builds memory from agent execution itself — including tool calls, decisions, and results. This enables true agent-native memory, not just conversational recall.
Lower cost, higher accuracy — Instead of expanding prompt context, Memori retrieves only what matters.
Significantly reduced token usage
Faster responses
Improved accuracy vs long-context approaches
Works with any MCP client and production-ready - No SDK, no code changes, just config
Memori is state infrastructure for production agents — enabling persistent memory, efficient retrieval, and structured context across both natural language and agent execution.
Related MCP server: GroundMemory
LoCoMo Benchmark
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.
How It Works
The server exposes seven tools:
Tool | When to call | What it does |
| Start of each user turn | Fetches relevant memories at the start of a user turn |
| Session starts, daily briefs, status updates, project overviews | Fetches broad memory state for session starts, daily briefs, status updates, and project overviews |
| After context compaction | Fetches a structured post-compaction brief so an agent can resume operational work |
| After composing a response | Stores durable memory after the agent has drafted a response |
| When the user flags a memory issue or praises a result | Reports irrelevant, missing, stale, or especially useful memory behavior |
| When the user explicitly asks and provides an email | Requests a Memori account/API key when the user explicitly asks |
| When the user asks about usage or quota errors appear | Checks current memory usage and limits when the user asks or quota errors appear |
Example Agent Flow
Given the user message: "I prefer Python and use uv for dependency management."
Agent calls
memori_recallwith the user message asqueryAgent composes a response using any returned facts
Agent sends the response to the user
Agent calls
memori_advanced_augmentationwith theuser_messageandassistant_response
On a later turn like "Write a hello world script", the agent recalls the Python + uv preference and personalizes its response.
Prerequisites
A Memori API key from app.memorilabs.ai
An
entity_idto identify the end user (e.g.user_123)An optional
process_idto 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" # optionalServer Details
Property | Value |
Server | Memori MCP |
Endpoint |
|
Transport | Stateless HTTP |
Auth | API key via request headers |
Headers
Header | Required | Description |
| Yes | Your Memori API key from app.memorilabs.ai |
| Yes | Stable end-user or entity identifier (e.g. |
| No | Optional process, app, or workflow identifier (e.g. |
session_id is derived automatically as <entity_id>-<UTC year-month-day:hour>. You do not need to provide it.
Verifying the Connection
After configuring your client, verify the setup:
MCP server shows as connected and healthy in your client UI
Tools list includes
memori_recall,memori_recall_summary,memori_compaction, andmemori_advanced_augmentationCalls return non-401 responses
memori_recallreturns memories for known entitiesmemori_advanced_augmentationaccepts durable user/assistant turn data
If you receive 401 errors, double-check your X-Memori-API-Key value. See the Troubleshooting guide for more help.
Links
Available Tools
2 toolsadvanced_augmentationStore MemoryA
Store durable facts and preferences after drafting a response. Call after responding to persist user context across sessions.
| Name | Required | Description | Default |
|---|---|---|---|
| user_message | Yes | The full user message | |
| assistant_response | Yes | The full assistant response |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It successfully conveys durability ('durable facts', 'across sessions') but omits critical behavioral details: whether calls are idempotent, if storage is additive or overwriting, limits, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with two sentences containing zero waste. Front-loaded with the action ('Store durable facts') and immediately followed by timing guidance ('after drafting'). Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a 2-parameter tool without output schema. The description explains the cross-session persistence mechanism but, lacking annotations, should ideally disclose side effects, storage scope (per-user vs global), or relationship to the recall mechanism.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, establishing a baseline of 3. The description implies the parameters are used to extract facts for storage but does not explicitly map 'user_message' or 'assistant_response' to the extraction process or explain why both are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool stores 'durable facts and preferences' using specific verbs (store, persist) and identifies the resource (user context). It effectively distinguishes from sibling 'recall' by emphasizing the write operation ('Store') versus the implied read operation of the sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit workflow guidance: 'Call after responding' and 'after drafting a response.' However, it lacks explicit reference to sibling 'recall' as the retrieval alternative, though this is implicitly clear from the contrasting action verbs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recallRecall MemoriesA
Retrieve relevant memories for a given query. Call at the start of user turns to fetch prior context, preferences, and facts.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The user message or search query to recall memories for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses what types of memories are retrieved (context, preferences, facts) and implies relevance ranking, but omits safety profile (read-only status), failure modes (no memories found), or return format details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste: first defines the action, second provides temporal usage guidance. Information density is optimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a single-parameter retrieval tool without output schema. Description compensates partially by specifying what content is fetched (preferences, facts), though it could clarify return structure or empty-result behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, establishing a baseline of 3. The description mentions 'query' but adds minimal semantic detail beyond the schema's definition ('The user message or search query'). No clarification needed given comprehensive schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb ('Retrieve') and resource ('memories') with scope ('relevant...for a given query'). However, it does not explicitly differentiate from sibling 'advanced_augmentation', though the functions appear distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to invoke ('Call at the start of user turns') and explains the value proposition ('fetch prior context, preferences, and facts'). Lacks explicit 'when not to use' guidance or alternative comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.1.0- First observed
advanced_augmentation - First observed
recall
TDQS
Scored across 2 tools
The two tools have completely distinct purposes: one exclusively stores/augments memories after responses, while the other retrieves them at the start of turns. No functional overlap exists between the write and read operations.
While both use snake_case, they follow different grammatical patterns: 'recall' is a simple action verb, while 'advanced_augmentation' is an adjective-noun phrase describing a feature. A consistent pair would use matching patterns like 'store_memory' and 'recall_memory' or 'augment' and 'recall'.
Two tools provides the absolute minimum viable surface for a memory system (read/write), but feels thin for the domain. Memory management typically requires additional operations like delete, update, or list, making this borderline for a complete memory server.
The server covers basic create (store) and read (recall) operations but lacks update, delete, or enumeration capabilities. Users cannot correct stored memories, remove outdated facts, or browse all stored context, creating notable gaps in the memory lifecycle.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
An MCP memory server. One memory your agents share — across models, devices and apps.
Persistent personal memory for AI assistants — save, search, and recall across every MCP client.
Persistent memory for AI agents — log and recall conversation context over MCP.
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that provides persistent memory for AI agents by storing session snapshots, factual memories, and conversation summaries. It enables seamless continuity between interactions by allowing agents to restore previous emotional states and recall relevant past experiences.-
- AlicenseNot gradedqualityCmaintenanceAn MCP-native, local-first memory server that gives AI agents persistent, structured memory across sessions and tools, enabling them to maintain identity and context without reconfiguration.3MIT
- AlicenseAqualityDmaintenanceAn MCP server that provides persistent memory capabilities for AI agents using Mem0, enabling storage, search, and management of contextual information across conversations with support for multiple backends and LLM providers.18MIT
- FlicenseNot gradedqualityCmaintenanceA personal memory MCP server that stores and retrieves conversation memories, enabling AI agents to recall past discussions, promises, and preferences using natural language.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MemoriLabs/memori-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server