New to Claude Skills? Learn how to install them →

mem0ai on GitHub

Mem0 Platform Integration

Free

Seamlessly integrate memory management into your AI apps.

by mem0ai63k stars on mem0ai/mem0
Updated Aug 7, 2026
Get this skill

Free · Opens the source repo

What Mem0 Platform Integration does

The Mem0 SDK provides a robust solution for integrating memory management into AI applications, allowing developers to store, retrieve, and manage user memories via a simple API. This skill is particularly useful for those working with Python or TypeScript, as it offers language-specific client libraries that streamline the integration process. With Mem0, you do not need to worry about infrastructure deployment; it is a managed memory layer that abstracts away the complexities of memory storage and retrieval.

To get started, developers can easily install the SDK using pip for Python or npm for TypeScript, and authenticate using an API key. The SDK provides a straightforward client initialization process, allowing for quick setup and immediate use. Core operations such as adding, searching, updating, and deleting memories follow a consistent pattern, making it easy to implement memory functionality within applications. The SDK also supports asynchronous operations for Python, enhancing performance in applications that require non-blocking calls.

Mem0 is designed for developers and designers who are building AI applications that require context-aware interactions. By maintaining a user’s memory, applications can provide personalized experiences, improving user engagement and satisfaction. The SDK includes detailed documentation and references, ensuring that developers have access to the information they need to effectively implement memory features in their applications. Whether you are developing chatbots, recommendation systems, or any AI-driven application, Mem0 can help you manage user memories efficiently.

This skill is not suitable for use cases that require local memory management without a cloud dependency, as it relies on the Mem0 managed service. Additionally, developers looking for advanced memory graph features or extensive custom configurations may find the current capabilities limited compared to fully self-hosted solutions.

When to use it

Use this skill when developing AI applications that require user memory management, such as chatbots or personalized recommendation systems.

When not to use it

Avoid this skill if you need a fully self-hosted memory solution or if your application does not require memory management.

What you can build with it

Chatbot Memory Management

Integrate Mem0 into a chatbot to remember user preferences and past interactions, enhancing personalized responses.

User Preference Storage

Use Mem0 to store user preferences in applications, allowing for tailored experiences based on historical data.

Context-Aware AI Applications

Leverage Mem0 to maintain context in AI-driven applications, improving user engagement through memory retention.

How to install Mem0 Platform Integration

View source

1. Install with the skills CLI

npx skills add mem0ai/mem0/mem0 --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by mem0ai

Mem0 Platform Integration

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.

Step 1: Install and authenticate

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 with m0-.

Step 2: Initialize the client

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.

Step 3: Core operations

Every Mem0 integration follows the same pattern: retrieve → generate → store.

Add memories

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")

Search memories

results = client.search("dietary preferences", filters={"user_id": "alice"})
for mem in results.get("results", []):
    print(mem["memory"])

Get all memories

all_memories = client.get_all(filters={"user_id": "alice"})

Update a memory

client.update("memory-uuid", text="Updated: vegetarian, nut allergy, prefers organic")

Delete a memory

client.delete("memory-uuid")
client.delete_all(user_id="alice")  # delete all for a user

Common integration pattern

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

Common edge cases

  • Search returns empty: v3 processes 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 filter with user_id + agent_id returns empty: Entities are stored separately. {"AND": [{"user_id": "alice"}, {"agent_id": "bot"}]} returns nothing. Use OR instead, or query each separately.
  • Duplicate memories: Don't mix 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.
  • Implicit null scoping: 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.
  • Platform vs OSS imports: Platform: from mem0 import MemoryClient. OSS: from mem0 import Memory. Don't mix them — MemoryClient talks to api.mem0.ai, Memory runs locally.
  • v3 defaults: top_k=20, threshold=0.1, rerank=False. Adjust as needed.

v3 API (Current)

Mem0 v3 uses single-pass extraction, entity linking, and multi-signal retrieval.

Key v3 changes from v2:

  • Endpoints: POST /v3/memories/add/, POST /v3/memories/search/, POST /v3/memories/ (paginated list)
  • Extraction: Single ADD-only pass — no more UPDATE/DELETE operations during extraction. Memories accumulate rather than consolidate.
  • Entity linking: Replaces graph memory. Auto-extracted during add(), no config needed. Remove enable_graph and graph_store from any old config.
  • Defaults: top_k=20, threshold=0.1, rerank=False
  • Removed params: org_id, project_id, enable_graph — all removed from SDK
  • TypeScript: Exclusively camelCase (userId, agentId, appId, topK)
  • Add response: Async — returns event ID immediately, poll via GET /v1/event/{event_id}/

See the migration guide for details.

Live documentation search

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.

Client SDK References

Language-specific deep references (Platform + OSS):

LanguageFile
Python (MemoryClient + AsyncMemoryClient + Memory OSS)client/python.md
TypeScript/Node.js (MemoryClient + Memory OSS)client/node.md
Python vs TypeScript differencesclient/differences.md

Platform References

Load these on demand for deeper detail:

TopicFile
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

Related Mem0 Skills

SkillWhen to useLink
mem0-vercel-ai-sdkVercel AI SDK provider with automatic memoryGitHub

Frequently asked questions about Mem0 Platform Integration

Similar skills