Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
vm0-ai avatar

Mem0

  • 35 installs
  • 76 repo stars
  • Updated August 4, 2026
  • vm0-ai/vm0-skills

Helps with ai & agent building tasks.

About

mem0 is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.

  • mem0
  • AI & Agent Building
  • AI-coding skill

Mem0 by the numbers

  • 35 all-time installs (skills.sh)
  • +1 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #8,740 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/vm0-ai/vm0-skills --skill mem0

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs35
repo stars76
Last updatedAugust 4, 2026
Repositoryvm0-ai/vm0-skills

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

Troubleshooting

If requests fail, run zero doctor check-connector --env-name MEM0_TOKEN or zero doctor check-connector --url https://api.mem0.ai/v1/memories --method GET

Authentication

All requests require an API key passed in the Authorization header:

Authorization: Token $MEM0_TOKEN

Get your API key from: app.mem0.aiAPI Keys → create or copy your key.

Environment Variables

VariableDescription
MEM0_TOKENMem0 API key (starts with m0-)

Key Endpoints

Base URL: https://api.mem0.ai

1. Add a Memory

POST /v1/memories/

Store a new memory for a user, agent, or session.

Write to /tmp/mem0_add.json:

{
  "messages": [
    {
      "role": "user",
      "content": "I prefer dark mode in all applications."
    }
  ],
  "user_id": "<your-user-id>"
}

Then run:

curl -s -X POST "https://api.mem0.ai/v1/memories/" --header "Authorization: Token $MEM0_TOKEN" --header "Content-Type: application/json" -d @/tmp/mem0_add.json

Optional fields alongside user_id:

  • agent_id — scope memory to a specific agent
  • run_id — scope memory to a specific run/session
  • metadata — arbitrary key/value pairs to attach to the memory
  • output_format — set to "v1.1" for structured results with relations and facts

Response includes results array with each stored memory's id, memory, and event (ADD, UPDATE, or NONE).

2. Search Memories (Semantic)

POST /v1/memories/search/

Search memories semantically using a natural language query.

Write to /tmp/mem0_search.json:

{
  "query": "display preferences",
  "user_id": "<your-user-id>"
}

Then run:

curl -s -X POST "https://api.mem0.ai/v1/memories/search/" --header "Authorization: Token $MEM0_TOKEN" --header "Content-Type: application/json" -d @/tmp/mem0_search.json

Optional fields:

  • limit — max results to return (default 100)
  • filters — object of metadata key/value filters
  • threshold — minimum similarity score (0–1)

Response includes a results array of matching memories with id, memory, score, and metadata.

3. Get All Memories

GET /v1/memories/?user_id=<your-user-id>

Retrieve all memories for a user (or agent/run).

curl -s "https://api.mem0.ai/v1/memories/?user_id=<your-user-id>" --header "Authorization: Token $MEM0_TOKEN"

To filter by agent or run, add agent_id=<agent-id> or run_id=<run-id> as query parameters.

Response includes a paginated results array.

4. Get a Specific Memory

GET /v1/memories/<memory-id>/

Retrieve a single memory by its ID.

curl -s "https://api.mem0.ai/v1/memories/<memory-id>/" --header "Authorization: Token $MEM0_TOKEN"

5. Update a Memory

PUT /v1/memories/<memory-id>/

Update the text content of an existing memory.

Write to /tmp/mem0_update.json:

{
  "memory": "I prefer light mode in all applications."
}

Then run:

curl -s -X PUT "https://api.mem0.ai/v1/memories/<memory-id>/" --header "Authorization: Token $MEM0_TOKEN" --header "Content-Type: application/json" -d @/tmp/mem0_update.json

6. Delete a Memory

DELETE /v1/memories/<memory-id>/

Delete a specific memory.

curl -s -X DELETE "https://api.mem0.ai/v1/memories/<memory-id>/" --header "Authorization: Token $MEM0_TOKEN"

7. Delete All Memories for a User

DELETE /v1/memories/?user_id=<your-user-id>

Delete all memories scoped to a user.

curl -s -X DELETE "https://api.mem0.ai/v1/memories/?user_id=<your-user-id>" --header "Authorization: Token $MEM0_TOKEN"

8. Get Memory History

GET /v1/memories/<memory-id>/history/

Retrieve the change history for a specific memory (shows ADD, UPDATE, DELETE events over time).

curl -s "https://api.mem0.ai/v1/memories/<memory-id>/history/" --header "Authorization: Token $MEM0_TOKEN"

Common Workflows

Personalized Agent with Persistent Context

# Step 1: Store user preferences at end of session
# Write to /tmp/mem0_add.json:
# { "messages": [{"role": "user", "content": "I work in the fintech industry and prefer concise summaries."}], "user_id": "user-123" }
curl -s -X POST "https://api.mem0.ai/v1/memories/" --header "Authorization: Token $MEM0_TOKEN" --header "Content-Type: application/json" -d @/tmp/mem0_add.json

# Step 2: Retrieve relevant memories at start of next session
# Write to /tmp/mem0_search.json:
# { "query": "user industry and preferences", "user_id": "user-123", "limit": 5 }
curl -s -X POST "https://api.mem0.ai/v1/memories/search/" --header "Authorization: Token $MEM0_TOKEN" --header "Content-Type: application/json" -d @/tmp/mem0_search.json

Store Memory with Metadata Tags

Write to /tmp/mem0_tagged.json:

{
  "messages": [
    {
      "role": "user",
      "content": "My team uses Slack for internal communication."
    }
  ],
  "user_id": "<your-user-id>",
  "metadata": {
    "category": "tools",
    "source": "onboarding"
  }
}

Then run:

curl -s -X POST "https://api.mem0.ai/v1/memories/" --header "Authorization: Token $MEM0_TOKEN" --header "Content-Type: application/json" -d @/tmp/mem0_tagged.json

Filter Memories by Metadata

Write to /tmp/mem0_filter.json:

{
  "query": "communication tools",
  "user_id": "<your-user-id>",
  "filters": {
    "category": "tools"
  }
}

Then run:

curl -s -X POST "https://api.mem0.ai/v1/memories/search/" --header "Authorization: Token $MEM0_TOKEN" --header "Content-Type: application/json" -d @/tmp/mem0_filter.json

Memory Scoping

Memories can be scoped at multiple levels using these mutually-optional parameters:

ParameterScope
user_idPer end-user (most common)
agent_idPer AI agent identity
run_idPer individual conversation run

Combine them to scope memories to a specific user+agent pair, or user+run.

Notes

  • Mem0 uses LLM-powered deduplication: re-adding similar content updates the existing memory rather than creating a duplicate
  • The search endpoint performs semantic vector search, not keyword matching
  • Memory IDs are UUIDs; capture them from the results[].id field in POST responses when you need to update or delete specific entries
  • Rate limits and storage quotas depend on your Mem0 plan; check app.mem0.ai for current usage

API Reference

  • Documentation: https://docs.mem0.ai/api-reference
  • Dashboard: https://app.mem0.ai
  • API Keys: https://app.mem0.ai/api-keys

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.