From mem0
Covers Mem0 SDK for Python and TypeScript, including client initialization, memory CRUD operations, and integration patterns for AI applications.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mem0:mem0The summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **Skill Graph:** This skill is part of the Mem0 skill graph:
Skill Graph: This skill is part of the Mem0 skill graph:
- mem0 (this skill) -- Platform Client SDK + OSS (Python + TypeScript)
- mem0-vercel-ai-sdk -- Vercel AI SDK provider
Mem0 is a managed memory layer for AI applications. It stores, retrieves, and manages user memories via API — no infrastructure to deploy. For self-hosted usage, see the OSS section in the client references below.
Python:
pip install mem0ai
export MEM0_API_KEY="m0-your-api-key"
TypeScript/JavaScript:
npm install mem0ai
export MEM0_API_KEY="m0-your-api-key"
Get an API key at: https://app.mem0.ai/dashboard/api-keys?utm_source=oss&utm_medium=mem0-plugin-skill
Don't have a
MEM0_API_KEY? Sign up at https://app.mem0.ai and create one from the dashboard. Keys start withm0-.
Python:
from mem0 import MemoryClient
client = MemoryClient(api_key="m0-xxx")
TypeScript:
import MemoryClient from 'mem0ai';
const client = new MemoryClient({ apiKey: 'm0-xxx' });
For async Python, use AsyncMemoryClient.
Every Mem0 integration follows the same pattern: retrieve → generate → store.
messages = [
{"role": "user", "content": "I'm a vegetarian and allergic to nuts."},
{"role": "assistant", "content": "Got it! I'll remember that."}
]
client.add(messages, user_id="alice")
results = client.search("dietary preferences", filters={"user_id": "alice"})
for mem in results.get("results", []):
print(mem["memory"])
all_memories = client.get_all(filters={"user_id": "alice"})
client.update("memory-uuid", text="Updated: vegetarian, nut allergy, prefers organic")
client.delete("memory-uuid")
client.delete_all(user_id="alice") # delete all for a user
from mem0 import MemoryClient
from openai import OpenAI
mem0 = MemoryClient()
openai = OpenAI()
def chat(user_input: str, user_id: str) -> str:
# 1. Retrieve relevant memories
memories = mem0.search(user_input, filters={"user_id": user_id})
context = "\n".join([m["memory"] for m in memories.get("results", [])])
# 2. Generate response with memory context
response = openai.chat.completions.create(
model="gpt-5-mini",
messages=[
{"role": "system", "content": f"User context:\n{context}"},
{"role": "user", "content": user_input},
]
)
reply = response.choices[0].message.content
# 3. Store interaction for future context
mem0.add(
[{"role": "user", "content": user_input}, {"role": "assistant", "content": reply}],
user_id=user_id
)
return reply
add() asynchronously — returns an event ID immediately. Wait 2-3s before searching. Also verify user_id matches exactly (case-sensitive) and use filters={"user_id": "..."} syntax.{"AND": [{"user_id": "alice"}, {"agent_id": "bot"}]} returns nothing. Use OR instead, or query each separately.infer=True (default) and infer=False for the same data. infer=True extracts facts via LLM with dedup. infer=False stores raw — same text can be stored twice.filters={"user_id": "alice"} only returns memories where agent_id, app_id, run_id are ALL null. Wrap in {"OR": [...]} to include memories with non-null scoping fields.from mem0 import MemoryClient. OSS: from mem0 import Memory. Don't mix them — MemoryClient talks to api.mem0.ai, Memory runs locally.top_k=20, threshold=0.1, rerank=False. Adjust as needed.Mem0 v3 uses single-pass extraction, entity linking, and multi-signal retrieval.
Key v3 changes from v2:
POST /v3/memories/add/, POST /v3/memories/search/, POST /v3/memories/ (paginated list)add(), no config needed. Remove enable_graph and graph_store from any old config.top_k=20, threshold=0.1, rerank=Falseorg_id, project_id, enable_graph — all removed from SDKuserId, agentId, appId, topK)GET /v1/event/{event_id}/See the migration guide for details.
For the latest docs beyond what's in the references, use the doc search tool:
python ${CLAUDE_SKILL_DIR}/scripts/mem0_doc_search.py --query "topic"
python ${CLAUDE_SKILL_DIR}/scripts/mem0_doc_search.py --page "/platform/features/graph-memory"
python ${CLAUDE_SKILL_DIR}/scripts/mem0_doc_search.py --index
No API key needed — searches docs.mem0.ai directly.
Language-specific deep references (Platform + OSS):
| Language | File |
|---|---|
| Python (MemoryClient + AsyncMemoryClient + Memory OSS) | client/python.md |
| TypeScript/Node.js (MemoryClient + Memory OSS) | client/node.md |
| Python vs TypeScript differences | client/differences.md |
Load these on demand for deeper detail:
| Topic | File |
|---|---|
| Quickstart (Python, TS, cURL) | references/quickstart.md |
| SDK guide (all methods, both languages) | references/sdk-guide.md |
| API reference (endpoints, filters, object schema) | references/api-reference.md |
| Architecture (pipeline, lifecycle, scoping, performance) | references/architecture.md |
| Platform features (retrieval, graph, categories, MCP, etc.) | references/features.md |
| Framework integrations (LangChain, CrewAI, OpenAI Agents, etc.) | references/integration-patterns.md |
| Use cases & examples (real-world patterns with code) | references/use-cases.md |
| Skill | When to use | Link |
|---|---|---|
| mem0-vercel-ai-sdk | Vercel AI SDK provider with automatic memory | GitHub |
npx claudepluginhub mem0ai/mem0 --plugin mem0Memory layer integration patterns for FastAPI with Mem0 including client setup, memory service patterns, user tracking, conversation persistence, and background task integration. Use when implementing AI memory, adding Mem0 to FastAPI, building chat with memory, or when user mentions Mem0, conversation history, user context, or memory layer.
Best practices for memory architecture design including user vs agent vs session memory patterns, vector vs graph memory tradeoffs, retention strategies, and performance optimization. Use when designing memory systems, architecting AI memory layers, choosing memory types, planning retention strategies, or when user mentions memory architecture, user memory, agent memory, session memory, memory patterns, vector storage, graph memory, or Mem0 architecture.
Manages AI agent memory stores on the GreenNode AgentBase platform — conversation history, semantic fact extraction, and long-term memory records with LangChain/LangGraph integration.