Mem0 MCP

Live

API KEY

AI

AI

Connect your AI agent to Mem0 to store, search, and retrieve persistent memory across sessions using semantic search. Agents can add facts and preferences, recall relevant context on demand, manage memory lifecycles, and maintain entity-level memory — all scoped to the authorizing user.

  • Acts as the user: All memory reads and writes execute under the account that authorized the agent, so every stored preference, retrieved fact, and deleted record is traceable to the memory owner.
  • Credentials stay vaulted: AES-256, resolved at request time, never in LLM context.
  • Scoped before every call: Permissions enforced per-user. 90-day audit trail.
Mem0 MCP
agent · Acme Q3
Run
What do you remember about my preferences for project planning?
S
search_memories
85ms
Mem0 MCP agent
I found 4 memories about your project planning preferences, including your preference for weekly standups, async-first communication, and using Notion for documentation.
Sources: 4 memories, last 90 days
mem0mcpmcp
4 records
18:29
Message Claude...

Tools your AI agent reaches for on Mem0 MCP, scoped per user.

CALL ANY TOOL
Mem0 MCP exposes tools for adding, searching, retrieving, updating, and deleting persistent memories, as well as managing entities and listing memory operation events — giving agents full control over long-term memory.
mem0mcp_add_memory
Add Memory
Store a new preference, fact, or conversation snippet. Requires at least one: user_id, agent_id, or run_id. Returns an event_id for async polling via get_event_status.
Parameters
Name
Type
Required
Description
text
string
Required
Plain sentence summarizing what to store.
agent_id
string
Optional
Optional agent identifier.
app_id
string
Optional
Optional app identifier.
messages
string
Optional
Structured conversation history with `role`/`content`. Use when you have multiple turns.
metadata
string
Optional
Attach arbitrary metadata JSON to the memory.
run_id
string
Optional
Optional run identifier.
source
string
Optional
Event source tag (defaults to MCP if omitted).
user_id
string
Optional
Override the default user scope for this write.
mem0mcp_delete_all_memories
Delete All Memories
mem0mcp_delete_entities
Delete Entities
mem0mcp_delete_memory
Delete Memory
mem0mcp_get_event_status
Get Event Status
mem0mcp_get_memories
Get Memories
mem0mcp_get_memory
Get Memory
mem0mcp_list_entities
List Entities
mem0mcp_list_events
List Events
mem0mcp_search_memories
Search Memories
mem0mcp_update_memory
Update Memory
Build your Agent
Same auth pattern across every framework.
Python · LlamaIndex
from langchain_mcp_adapters.client import MultiServerMCPClient
from scalekit import ScalekitClient

client = ScalekitClient(env_url=ENV_URL, client_id=CLIENT_ID, client_secret=SECRET)
token = client.agent.get_token(user_id="user_id", connector="mem0mcp")

mcp = MultiServerMCPClient({
"mem0mcp": {
"url": "https://mcp.scalekit.com/mem0mcp",
"headers": {"Authorization": "Bearer " + token}
}
})
tools = await mcp.get_tools()
import OpenAI from "openai";
import { ScalekitClient } from "@scalekit-sdk/node";

const client = new ScalekitClient({ envUrl, clientId, clientSecret });
const token = await client.agent.getToken({ userId: "user_id", connector: "mem0mcp" });

const openai = new OpenAI();
// Connect to MCP at https://mcp.scalekit.com/mem0mcp
// Pass: Authorization: Bearer + token
import Anthropic from "@anthropic-ai/sdk";
import { ScalekitClient } from "@scalekit-sdk/node";

const client = new ScalekitClient({ envUrl, clientId, clientSecret });
const token = await client.agent.getToken({ userId: "user_id", connector: "mem0mcp" });

const anthropic = new Anthropic();
// Connect to MCP at https://mcp.scalekit.com/mem0mcp
// Pass: Authorization: Bearer + token
from google.adk.agents import LlmAgent
from scalekit import ScalekitClient

client = ScalekitClient(env_url=ENV_URL, client_id=CLIENT_ID, client_secret=SECRET)
token = client.agent.get_token(user_id="user_id", connector="mem0mcp")
# Connect to MCP at https://mcp.scalekit.com/mem0mcp
# Pass: Authorization: Bearer + token
Try these prompts
Paste any prompt into your agent to get started.
Search & retrieve
Copy the prompt
Copied
What do you remember about my communication preferences?
Copy the prompt
Copied
Search my memories for anything related to my current project goals.
Store & manage
Copy the prompt
Copied
Remember that I prefer async communication and weekly summary emails.
Copy the prompt
Copied
Delete all memories from our last session and start fresh.
SEE HOW AUTH WORKS
User authorises once. Every agent call after uses their token with scope enforcement.
1
Authorize
Your user connects
Mem0 MCP
once. We tie it to their identity and the meetings they approved — no shared bot account, no org-wide access
Who:
user ‘A’
when:
Once per user
access:
Limited to user
2
Store
Their
Mem0 MCP
token lives in a vault scoped to them. User A's meetings are never reachable by an agent acting for user B, even on the same connection
vault:
encrypted
scope:
per-user
tokens:
auto-refreshed
3
Resolve
When your agent calls a
Mem0 MCP
tool, we fetch the right token server-side. It never touches your agent, never appears in the LLM context, never shows up in your logs
speed:
~40ms
check:
before every call
seen by:
nobody
4
Audit
Every
Mem0 MCP
tool call is logged — who triggered it, which meeting was fetched, what came back. 90 days of history, tied to the user who authorized it
history:
90 days
export:
SIEM-ready
logged:
every call
Test other agents
See the same per-user auth pattern across other connectors.
SALES
Outbound prospecting agent
Build targeted prospect lists with Apollo, enrich with firmographic data, and draft personalised outreach. Runs on a schedule.
SALES
Sales call prep agent
Pull Granola notes and Attio contact history to draft a pre-call brief before every sales meeting. Zero rep input.
ENGINEERING
Slack workflow agent (LangGraph)
LangGraph agent that drives multi-step Slack workflows: triggers, approvals, and follow-up actions per user identity.
Why Scalekit
Secure your agent's access. Connectors ship in minutes
Other connector libraries treat auth as a demo afterthought.
01.
Shared tokens break per-user analytics
A shared token looks fine in a demo. In production every call looks like a service account. Scalekit resolves the real user credential.
// shared token
audit → bot_service_account

// scalekit
audit → user_abc ✓
02.
Authentication is not authorization
“Our agents act across Salesforce, Gong, Google Drive, and more, on behalf of every customer. Scalekit behind the scenes meant we can keep adding tools without ever rebuilding how credentials or tool calling work.”
Venu Madhav Kattagoni
Head of Engineering / Von
FAQs
Frequently Asked Questions
Does the agent access Mem0 MCP as the user or as a shared key?
Scalekit resolves a per-user credential for each call. The Mem0 MCP audit log shows the real user identity, not a shared service account.
Where is the Mem0 MCP token stored?
In Scalekit's AES-256 encrypted vault, isolated per tenant. Tokens are auto-refreshed before expiry and revocable from a single dashboard without code changes.
Can I limit what the agent is allowed to do in Mem0 MCP?
Pass a toolNames filter to listScopedTools. Scalekit enforces the allowed set before every API call — the agent cannot invoke tools outside the approved list.
What happens when a user revokes Mem0 MCP access?
The token is invalidated at the next tool call. The agent fails closed rather than falling back to a shared key. Other users are unaffected and the revocation event is logged with a timestamp.
Can the agent read or modify memories belonging to a different user?
No. Scalekit scopes every Mem0 MCP call to the credential of the authorizing user. Memory reads and writes are bound to that user's store at the token level, so cross-user access is blocked before the request reaches Mem0.
Start in your coding agent
Up and running in one command
Install the Scalekit skill in your editor of choice. Connector, auth, tools, prompt, all wired up
Claude Code REPL
/plugin marketplace add scalekit-inc/claude-code-authstack
/plugin install agentkit@scalekit-auth-stack
Cursor Code REPL
# ~/.cursor/mcp.json
{
""mcpServers"": {
""mem0mcp"": {
""url"": ""https://mcp.scalekit.com/mem0mcp"",
""headers"": { ""Authorization"": ""Bearer $SCALEKIT_TOKEN"" }
}
}
}
Codex Code REPL
# ~/.codex/config.toml
[mcp_servers.mem0mcp]
url = ""https://mcp.scalekit.com/mem0mcp""
auth_env = ""SCALEKIT_TOKEN""
Copilot Code REPL
# .vscode/mcp.json
{
""servers"": {
""mem0mcp"": {
""url"": ""https://mcp.scalekit.com/mem0mcp"",
""type"": ""http""
}
}
}