Repository files navigation

Supermemory

State-of-the-art memory and context engine for AI. And yes - you can use it as a company/personal brain.

Docs · Quickstart · Self-host · Dashboard · Discord

npmpypidocs

English · 简体中文

#1 on every major AI memory benchmark — LongMemEval, LoCoMo, and ConvoMem.
95% Recall@15 with a 99.4% context reduction · ~50ms user profiles.
Read the research →


Supermemory is the memory and context layer for AI. #1 on LongMemEval, LoCoMo, and ConvoMem — the three major benchmarks for AI memory.

We are a research lab building the engine, plugins and tools around it.

Your AI forgets everything between conversations. Supermemory fixes that.

It automatically learns from conversations, extracts facts, builds user profiles, handles knowledge updates and contradictions, forgets expired information, and delivers the right context at the right time. Full RAG, connectors, file processing — the entire context stack, one system.

🧠 MemoryExtracts facts from conversations. Handles temporal changes, contradictions, and automatic forgetting.
👤 User ProfilesAuto-maintained user context — stable facts + recent activity. One call, ~50ms.
🔍 Hybrid SearchRAG + Memory in a single query. Knowledge base docs and personalized context together.
🔌 ConnectorsGoogle Drive · Gmail · Notion · OneDrive · GitHub — auto-sync with real-time webhooks.
📄 Multi-modal ExtractorsPDFs, images (OCR), videos (transcription), code (AST-aware chunking). Upload and it works.

All of this is in our single memory structure and ontology.

image

Use Supermemory

🧑‍💻 I use AI tools

Build your own personal supermemory by using our app. Builds persistent memory graph across every conversation.

Your AI remembers your preferences, projects, past discussions — and gets smarter over time.

→ Jump to User setup

🔧 I'm building AI products

Add memory, RAG, user profiles, and connectors to your agents and apps with a single API.

No vector DB config. No embedding pipelines. No chunking strategies.

→ Jump to developer quickstart

🖥️ I want to run it myself

State-of-the-art memory, on your machine. One binary. Zero config. Bring any model — or run fully offline with Ollama.

curl -fsSL https://supermemory.ai/install | bash

→ Jump to Supermemory local


Give your AI memory

The Supermemory App, browser extension, plugins and MCP server gives any compatible AI assistant persistent memory. One install, and your AI remembers you.

The app

You can use supermemory without any code, by using our consumer-facing app for free.

Start at https://app.supermemory.ai

image

It also comes with an agent embedded inside, which we call Nova.

Supermemory Plugins

Supermemory comes built with Plugins for Claude Code, OpenCode, OpenClaw, and Hermes.

image

These plugins are implementations of the supermemory API, and they are open source!

You can find them here:

MCP

Server URL:

https://mcp.supermemory.ai/mcp
{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Read more about our MCP here - https://supermemory.ai/docs/supermemory-mcp/mcp

What your AI gets

ToolWhat it does
memorySave or forget information. Your AI calls this automatically when you share something worth remembering.
recallSearch memories by query. Returns relevant memories + your user profile summary.
contextInjects your full profile (preferences, recent activity) into the conversation at start. In Cursor and Claude Code, just type /context.

How it works

Once installed, Supermemory runs in the background:

  1. You talk to your AI normally. Share preferences, mention projects, discuss problems.
  2. Supermemory extracts and stores the important stuff. Facts, preferences, project context — not noise.
  3. Next conversation, your AI already knows you. It recalls what you're working on, how you like things, what you discussed before.

Memory is scoped with projects (container tags) so you can separate work and personal context, or organize by client, repo, or anything else.

Supported clients

Claude Desktop · Cursor · Windsurf · VS Code · Claude Code · OpenCode · OpenClaw · Hermes

The MCP server is open source — view the source.

Manual configuration

Add this to your MCP client config:

{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Build with Supermemory (API)

If you're building AI agents or apps, Supermemory gives you the entire context stack through one API — memory, RAG, user profiles, connectors, and file processing.

Install

npm install supermemory # or: pip install supermemory

Quickstart

importSupermemoryfrom"supermemory";constclient=newSupermemory();// Store a conversationawaitclient.add({content: "User loves TypeScript and prefers functional patterns",containerTag: "user_123",});// Get user profile + relevant memories in one callconst{ profile, searchResults }=awaitclient.profile({containerTag: "user_123",q: "What programming style does the user prefer?",});// profile.static → ["Loves TypeScript", "Prefers functional patterns"]// profile.dynamic → ["Working on API integration"]// searchResults → Relevant memories ranked by similarity
fromsupermemoryimportSupermemoryclient=Supermemory()
client.add(
content="User loves TypeScript and prefers functional patterns",
container_tag="user_123"
)
result=client.profile(container_tag="user_123", q="programming style")
print(result.profile.static) # Long-term factsprint(result.profile.dynamic) # Recent context

Supermemory automatically extracts memories, builds user profiles, and returns relevant context. No embedding pipelines, no vector DB config, no chunking strategies.

Framework integrations

Drop-in wrappers for every major AI framework:

// Vercel AI SDKimport{withSupermemory}from"@supermemory/tools/ai-sdk";constmodel=withSupermemory(openai("gpt-4o"),{containerTag: "user_123",customId: "conv-1"});// Mastraimport{withSupermemory}from"@supermemory/tools/mastra";constagent=newAgent(withSupermemory(config,"user-123",{mode: "full"}));

Vercel AI SDK · LangChain · LangGraph · OpenAI Agents SDK · Mastra · Agno · Claude Memory Tool · n8n

Search modes

// Hybrid (default) — RAG + Memory in one queryconstresults=awaitclient.search({q: "how do I deploy?",containerTag: "user_123",searchMode: "hybrid",});// Returns deployment docs (RAG) + user's deploy preferences (Memory)// Memories onlyconstresults=awaitclient.search({q: "user preferences",containerTag: "user_123",searchMode: "memories",});

User profiles

Traditional memory relies on search — you need to know what to ask for. Supermemory automatically maintains a profile for every user:

const{ profile }=awaitclient.profile({containerTag: "user_123"});// profile.static → ["Senior engineer at Acme", "Prefers dark mode", "Uses Vim"]// profile.dynamic → ["Working on auth migration", "Debugging rate limits"]

One call. ~50ms. Inject into your system prompt and your agent instantly knows who it's talking to.

Connectors

Auto-sync external data into your knowledge base:

Google Drive · Gmail · Notion · OneDrive · GitHub · Web Crawler

Real-time webhooks. Documents automatically processed, chunked, and searchable.

API at a glance

MethodPurpose
client.add()Store content — text, conversations, URLs, HTML
client.profile()User profile + optional search in one call
client.search()Hybrid search across memories and documents (searchMode)
client.search.documents()Document search with metadata filters (legacy v3 response shape)
client.documents.uploadFile()Upload PDFs, images, videos, code
client.documents.list()List and filter documents
client.settings.update()Configure memory extraction and chunking

Full API reference → supermemory.ai/docs


Supermemory local — run it yourself

State-of-the-art memory, on your machine. One binary. Zero config.

curl -fsSL https://supermemory.ai/install | bash
# or
npx supermemory local
supermemory-server

First boot sets up the embedded Supermemory graph engine, local embeddings, and your credentials, then prints an API key. The full Memory API — documents, memories, user profiles, hybrid search — runs against http://localhost:6767.

constclient=newSupermemory({apiKey: "sm_...",baseURL: "http://localhost:6767",// that's the only change});
  • Bring any model — OpenAI, Anthropic, Gemini, Groq, or any OpenAI-compatible endpoint. An interactive wizard walks you through it on first boot.
  • Embeddings — local Xenova/bge-base-en-v1.5 by default (no API key); optionally OpenAI, Gemini, or Ollama. Same provider stack as cloud.
  • Fully offline if you want — point it at Ollama (gpt-oss:20b works great) and nothing leaves your machine.
  • Your data, one directory — everything lives in ./.supermemory, easy to back up or move.
  • Same API as the platform — prototype locally, ship on the hosted platform by changing baseURL.

Read the self-hosting docs — quickstart, configuration, embeddings, and local vs. Enterprise.


Benchmarks

Supermemory is state of the art across all major AI memory benchmarks:

BenchmarkWhat it measuresResult
LongMemEvalLong-term memory across sessions with knowledge updates#1
LoCoMoFact recall across extended conversations (single-hop, multi-hop, temporal, adversarial)#1
ConvoMemPersonalization and preference learning#1

On LongMemEval, supermemory reaches 95% Recall@15 while adding only ~720 tokens of context — a 99.4% context reduction (99.6% at @10, 99.8% at @5). Recall by category: Knowledge Updates 99%, Assistant recall 100%, User recall 97%, Multi-session 93%, Temporal Reasoning 91%, Preference 90%.

We also built the Supermemory Filesystem (SMFS), which uses 3.0× fewer tokens on Claude (24M vs 72M) and 1.75× fewer on Codex across the 110-question xAFS benchmark. See the full write-ups on our research page.

We also built MemoryBench — an open-source framework for standardized, reproducible benchmarks of memory providers. Compare Supermemory, Mem0, Zep, and others head-to-head:

bun run src/index.ts run -p supermemory -b longmemeval -j gpt-4o -r my-run

Benchmarking your own memory solution

We provide an Agent skill for companies to benchmark their own context and memory solutions against supermemory.

npx skills add supermemoryai/memorybench

Simply run this and do /benchmark-context - Supermemory will automatically do the work for you!


How memory works under the hood

Your app / AI tool
↓
Supermemory
│
├── Memory Engine Extracts facts, tracks updates, resolves contradictions,
│ auto-forgets expired info
├── User Profiles Static facts + dynamic context built from engine, always fresh
├── Hybrid Search RAG + Memory in one query
├── Connectors Real-time sync from Google Drive, Gmail, Notion, GitHub...
└── File Processing PDFs, images, videos, code → searchable chunks

Memory is not RAG. RAG retrieves document chunks — stateless, same results for everyone. Memory extracts and tracks facts about users over time. It understands that "I just moved to SF" supersedes "I live in NYC." Supermemory runs both together by default, so you get knowledge base retrieval and personalized context in every query. Read more about this here - https://supermemory.ai/docs/concepts/memory-vs-rag

Automatic forgetting. Supermemory knows when memories become irrelevant. Temporary facts ("I have an exam tomorrow") expire after the date passes. Contradictions are resolved automatically. Noise never becomes permanent memory.


Links


Give your AI a memory. It's about time..

About

Memory and context engine + app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Supermemory

State-of-the-art memory and context engine for AI. And yes - you can use it as a company/personal brain.

Docs · Quickstart · Self-host · Dashboard · Discord

npmpypidocs

English · 简体中文

#1 on every major AI memory benchmark — LongMemEval, LoCoMo, and ConvoMem.
95% Recall@15 with a 99.4% context reduction · ~50ms user profiles.
Read the research →


Supermemory is the memory and context layer for AI. #1 on LongMemEval, LoCoMo, and ConvoMem — the three major benchmarks for AI memory.

We are a research lab building the engine, plugins and tools around it.

Your AI forgets everything between conversations. Supermemory fixes that.

It automatically learns from conversations, extracts facts, builds user profiles, handles knowledge updates and contradictions, forgets expired information, and delivers the right context at the right time. Full RAG, connectors, file processing — the entire context stack, one system.

🧠 MemoryExtracts facts from conversations. Handles temporal changes, contradictions, and automatic forgetting.
👤 User ProfilesAuto-maintained user context — stable facts + recent activity. One call, ~50ms.
🔍 Hybrid SearchRAG + Memory in a single query. Knowledge base docs and personalized context together.
🔌 ConnectorsGoogle Drive · Gmail · Notion · OneDrive · GitHub — auto-sync with real-time webhooks.
📄 Multi-modal ExtractorsPDFs, images (OCR), videos (transcription), code (AST-aware chunking). Upload and it works.

All of this is in our single memory structure and ontology.

image

Use Supermemory

🧑‍💻 I use AI tools

Build your own personal supermemory by using our app. Builds persistent memory graph across every conversation.

Your AI remembers your preferences, projects, past discussions — and gets smarter over time.

→ Jump to User setup

🔧 I'm building AI products

Add memory, RAG, user profiles, and connectors to your agents and apps with a single API.

No vector DB config. No embedding pipelines. No chunking strategies.

→ Jump to developer quickstart

🖥️ I want to run it myself

State-of-the-art memory, on your machine. One binary. Zero config. Bring any model — or run fully offline with Ollama.

curl -fsSL https://supermemory.ai/install | bash

→ Jump to Supermemory local


Give your AI memory

The Supermemory App, browser extension, plugins and MCP server gives any compatible AI assistant persistent memory. One install, and your AI remembers you.

The app

You can use supermemory without any code, by using our consumer-facing app for free.

Start at https://app.supermemory.ai

image

It also comes with an agent embedded inside, which we call Nova.

Supermemory Plugins

Supermemory comes built with Plugins for Claude Code, OpenCode, OpenClaw, and Hermes.

image

These plugins are implementations of the supermemory API, and they are open source!

You can find them here:

MCP

Server URL:

https://mcp.supermemory.ai/mcp
{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Read more about our MCP here - https://supermemory.ai/docs/supermemory-mcp/mcp

What your AI gets

ToolWhat it does
memorySave or forget information. Your AI calls this automatically when you share something worth remembering.
recallSearch memories by query. Returns relevant memories + your user profile summary.
contextInjects your full profile (preferences, recent activity) into the conversation at start. In Cursor and Claude Code, just type /context.

How it works

Once installed, Supermemory runs in the background:

  1. You talk to your AI normally. Share preferences, mention projects, discuss problems.
  2. Supermemory extracts and stores the important stuff. Facts, preferences, project context — not noise.
  3. Next conversation, your AI already knows you. It recalls what you're working on, how you like things, what you discussed before.

Memory is scoped with projects (container tags) so you can separate work and personal context, or organize by client, repo, or anything else.

Supported clients

Claude Desktop · Cursor · Windsurf · VS Code · Claude Code · OpenCode · OpenClaw · Hermes

The MCP server is open source — view the source.

Manual configuration

Add this to your MCP client config:

{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Build with Supermemory (API)

If you're building AI agents or apps, Supermemory gives you the entire context stack through one API — memory, RAG, user profiles, connectors, and file processing.

Install

npm install supermemory # or: pip install supermemory

Quickstart

importSupermemoryfrom"supermemory";constclient=newSupermemory();// Store a conversationawaitclient.add({content: "User loves TypeScript and prefers functional patterns",containerTag: "user_123",});// Get user profile + relevant memories in one callconst{ profile, searchResults }=awaitclient.profile({containerTag: "user_123",q: "What programming style does the user prefer?",});// profile.static → ["Loves TypeScript", "Prefers functional patterns"]// profile.dynamic → ["Working on API integration"]// searchResults → Relevant memories ranked by similarity
fromsupermemoryimportSupermemoryclient=Supermemory()
client.add(
content="User loves TypeScript and prefers functional patterns",
container_tag="user_123"
)
result=client.profile(container_tag="user_123", q="programming style")
print(result.profile.static) # Long-term factsprint(result.profile.dynamic) # Recent context

Supermemory automatically extracts memories, builds user profiles, and returns relevant context. No embedding pipelines, no vector DB config, no chunking strategies.

Framework integrations

Drop-in wrappers for every major AI framework:

// Vercel AI SDKimport{withSupermemory}from"@supermemory/tools/ai-sdk";constmodel=withSupermemory(openai("gpt-4o"),{containerTag: "user_123",customId: "conv-1"});// Mastraimport{withSupermemory}from"@supermemory/tools/mastra";constagent=newAgent(withSupermemory(config,"user-123",{mode: "full"}));

Vercel AI SDK · LangChain · LangGraph · OpenAI Agents SDK · Mastra · Agno · Claude Memory Tool · n8n

Search modes

// Hybrid (default) — RAG + Memory in one queryconstresults=awaitclient.search({q: "how do I deploy?",containerTag: "user_123",searchMode: "hybrid",});// Returns deployment docs (RAG) + user's deploy preferences (Memory)// Memories onlyconstresults=awaitclient.search({q: "user preferences",containerTag: "user_123",searchMode: "memories",});

User profiles

Traditional memory relies on search — you need to know what to ask for. Supermemory automatically maintains a profile for every user:

const{ profile }=awaitclient.profile({containerTag: "user_123"});// profile.static → ["Senior engineer at Acme", "Prefers dark mode", "Uses Vim"]// profile.dynamic → ["Working on auth migration", "Debugging rate limits"]

One call. ~50ms. Inject into your system prompt and your agent instantly knows who it's talking to.

Connectors

Auto-sync external data into your knowledge base:

Google Drive · Gmail · Notion · OneDrive · GitHub · Web Crawler

Real-time webhooks. Documents automatically processed, chunked, and searchable.

API at a glance

MethodPurpose
client.add()Store content — text, conversations, URLs, HTML
client.profile()User profile + optional search in one call
client.search()Hybrid search across memories and documents (searchMode)
client.search.documents()Document search with metadata filters (legacy v3 response shape)
client.documents.uploadFile()Upload PDFs, images, videos, code
client.documents.list()List and filter documents
client.settings.update()Configure memory extraction and chunking

Full API reference → supermemory.ai/docs


Supermemory local — run it yourself

State-of-the-art memory, on your machine. One binary. Zero config.

curl -fsSL https://supermemory.ai/install | bash
# or
npx supermemory local
supermemory-server

First boot sets up the embedded Supermemory graph engine, local embeddings, and your credentials, then prints an API key. The full Memory API — documents, memories, user profiles, hybrid search — runs against http://localhost:6767.

constclient=newSupermemory({apiKey: "sm_...",baseURL: "http://localhost:6767",// that's the only change});
  • Bring any model — OpenAI, Anthropic, Gemini, Groq, or any OpenAI-compatible endpoint. An interactive wizard walks you through it on first boot.
  • Embeddings — local Xenova/bge-base-en-v1.5 by default (no API key); optionally OpenAI, Gemini, or Ollama. Same provider stack as cloud.
  • Fully offline if you want — point it at Ollama (gpt-oss:20b works great) and nothing leaves your machine.
  • Your data, one directory — everything lives in ./.supermemory, easy to back up or move.
  • Same API as the platform — prototype locally, ship on the hosted platform by changing baseURL.

Read the self-hosting docs — quickstart, configuration, embeddings, and local vs. Enterprise.


Benchmarks

Supermemory is state of the art across all major AI memory benchmarks:

BenchmarkWhat it measuresResult
LongMemEvalLong-term memory across sessions with knowledge updates#1
LoCoMoFact recall across extended conversations (single-hop, multi-hop, temporal, adversarial)#1
ConvoMemPersonalization and preference learning#1

On LongMemEval, supermemory reaches 95% Recall@15 while adding only ~720 tokens of context — a 99.4% context reduction (99.6% at @10, 99.8% at @5). Recall by category: Knowledge Updates 99%, Assistant recall 100%, User recall 97%, Multi-session 93%, Temporal Reasoning 91%, Preference 90%.

We also built the Supermemory Filesystem (SMFS), which uses 3.0× fewer tokens on Claude (24M vs 72M) and 1.75× fewer on Codex across the 110-question xAFS benchmark. See the full write-ups on our research page.

We also built MemoryBench — an open-source framework for standardized, reproducible benchmarks of memory providers. Compare Supermemory, Mem0, Zep, and others head-to-head:

bun run src/index.ts run -p supermemory -b longmemeval -j gpt-4o -r my-run

Benchmarking your own memory solution

We provide an Agent skill for companies to benchmark their own context and memory solutions against supermemory.

npx skills add supermemoryai/memorybench

Simply run this and do /benchmark-context - Supermemory will automatically do the work for you!


How memory works under the hood

Your app / AI tool
↓
Supermemory
│
├── Memory Engine Extracts facts, tracks updates, resolves contradictions,
│ auto-forgets expired info
├── User Profiles Static facts + dynamic context built from engine, always fresh
├── Hybrid Search RAG + Memory in one query
├── Connectors Real-time sync from Google Drive, Gmail, Notion, GitHub...
└── File Processing PDFs, images, videos, code → searchable chunks

Memory is not RAG. RAG retrieves document chunks — stateless, same results for everyone. Memory extracts and tracks facts about users over time. It understands that "I just moved to SF" supersedes "I live in NYC." Supermemory runs both together by default, so you get knowledge base retrieval and personalized context in every query. Read more about this here - https://supermemory.ai/docs/concepts/memory-vs-rag

Automatic forgetting. Supermemory knows when memories become irrelevant. Temporary facts ("I have an exam tomorrow") expire after the date passes. Contradictions are resolved automatically. Noise never becomes permanent memory.


Links


Give your AI a memory. It's about time..

About

Memory and context engine + app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Supermemory

State-of-the-art memory and context engine for AI. And yes - you can use it as a company/personal brain.

Docs · Quickstart · Self-host · Dashboard · Discord

npmpypidocs

English · 简体中文

#1 on every major AI memory benchmark — LongMemEval, LoCoMo, and ConvoMem.
95% Recall@15 with a 99.4% context reduction · ~50ms user profiles.
Read the research →


Supermemory is the memory and context layer for AI. #1 on LongMemEval, LoCoMo, and ConvoMem — the three major benchmarks for AI memory.

We are a research lab building the engine, plugins and tools around it.

Your AI forgets everything between conversations. Supermemory fixes that.

It automatically learns from conversations, extracts facts, builds user profiles, handles knowledge updates and contradictions, forgets expired information, and delivers the right context at the right time. Full RAG, connectors, file processing — the entire context stack, one system.

🧠 MemoryExtracts facts from conversations. Handles temporal changes, contradictions, and automatic forgetting.
👤 User ProfilesAuto-maintained user context — stable facts + recent activity. One call, ~50ms.
🔍 Hybrid SearchRAG + Memory in a single query. Knowledge base docs and personalized context together.
🔌 ConnectorsGoogle Drive · Gmail · Notion · OneDrive · GitHub — auto-sync with real-time webhooks.
📄 Multi-modal ExtractorsPDFs, images (OCR), videos (transcription), code (AST-aware chunking). Upload and it works.

All of this is in our single memory structure and ontology.

image

Use Supermemory

🧑‍💻 I use AI tools

Build your own personal supermemory by using our app. Builds persistent memory graph across every conversation.

Your AI remembers your preferences, projects, past discussions — and gets smarter over time.

→ Jump to User setup

🔧 I'm building AI products

Add memory, RAG, user profiles, and connectors to your agents and apps with a single API.

No vector DB config. No embedding pipelines. No chunking strategies.

→ Jump to developer quickstart

🖥️ I want to run it myself

State-of-the-art memory, on your machine. One binary. Zero config. Bring any model — or run fully offline with Ollama.

curl -fsSL https://supermemory.ai/install | bash

→ Jump to Supermemory local


Give your AI memory

The Supermemory App, browser extension, plugins and MCP server gives any compatible AI assistant persistent memory. One install, and your AI remembers you.

The app

You can use supermemory without any code, by using our consumer-facing app for free.

Start at https://app.supermemory.ai

image

It also comes with an agent embedded inside, which we call Nova.

Supermemory Plugins

Supermemory comes built with Plugins for Claude Code, OpenCode, OpenClaw, and Hermes.

image

These plugins are implementations of the supermemory API, and they are open source!

You can find them here:

MCP

Server URL:

https://mcp.supermemory.ai/mcp
{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Read more about our MCP here - https://supermemory.ai/docs/supermemory-mcp/mcp

What your AI gets

ToolWhat it does
memorySave or forget information. Your AI calls this automatically when you share something worth remembering.
recallSearch memories by query. Returns relevant memories + your user profile summary.
contextInjects your full profile (preferences, recent activity) into the conversation at start. In Cursor and Claude Code, just type /context.

How it works

Once installed, Supermemory runs in the background:

  1. You talk to your AI normally. Share preferences, mention projects, discuss problems.
  2. Supermemory extracts and stores the important stuff. Facts, preferences, project context — not noise.
  3. Next conversation, your AI already knows you. It recalls what you're working on, how you like things, what you discussed before.

Memory is scoped with projects (container tags) so you can separate work and personal context, or organize by client, repo, or anything else.

Supported clients

Claude Desktop · Cursor · Windsurf · VS Code · Claude Code · OpenCode · OpenClaw · Hermes

The MCP server is open source — view the source.

Manual configuration

Add this to your MCP client config:

{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Build with Supermemory (API)

If you're building AI agents or apps, Supermemory gives you the entire context stack through one API — memory, RAG, user profiles, connectors, and file processing.

Install

npm install supermemory # or: pip install supermemory

Quickstart

importSupermemoryfrom"supermemory";constclient=newSupermemory();// Store a conversationawaitclient.add({content: "User loves TypeScript and prefers functional patterns",containerTag: "user_123",});// Get user profile + relevant memories in one callconst{ profile, searchResults }=awaitclient.profile({containerTag: "user_123",q: "What programming style does the user prefer?",});// profile.static → ["Loves TypeScript", "Prefers functional patterns"]// profile.dynamic → ["Working on API integration"]// searchResults → Relevant memories ranked by similarity
fromsupermemoryimportSupermemoryclient=Supermemory()
client.add(
content="User loves TypeScript and prefers functional patterns",
container_tag="user_123"
)
result=client.profile(container_tag="user_123", q="programming style")
print(result.profile.static) # Long-term factsprint(result.profile.dynamic) # Recent context

Supermemory automatically extracts memories, builds user profiles, and returns relevant context. No embedding pipelines, no vector DB config, no chunking strategies.

Framework integrations

Drop-in wrappers for every major AI framework:

// Vercel AI SDKimport{withSupermemory}from"@supermemory/tools/ai-sdk";constmodel=withSupermemory(openai("gpt-4o"),{containerTag: "user_123",customId: "conv-1"});// Mastraimport{withSupermemory}from"@supermemory/tools/mastra";constagent=newAgent(withSupermemory(config,"user-123",{mode: "full"}));

Vercel AI SDK · LangChain · LangGraph · OpenAI Agents SDK · Mastra · Agno · Claude Memory Tool · n8n

Search modes

// Hybrid (default) — RAG + Memory in one queryconstresults=awaitclient.search({q: "how do I deploy?",containerTag: "user_123",searchMode: "hybrid",});// Returns deployment docs (RAG) + user's deploy preferences (Memory)// Memories onlyconstresults=awaitclient.search({q: "user preferences",containerTag: "user_123",searchMode: "memories",});

User profiles

Traditional memory relies on search — you need to know what to ask for. Supermemory automatically maintains a profile for every user:

const{ profile }=awaitclient.profile({containerTag: "user_123"});// profile.static → ["Senior engineer at Acme", "Prefers dark mode", "Uses Vim"]// profile.dynamic → ["Working on auth migration", "Debugging rate limits"]

One call. ~50ms. Inject into your system prompt and your agent instantly knows who it's talking to.

Connectors

Auto-sync external data into your knowledge base:

Google Drive · Gmail · Notion · OneDrive · GitHub · Web Crawler

Real-time webhooks. Documents automatically processed, chunked, and searchable.

API at a glance

MethodPurpose
client.add()Store content — text, conversations, URLs, HTML
client.profile()User profile + optional search in one call
client.search()Hybrid search across memories and documents (searchMode)
client.search.documents()Document search with metadata filters (legacy v3 response shape)
client.documents.uploadFile()Upload PDFs, images, videos, code
client.documents.list()List and filter documents
client.settings.update()Configure memory extraction and chunking

Full API reference → supermemory.ai/docs


Supermemory local — run it yourself

State-of-the-art memory, on your machine. One binary. Zero config.

curl -fsSL https://supermemory.ai/install | bash
# or
npx supermemory local
supermemory-server

First boot sets up the embedded Supermemory graph engine, local embeddings, and your credentials, then prints an API key. The full Memory API — documents, memories, user profiles, hybrid search — runs against http://localhost:6767.

constclient=newSupermemory({apiKey: "sm_...",baseURL: "http://localhost:6767",// that's the only change});
  • Bring any model — OpenAI, Anthropic, Gemini, Groq, or any OpenAI-compatible endpoint. An interactive wizard walks you through it on first boot.
  • Embeddings — local Xenova/bge-base-en-v1.5 by default (no API key); optionally OpenAI, Gemini, or Ollama. Same provider stack as cloud.
  • Fully offline if you want — point it at Ollama (gpt-oss:20b works great) and nothing leaves your machine.
  • Your data, one directory — everything lives in ./.supermemory, easy to back up or move.
  • Same API as the platform — prototype locally, ship on the hosted platform by changing baseURL.

Read the self-hosting docs — quickstart, configuration, embeddings, and local vs. Enterprise.


Benchmarks

Supermemory is state of the art across all major AI memory benchmarks:

BenchmarkWhat it measuresResult
LongMemEvalLong-term memory across sessions with knowledge updates#1
LoCoMoFact recall across extended conversations (single-hop, multi-hop, temporal, adversarial)#1
ConvoMemPersonalization and preference learning#1

On LongMemEval, supermemory reaches 95% Recall@15 while adding only ~720 tokens of context — a 99.4% context reduction (99.6% at @10, 99.8% at @5). Recall by category: Knowledge Updates 99%, Assistant recall 100%, User recall 97%, Multi-session 93%, Temporal Reasoning 91%, Preference 90%.

We also built the Supermemory Filesystem (SMFS), which uses 3.0× fewer tokens on Claude (24M vs 72M) and 1.75× fewer on Codex across the 110-question xAFS benchmark. See the full write-ups on our research page.

We also built MemoryBench — an open-source framework for standardized, reproducible benchmarks of memory providers. Compare Supermemory, Mem0, Zep, and others head-to-head:

bun run src/index.ts run -p supermemory -b longmemeval -j gpt-4o -r my-run

Benchmarking your own memory solution

We provide an Agent skill for companies to benchmark their own context and memory solutions against supermemory.

npx skills add supermemoryai/memorybench

Simply run this and do /benchmark-context - Supermemory will automatically do the work for you!


How memory works under the hood

Your app / AI tool
↓
Supermemory
│
├── Memory Engine Extracts facts, tracks updates, resolves contradictions,
│ auto-forgets expired info
├── User Profiles Static facts + dynamic context built from engine, always fresh
├── Hybrid Search RAG + Memory in one query
├── Connectors Real-time sync from Google Drive, Gmail, Notion, GitHub...
└── File Processing PDFs, images, videos, code → searchable chunks

Memory is not RAG. RAG retrieves document chunks — stateless, same results for everyone. Memory extracts and tracks facts about users over time. It understands that "I just moved to SF" supersedes "I live in NYC." Supermemory runs both together by default, so you get knowledge base retrieval and personalized context in every query. Read more about this here - https://supermemory.ai/docs/concepts/memory-vs-rag

Automatic forgetting. Supermemory knows when memories become irrelevant. Temporary facts ("I have an exam tomorrow") expire after the date passes. Contradictions are resolved automatically. Noise never becomes permanent memory.


Links


Give your AI a memory. It's about time..

About

Memory and context engine + app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Supermemory

State-of-the-art memory and context engine for AI. And yes - you can use it as a company/personal brain.

Docs · Quickstart · Self-host · Dashboard · Discord

npmpypidocs

English · 简体中文

#1 on every major AI memory benchmark — LongMemEval, LoCoMo, and ConvoMem.
95% Recall@15 with a 99.4% context reduction · ~50ms user profiles.
Read the research →


Supermemory is the memory and context layer for AI. #1 on LongMemEval, LoCoMo, and ConvoMem — the three major benchmarks for AI memory.

We are a research lab building the engine, plugins and tools around it.

Your AI forgets everything between conversations. Supermemory fixes that.

It automatically learns from conversations, extracts facts, builds user profiles, handles knowledge updates and contradictions, forgets expired information, and delivers the right context at the right time. Full RAG, connectors, file processing — the entire context stack, one system.

🧠 MemoryExtracts facts from conversations. Handles temporal changes, contradictions, and automatic forgetting.
👤 User ProfilesAuto-maintained user context — stable facts + recent activity. One call, ~50ms.
🔍 Hybrid SearchRAG + Memory in a single query. Knowledge base docs and personalized context together.
🔌 ConnectorsGoogle Drive · Gmail · Notion · OneDrive · GitHub — auto-sync with real-time webhooks.
📄 Multi-modal ExtractorsPDFs, images (OCR), videos (transcription), code (AST-aware chunking). Upload and it works.

All of this is in our single memory structure and ontology.

image

Use Supermemory

🧑‍💻 I use AI tools

Build your own personal supermemory by using our app. Builds persistent memory graph across every conversation.

Your AI remembers your preferences, projects, past discussions — and gets smarter over time.

→ Jump to User setup

🔧 I'm building AI products

Add memory, RAG, user profiles, and connectors to your agents and apps with a single API.

No vector DB config. No embedding pipelines. No chunking strategies.

→ Jump to developer quickstart

🖥️ I want to run it myself

State-of-the-art memory, on your machine. One binary. Zero config. Bring any model — or run fully offline with Ollama.

curl -fsSL https://supermemory.ai/install | bash

→ Jump to Supermemory local


Give your AI memory

The Supermemory App, browser extension, plugins and MCP server gives any compatible AI assistant persistent memory. One install, and your AI remembers you.

The app

You can use supermemory without any code, by using our consumer-facing app for free.

Start at https://app.supermemory.ai

image

It also comes with an agent embedded inside, which we call Nova.

Supermemory Plugins

Supermemory comes built with Plugins for Claude Code, OpenCode, OpenClaw, and Hermes.

image

These plugins are implementations of the supermemory API, and they are open source!

You can find them here:

MCP

Server URL:

https://mcp.supermemory.ai/mcp
{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Read more about our MCP here - https://supermemory.ai/docs/supermemory-mcp/mcp

What your AI gets

ToolWhat it does
memorySave or forget information. Your AI calls this automatically when you share something worth remembering.
recallSearch memories by query. Returns relevant memories + your user profile summary.
contextInjects your full profile (preferences, recent activity) into the conversation at start. In Cursor and Claude Code, just type /context.

How it works

Once installed, Supermemory runs in the background:

  1. You talk to your AI normally. Share preferences, mention projects, discuss problems.
  2. Supermemory extracts and stores the important stuff. Facts, preferences, project context — not noise.
  3. Next conversation, your AI already knows you. It recalls what you're working on, how you like things, what you discussed before.

Memory is scoped with projects (container tags) so you can separate work and personal context, or organize by client, repo, or anything else.

Supported clients

Claude Desktop · Cursor · Windsurf · VS Code · Claude Code · OpenCode · OpenClaw · Hermes

The MCP server is open source — view the source.

Manual configuration

Add this to your MCP client config:

{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Build with Supermemory (API)

If you're building AI agents or apps, Supermemory gives you the entire context stack through one API — memory, RAG, user profiles, connectors, and file processing.

Install

npm install supermemory # or: pip install supermemory

Quickstart

importSupermemoryfrom"supermemory";constclient=newSupermemory();// Store a conversationawaitclient.add({content: "User loves TypeScript and prefers functional patterns",containerTag: "user_123",});// Get user profile + relevant memories in one callconst{ profile, searchResults }=awaitclient.profile({containerTag: "user_123",q: "What programming style does the user prefer?",});// profile.static → ["Loves TypeScript", "Prefers functional patterns"]// profile.dynamic → ["Working on API integration"]// searchResults → Relevant memories ranked by similarity
fromsupermemoryimportSupermemoryclient=Supermemory()
client.add(
content="User loves TypeScript and prefers functional patterns",
container_tag="user_123"
)
result=client.profile(container_tag="user_123", q="programming style")
print(result.profile.static) # Long-term factsprint(result.profile.dynamic) # Recent context

Supermemory automatically extracts memories, builds user profiles, and returns relevant context. No embedding pipelines, no vector DB config, no chunking strategies.

Framework integrations

Drop-in wrappers for every major AI framework:

// Vercel AI SDKimport{withSupermemory}from"@supermemory/tools/ai-sdk";constmodel=withSupermemory(openai("gpt-4o"),{containerTag: "user_123",customId: "conv-1"});// Mastraimport{withSupermemory}from"@supermemory/tools/mastra";constagent=newAgent(withSupermemory(config,"user-123",{mode: "full"}));

Vercel AI SDK · LangChain · LangGraph · OpenAI Agents SDK · Mastra · Agno · Claude Memory Tool · n8n

Search modes

// Hybrid (default) — RAG + Memory in one queryconstresults=awaitclient.search({q: "how do I deploy?",containerTag: "user_123",searchMode: "hybrid",});// Returns deployment docs (RAG) + user's deploy preferences (Memory)// Memories onlyconstresults=awaitclient.search({q: "user preferences",containerTag: "user_123",searchMode: "memories",});

User profiles

Traditional memory relies on search — you need to know what to ask for. Supermemory automatically maintains a profile for every user:

const{ profile }=awaitclient.profile({containerTag: "user_123"});// profile.static → ["Senior engineer at Acme", "Prefers dark mode", "Uses Vim"]// profile.dynamic → ["Working on auth migration", "Debugging rate limits"]

One call. ~50ms. Inject into your system prompt and your agent instantly knows who it's talking to.

Connectors

Auto-sync external data into your knowledge base:

Google Drive · Gmail · Notion · OneDrive · GitHub · Web Crawler

Real-time webhooks. Documents automatically processed, chunked, and searchable.

API at a glance

MethodPurpose
client.add()Store content — text, conversations, URLs, HTML
client.profile()User profile + optional search in one call
client.search()Hybrid search across memories and documents (searchMode)
client.search.documents()Document search with metadata filters (legacy v3 response shape)
client.documents.uploadFile()Upload PDFs, images, videos, code
client.documents.list()List and filter documents
client.settings.update()Configure memory extraction and chunking

Full API reference → supermemory.ai/docs


Supermemory local — run it yourself

State-of-the-art memory, on your machine. One binary. Zero config.

curl -fsSL https://supermemory.ai/install | bash
# or
npx supermemory local
supermemory-server

First boot sets up the embedded Supermemory graph engine, local embeddings, and your credentials, then prints an API key. The full Memory API — documents, memories, user profiles, hybrid search — runs against http://localhost:6767.

constclient=newSupermemory({apiKey: "sm_...",baseURL: "http://localhost:6767",// that's the only change});
  • Bring any model — OpenAI, Anthropic, Gemini, Groq, or any OpenAI-compatible endpoint. An interactive wizard walks you through it on first boot.
  • Embeddings — local Xenova/bge-base-en-v1.5 by default (no API key); optionally OpenAI, Gemini, or Ollama. Same provider stack as cloud.
  • Fully offline if you want — point it at Ollama (gpt-oss:20b works great) and nothing leaves your machine.
  • Your data, one directory — everything lives in ./.supermemory, easy to back up or move.
  • Same API as the platform — prototype locally, ship on the hosted platform by changing baseURL.

Read the self-hosting docs — quickstart, configuration, embeddings, and local vs. Enterprise.


Benchmarks

Supermemory is state of the art across all major AI memory benchmarks:

BenchmarkWhat it measuresResult
LongMemEvalLong-term memory across sessions with knowledge updates#1
LoCoMoFact recall across extended conversations (single-hop, multi-hop, temporal, adversarial)#1
ConvoMemPersonalization and preference learning#1

On LongMemEval, supermemory reaches 95% Recall@15 while adding only ~720 tokens of context — a 99.4% context reduction (99.6% at @10, 99.8% at @5). Recall by category: Knowledge Updates 99%, Assistant recall 100%, User recall 97%, Multi-session 93%, Temporal Reasoning 91%, Preference 90%.

We also built the Supermemory Filesystem (SMFS), which uses 3.0× fewer tokens on Claude (24M vs 72M) and 1.75× fewer on Codex across the 110-question xAFS benchmark. See the full write-ups on our research page.

We also built MemoryBench — an open-source framework for standardized, reproducible benchmarks of memory providers. Compare Supermemory, Mem0, Zep, and others head-to-head:

bun run src/index.ts run -p supermemory -b longmemeval -j gpt-4o -r my-run

Benchmarking your own memory solution

We provide an Agent skill for companies to benchmark their own context and memory solutions against supermemory.

npx skills add supermemoryai/memorybench

Simply run this and do /benchmark-context - Supermemory will automatically do the work for you!


How memory works under the hood

Your app / AI tool
↓
Supermemory
│
├── Memory Engine Extracts facts, tracks updates, resolves contradictions,
│ auto-forgets expired info
├── User Profiles Static facts + dynamic context built from engine, always fresh
├── Hybrid Search RAG + Memory in one query
├── Connectors Real-time sync from Google Drive, Gmail, Notion, GitHub...
└── File Processing PDFs, images, videos, code → searchable chunks

Memory is not RAG. RAG retrieves document chunks — stateless, same results for everyone. Memory extracts and tracks facts about users over time. It understands that "I just moved to SF" supersedes "I live in NYC." Supermemory runs both together by default, so you get knowledge base retrieval and personalized context in every query. Read more about this here - https://supermemory.ai/docs/concepts/memory-vs-rag

Automatic forgetting. Supermemory knows when memories become irrelevant. Temporary facts ("I have an exam tomorrow") expire after the date passes. Contradictions are resolved automatically. Noise never becomes permanent memory.


Links


Give your AI a memory. It's about time..

About

Memory and context engine + app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Supermemory

State-of-the-art memory and context engine for AI. And yes - you can use it as a company/personal brain.

Docs · Quickstart · Self-host · Dashboard · Discord

npmpypidocs

English · 简体中文

#1 on every major AI memory benchmark — LongMemEval, LoCoMo, and ConvoMem.
95% Recall@15 with a 99.4% context reduction · ~50ms user profiles.
Read the research →


Supermemory is the memory and context layer for AI. #1 on LongMemEval, LoCoMo, and ConvoMem — the three major benchmarks for AI memory.

We are a research lab building the engine, plugins and tools around it.

Your AI forgets everything between conversations. Supermemory fixes that.

It automatically learns from conversations, extracts facts, builds user profiles, handles knowledge updates and contradictions, forgets expired information, and delivers the right context at the right time. Full RAG, connectors, file processing — the entire context stack, one system.

🧠 MemoryExtracts facts from conversations. Handles temporal changes, contradictions, and automatic forgetting.
👤 User ProfilesAuto-maintained user context — stable facts + recent activity. One call, ~50ms.
🔍 Hybrid SearchRAG + Memory in a single query. Knowledge base docs and personalized context together.
🔌 ConnectorsGoogle Drive · Gmail · Notion · OneDrive · GitHub — auto-sync with real-time webhooks.
📄 Multi-modal ExtractorsPDFs, images (OCR), videos (transcription), code (AST-aware chunking). Upload and it works.

All of this is in our single memory structure and ontology.

image

Use Supermemory

🧑‍💻 I use AI tools

Build your own personal supermemory by using our app. Builds persistent memory graph across every conversation.

Your AI remembers your preferences, projects, past discussions — and gets smarter over time.

→ Jump to User setup

🔧 I'm building AI products

Add memory, RAG, user profiles, and connectors to your agents and apps with a single API.

No vector DB config. No embedding pipelines. No chunking strategies.

→ Jump to developer quickstart

🖥️ I want to run it myself

State-of-the-art memory, on your machine. One binary. Zero config. Bring any model — or run fully offline with Ollama.

curl -fsSL https://supermemory.ai/install | bash

→ Jump to Supermemory local


Give your AI memory

The Supermemory App, browser extension, plugins and MCP server gives any compatible AI assistant persistent memory. One install, and your AI remembers you.

The app

You can use supermemory without any code, by using our consumer-facing app for free.

Start at https://app.supermemory.ai

image

It also comes with an agent embedded inside, which we call Nova.

Supermemory Plugins

Supermemory comes built with Plugins for Claude Code, OpenCode, OpenClaw, and Hermes.

image

These plugins are implementations of the supermemory API, and they are open source!

You can find them here:

MCP

Server URL:

https://mcp.supermemory.ai/mcp
{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Read more about our MCP here - https://supermemory.ai/docs/supermemory-mcp/mcp

What your AI gets

ToolWhat it does
memorySave or forget information. Your AI calls this automatically when you share something worth remembering.
recallSearch memories by query. Returns relevant memories + your user profile summary.
contextInjects your full profile (preferences, recent activity) into the conversation at start. In Cursor and Claude Code, just type /context.

How it works

Once installed, Supermemory runs in the background:

  1. You talk to your AI normally. Share preferences, mention projects, discuss problems.
  2. Supermemory extracts and stores the important stuff. Facts, preferences, project context — not noise.
  3. Next conversation, your AI already knows you. It recalls what you're working on, how you like things, what you discussed before.

Memory is scoped with projects (container tags) so you can separate work and personal context, or organize by client, repo, or anything else.

Supported clients

Claude Desktop · Cursor · Windsurf · VS Code · Claude Code · OpenCode · OpenClaw · Hermes

The MCP server is open source — view the source.

Manual configuration

Add this to your MCP client config:

{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Build with Supermemory (API)

If you're building AI agents or apps, Supermemory gives you the entire context stack through one API — memory, RAG, user profiles, connectors, and file processing.

Install

npm install supermemory # or: pip install supermemory

Quickstart

importSupermemoryfrom"supermemory";constclient=newSupermemory();// Store a conversationawaitclient.add({content: "User loves TypeScript and prefers functional patterns",containerTag: "user_123",});// Get user profile + relevant memories in one callconst{ profile, searchResults }=awaitclient.profile({containerTag: "user_123",q: "What programming style does the user prefer?",});// profile.static → ["Loves TypeScript", "Prefers functional patterns"]// profile.dynamic → ["Working on API integration"]// searchResults → Relevant memories ranked by similarity
fromsupermemoryimportSupermemoryclient=Supermemory()
client.add(
content="User loves TypeScript and prefers functional patterns",
container_tag="user_123"
)
result=client.profile(container_tag="user_123", q="programming style")
print(result.profile.static) # Long-term factsprint(result.profile.dynamic) # Recent context

Supermemory automatically extracts memories, builds user profiles, and returns relevant context. No embedding pipelines, no vector DB config, no chunking strategies.

Framework integrations

Drop-in wrappers for every major AI framework:

// Vercel AI SDKimport{withSupermemory}from"@supermemory/tools/ai-sdk";constmodel=withSupermemory(openai("gpt-4o"),{containerTag: "user_123",customId: "conv-1"});// Mastraimport{withSupermemory}from"@supermemory/tools/mastra";constagent=newAgent(withSupermemory(config,"user-123",{mode: "full"}));

Vercel AI SDK · LangChain · LangGraph · OpenAI Agents SDK · Mastra · Agno · Claude Memory Tool · n8n

Search modes

// Hybrid (default) — RAG + Memory in one queryconstresults=awaitclient.search({q: "how do I deploy?",containerTag: "user_123",searchMode: "hybrid",});// Returns deployment docs (RAG) + user's deploy preferences (Memory)// Memories onlyconstresults=awaitclient.search({q: "user preferences",containerTag: "user_123",searchMode: "memories",});

User profiles

Traditional memory relies on search — you need to know what to ask for. Supermemory automatically maintains a profile for every user:

const{ profile }=awaitclient.profile({containerTag: "user_123"});// profile.static → ["Senior engineer at Acme", "Prefers dark mode", "Uses Vim"]// profile.dynamic → ["Working on auth migration", "Debugging rate limits"]

One call. ~50ms. Inject into your system prompt and your agent instantly knows who it's talking to.

Connectors

Auto-sync external data into your knowledge base:

Google Drive · Gmail · Notion · OneDrive · GitHub · Web Crawler

Real-time webhooks. Documents automatically processed, chunked, and searchable.

API at a glance

MethodPurpose
client.add()Store content — text, conversations, URLs, HTML
client.profile()User profile + optional search in one call
client.search()Hybrid search across memories and documents (searchMode)
client.search.documents()Document search with metadata filters (legacy v3 response shape)
client.documents.uploadFile()Upload PDFs, images, videos, code
client.documents.list()List and filter documents
client.settings.update()Configure memory extraction and chunking

Full API reference → supermemory.ai/docs


Supermemory local — run it yourself

State-of-the-art memory, on your machine. One binary. Zero config.

curl -fsSL https://supermemory.ai/install | bash
# or
npx supermemory local
supermemory-server

First boot sets up the embedded Supermemory graph engine, local embeddings, and your credentials, then prints an API key. The full Memory API — documents, memories, user profiles, hybrid search — runs against http://localhost:6767.

constclient=newSupermemory({apiKey: "sm_...",baseURL: "http://localhost:6767",// that's the only change});
  • Bring any model — OpenAI, Anthropic, Gemini, Groq, or any OpenAI-compatible endpoint. An interactive wizard walks you through it on first boot.
  • Embeddings — local Xenova/bge-base-en-v1.5 by default (no API key); optionally OpenAI, Gemini, or Ollama. Same provider stack as cloud.
  • Fully offline if you want — point it at Ollama (gpt-oss:20b works great) and nothing leaves your machine.
  • Your data, one directory — everything lives in ./.supermemory, easy to back up or move.
  • Same API as the platform — prototype locally, ship on the hosted platform by changing baseURL.

Read the self-hosting docs — quickstart, configuration, embeddings, and local vs. Enterprise.


Benchmarks

Supermemory is state of the art across all major AI memory benchmarks:

BenchmarkWhat it measuresResult
LongMemEvalLong-term memory across sessions with knowledge updates#1
LoCoMoFact recall across extended conversations (single-hop, multi-hop, temporal, adversarial)#1
ConvoMemPersonalization and preference learning#1

On LongMemEval, supermemory reaches 95% Recall@15 while adding only ~720 tokens of context — a 99.4% context reduction (99.6% at @10, 99.8% at @5). Recall by category: Knowledge Updates 99%, Assistant recall 100%, User recall 97%, Multi-session 93%, Temporal Reasoning 91%, Preference 90%.

We also built the Supermemory Filesystem (SMFS), which uses 3.0× fewer tokens on Claude (24M vs 72M) and 1.75× fewer on Codex across the 110-question xAFS benchmark. See the full write-ups on our research page.

We also built MemoryBench — an open-source framework for standardized, reproducible benchmarks of memory providers. Compare Supermemory, Mem0, Zep, and others head-to-head:

bun run src/index.ts run -p supermemory -b longmemeval -j gpt-4o -r my-run

Benchmarking your own memory solution

We provide an Agent skill for companies to benchmark their own context and memory solutions against supermemory.

npx skills add supermemoryai/memorybench

Simply run this and do /benchmark-context - Supermemory will automatically do the work for you!


How memory works under the hood

Your app / AI tool
↓
Supermemory
│
├── Memory Engine Extracts facts, tracks updates, resolves contradictions,
│ auto-forgets expired info
├── User Profiles Static facts + dynamic context built from engine, always fresh
├── Hybrid Search RAG + Memory in one query
├── Connectors Real-time sync from Google Drive, Gmail, Notion, GitHub...
└── File Processing PDFs, images, videos, code → searchable chunks

Memory is not RAG. RAG retrieves document chunks — stateless, same results for everyone. Memory extracts and tracks facts about users over time. It understands that "I just moved to SF" supersedes "I live in NYC." Supermemory runs both together by default, so you get knowledge base retrieval and personalized context in every query. Read more about this here - https://supermemory.ai/docs/concepts/memory-vs-rag

Automatic forgetting. Supermemory knows when memories become irrelevant. Temporary facts ("I have an exam tomorrow") expire after the date passes. Contradictions are resolved automatically. Noise never becomes permanent memory.


Links


Give your AI a memory. It's about time..

About

Memory and context engine + app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Supermemory

State-of-the-art memory and context engine for AI. And yes - you can use it as a company/personal brain.

Docs · Quickstart · Self-host · Dashboard · Discord

npmpypidocs

English · 简体中文

#1 on every major AI memory benchmark — LongMemEval, LoCoMo, and ConvoMem.
95% Recall@15 with a 99.4% context reduction · ~50ms user profiles.
Read the research →


Supermemory is the memory and context layer for AI. #1 on LongMemEval, LoCoMo, and ConvoMem — the three major benchmarks for AI memory.

We are a research lab building the engine, plugins and tools around it.

Your AI forgets everything between conversations. Supermemory fixes that.

It automatically learns from conversations, extracts facts, builds user profiles, handles knowledge updates and contradictions, forgets expired information, and delivers the right context at the right time. Full RAG, connectors, file processing — the entire context stack, one system.

🧠 MemoryExtracts facts from conversations. Handles temporal changes, contradictions, and automatic forgetting.
👤 User ProfilesAuto-maintained user context — stable facts + recent activity. One call, ~50ms.
🔍 Hybrid SearchRAG + Memory in a single query. Knowledge base docs and personalized context together.
🔌 ConnectorsGoogle Drive · Gmail · Notion · OneDrive · GitHub — auto-sync with real-time webhooks.
📄 Multi-modal ExtractorsPDFs, images (OCR), videos (transcription), code (AST-aware chunking). Upload and it works.

All of this is in our single memory structure and ontology.

image

Use Supermemory

🧑‍💻 I use AI tools

Build your own personal supermemory by using our app. Builds persistent memory graph across every conversation.

Your AI remembers your preferences, projects, past discussions — and gets smarter over time.

→ Jump to User setup

🔧 I'm building AI products

Add memory, RAG, user profiles, and connectors to your agents and apps with a single API.

No vector DB config. No embedding pipelines. No chunking strategies.

→ Jump to developer quickstart

🖥️ I want to run it myself

State-of-the-art memory, on your machine. One binary. Zero config. Bring any model — or run fully offline with Ollama.

curl -fsSL https://supermemory.ai/install | bash

→ Jump to Supermemory local


Give your AI memory

The Supermemory App, browser extension, plugins and MCP server gives any compatible AI assistant persistent memory. One install, and your AI remembers you.

The app

You can use supermemory without any code, by using our consumer-facing app for free.

Start at https://app.supermemory.ai

image

It also comes with an agent embedded inside, which we call Nova.

Supermemory Plugins

Supermemory comes built with Plugins for Claude Code, OpenCode, OpenClaw, and Hermes.

image

These plugins are implementations of the supermemory API, and they are open source!

You can find them here:

MCP

Server URL:

https://mcp.supermemory.ai/mcp
{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Read more about our MCP here - https://supermemory.ai/docs/supermemory-mcp/mcp

What your AI gets

ToolWhat it does
memorySave or forget information. Your AI calls this automatically when you share something worth remembering.
recallSearch memories by query. Returns relevant memories + your user profile summary.
contextInjects your full profile (preferences, recent activity) into the conversation at start. In Cursor and Claude Code, just type /context.

How it works

Once installed, Supermemory runs in the background:

  1. You talk to your AI normally. Share preferences, mention projects, discuss problems.
  2. Supermemory extracts and stores the important stuff. Facts, preferences, project context — not noise.
  3. Next conversation, your AI already knows you. It recalls what you're working on, how you like things, what you discussed before.

Memory is scoped with projects (container tags) so you can separate work and personal context, or organize by client, repo, or anything else.

Supported clients

Claude Desktop · Cursor · Windsurf · VS Code · Claude Code · OpenCode · OpenClaw · Hermes

The MCP server is open source — view the source.

Manual configuration

Add this to your MCP client config:

{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Build with Supermemory (API)

If you're building AI agents or apps, Supermemory gives you the entire context stack through one API — memory, RAG, user profiles, connectors, and file processing.

Install

npm install supermemory # or: pip install supermemory

Quickstart

importSupermemoryfrom"supermemory";constclient=newSupermemory();// Store a conversationawaitclient.add({content: "User loves TypeScript and prefers functional patterns",containerTag: "user_123",});// Get user profile + relevant memories in one callconst{ profile, searchResults }=awaitclient.profile({containerTag: "user_123",q: "What programming style does the user prefer?",});// profile.static → ["Loves TypeScript", "Prefers functional patterns"]// profile.dynamic → ["Working on API integration"]// searchResults → Relevant memories ranked by similarity
fromsupermemoryimportSupermemoryclient=Supermemory()
client.add(
content="User loves TypeScript and prefers functional patterns",
container_tag="user_123"
)
result=client.profile(container_tag="user_123", q="programming style")
print(result.profile.static) # Long-term factsprint(result.profile.dynamic) # Recent context

Supermemory automatically extracts memories, builds user profiles, and returns relevant context. No embedding pipelines, no vector DB config, no chunking strategies.

Framework integrations

Drop-in wrappers for every major AI framework:

// Vercel AI SDKimport{withSupermemory}from"@supermemory/tools/ai-sdk";constmodel=withSupermemory(openai("gpt-4o"),{containerTag: "user_123",customId: "conv-1"});// Mastraimport{withSupermemory}from"@supermemory/tools/mastra";constagent=newAgent(withSupermemory(config,"user-123",{mode: "full"}));

Vercel AI SDK · LangChain · LangGraph · OpenAI Agents SDK · Mastra · Agno · Claude Memory Tool · n8n

Search modes

// Hybrid (default) — RAG + Memory in one queryconstresults=awaitclient.search({q: "how do I deploy?",containerTag: "user_123",searchMode: "hybrid",});// Returns deployment docs (RAG) + user's deploy preferences (Memory)// Memories onlyconstresults=awaitclient.search({q: "user preferences",containerTag: "user_123",searchMode: "memories",});

User profiles

Traditional memory relies on search — you need to know what to ask for. Supermemory automatically maintains a profile for every user:

const{ profile }=awaitclient.profile({containerTag: "user_123"});// profile.static → ["Senior engineer at Acme", "Prefers dark mode", "Uses Vim"]// profile.dynamic → ["Working on auth migration", "Debugging rate limits"]

One call. ~50ms. Inject into your system prompt and your agent instantly knows who it's talking to.

Connectors

Auto-sync external data into your knowledge base:

Google Drive · Gmail · Notion · OneDrive · GitHub · Web Crawler

Real-time webhooks. Documents automatically processed, chunked, and searchable.

API at a glance

MethodPurpose
client.add()Store content — text, conversations, URLs, HTML
client.profile()User profile + optional search in one call
client.search()Hybrid search across memories and documents (searchMode)
client.search.documents()Document search with metadata filters (legacy v3 response shape)
client.documents.uploadFile()Upload PDFs, images, videos, code
client.documents.list()List and filter documents
client.settings.update()Configure memory extraction and chunking

Full API reference → supermemory.ai/docs


Supermemory local — run it yourself

State-of-the-art memory, on your machine. One binary. Zero config.

curl -fsSL https://supermemory.ai/install | bash
# or
npx supermemory local
supermemory-server

First boot sets up the embedded Supermemory graph engine, local embeddings, and your credentials, then prints an API key. The full Memory API — documents, memories, user profiles, hybrid search — runs against http://localhost:6767.

constclient=newSupermemory({apiKey: "sm_...",baseURL: "http://localhost:6767",// that's the only change});
  • Bring any model — OpenAI, Anthropic, Gemini, Groq, or any OpenAI-compatible endpoint. An interactive wizard walks you through it on first boot.
  • Embeddings — local Xenova/bge-base-en-v1.5 by default (no API key); optionally OpenAI, Gemini, or Ollama. Same provider stack as cloud.
  • Fully offline if you want — point it at Ollama (gpt-oss:20b works great) and nothing leaves your machine.
  • Your data, one directory — everything lives in ./.supermemory, easy to back up or move.
  • Same API as the platform — prototype locally, ship on the hosted platform by changing baseURL.

Read the self-hosting docs — quickstart, configuration, embeddings, and local vs. Enterprise.


Benchmarks

Supermemory is state of the art across all major AI memory benchmarks:

BenchmarkWhat it measuresResult
LongMemEvalLong-term memory across sessions with knowledge updates#1
LoCoMoFact recall across extended conversations (single-hop, multi-hop, temporal, adversarial)#1
ConvoMemPersonalization and preference learning#1

On LongMemEval, supermemory reaches 95% Recall@15 while adding only ~720 tokens of context — a 99.4% context reduction (99.6% at @10, 99.8% at @5). Recall by category: Knowledge Updates 99%, Assistant recall 100%, User recall 97%, Multi-session 93%, Temporal Reasoning 91%, Preference 90%.

We also built the Supermemory Filesystem (SMFS), which uses 3.0× fewer tokens on Claude (24M vs 72M) and 1.75× fewer on Codex across the 110-question xAFS benchmark. See the full write-ups on our research page.

We also built MemoryBench — an open-source framework for standardized, reproducible benchmarks of memory providers. Compare Supermemory, Mem0, Zep, and others head-to-head:

bun run src/index.ts run -p supermemory -b longmemeval -j gpt-4o -r my-run

Benchmarking your own memory solution

We provide an Agent skill for companies to benchmark their own context and memory solutions against supermemory.

npx skills add supermemoryai/memorybench

Simply run this and do /benchmark-context - Supermemory will automatically do the work for you!


How memory works under the hood

Your app / AI tool
↓
Supermemory
│
├── Memory Engine Extracts facts, tracks updates, resolves contradictions,
│ auto-forgets expired info
├── User Profiles Static facts + dynamic context built from engine, always fresh
├── Hybrid Search RAG + Memory in one query
├── Connectors Real-time sync from Google Drive, Gmail, Notion, GitHub...
└── File Processing PDFs, images, videos, code → searchable chunks

Memory is not RAG. RAG retrieves document chunks — stateless, same results for everyone. Memory extracts and tracks facts about users over time. It understands that "I just moved to SF" supersedes "I live in NYC." Supermemory runs both together by default, so you get knowledge base retrieval and personalized context in every query. Read more about this here - https://supermemory.ai/docs/concepts/memory-vs-rag

Automatic forgetting. Supermemory knows when memories become irrelevant. Temporary facts ("I have an exam tomorrow") expire after the date passes. Contradictions are resolved automatically. Noise never becomes permanent memory.


Links


Give your AI a memory. It's about time..

About

Memory and context engine + app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Supermemory

State-of-the-art memory and context engine for AI. And yes - you can use it as a company/personal brain.

Docs · Quickstart · Self-host · Dashboard · Discord

npmpypidocs

English · 简体中文

#1 on every major AI memory benchmark — LongMemEval, LoCoMo, and ConvoMem.
95% Recall@15 with a 99.4% context reduction · ~50ms user profiles.
Read the research →


Supermemory is the memory and context layer for AI. #1 on LongMemEval, LoCoMo, and ConvoMem — the three major benchmarks for AI memory.

We are a research lab building the engine, plugins and tools around it.

Your AI forgets everything between conversations. Supermemory fixes that.

It automatically learns from conversations, extracts facts, builds user profiles, handles knowledge updates and contradictions, forgets expired information, and delivers the right context at the right time. Full RAG, connectors, file processing — the entire context stack, one system.

🧠 MemoryExtracts facts from conversations. Handles temporal changes, contradictions, and automatic forgetting.
👤 User ProfilesAuto-maintained user context — stable facts + recent activity. One call, ~50ms.
🔍 Hybrid SearchRAG + Memory in a single query. Knowledge base docs and personalized context together.
🔌 ConnectorsGoogle Drive · Gmail · Notion · OneDrive · GitHub — auto-sync with real-time webhooks.
📄 Multi-modal ExtractorsPDFs, images (OCR), videos (transcription), code (AST-aware chunking). Upload and it works.

All of this is in our single memory structure and ontology.

image

Use Supermemory

🧑‍💻 I use AI tools

Build your own personal supermemory by using our app. Builds persistent memory graph across every conversation.

Your AI remembers your preferences, projects, past discussions — and gets smarter over time.

→ Jump to User setup

🔧 I'm building AI products

Add memory, RAG, user profiles, and connectors to your agents and apps with a single API.

No vector DB config. No embedding pipelines. No chunking strategies.

→ Jump to developer quickstart

🖥️ I want to run it myself

State-of-the-art memory, on your machine. One binary. Zero config. Bring any model — or run fully offline with Ollama.

curl -fsSL https://supermemory.ai/install | bash

→ Jump to Supermemory local


Give your AI memory

The Supermemory App, browser extension, plugins and MCP server gives any compatible AI assistant persistent memory. One install, and your AI remembers you.

The app

You can use supermemory without any code, by using our consumer-facing app for free.

Start at https://app.supermemory.ai

image

It also comes with an agent embedded inside, which we call Nova.

Supermemory Plugins

Supermemory comes built with Plugins for Claude Code, OpenCode, OpenClaw, and Hermes.

image

These plugins are implementations of the supermemory API, and they are open source!

You can find them here:

MCP

Server URL:

https://mcp.supermemory.ai/mcp
{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Read more about our MCP here - https://supermemory.ai/docs/supermemory-mcp/mcp

What your AI gets

ToolWhat it does
memorySave or forget information. Your AI calls this automatically when you share something worth remembering.
recallSearch memories by query. Returns relevant memories + your user profile summary.
contextInjects your full profile (preferences, recent activity) into the conversation at start. In Cursor and Claude Code, just type /context.

How it works

Once installed, Supermemory runs in the background:

  1. You talk to your AI normally. Share preferences, mention projects, discuss problems.
  2. Supermemory extracts and stores the important stuff. Facts, preferences, project context — not noise.
  3. Next conversation, your AI already knows you. It recalls what you're working on, how you like things, what you discussed before.

Memory is scoped with projects (container tags) so you can separate work and personal context, or organize by client, repo, or anything else.

Supported clients

Claude Desktop · Cursor · Windsurf · VS Code · Claude Code · OpenCode · OpenClaw · Hermes

The MCP server is open source — view the source.

Manual configuration

Add this to your MCP client config:

{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Build with Supermemory (API)

If you're building AI agents or apps, Supermemory gives you the entire context stack through one API — memory, RAG, user profiles, connectors, and file processing.

Install

npm install supermemory # or: pip install supermemory

Quickstart

importSupermemoryfrom"supermemory";constclient=newSupermemory();// Store a conversationawaitclient.add({content: "User loves TypeScript and prefers functional patterns",containerTag: "user_123",});// Get user profile + relevant memories in one callconst{ profile, searchResults }=awaitclient.profile({containerTag: "user_123",q: "What programming style does the user prefer?",});// profile.static → ["Loves TypeScript", "Prefers functional patterns"]// profile.dynamic → ["Working on API integration"]// searchResults → Relevant memories ranked by similarity
fromsupermemoryimportSupermemoryclient=Supermemory()
client.add(
content="User loves TypeScript and prefers functional patterns",
container_tag="user_123"
)
result=client.profile(container_tag="user_123", q="programming style")
print(result.profile.static) # Long-term factsprint(result.profile.dynamic) # Recent context

Supermemory automatically extracts memories, builds user profiles, and returns relevant context. No embedding pipelines, no vector DB config, no chunking strategies.

Framework integrations

Drop-in wrappers for every major AI framework:

// Vercel AI SDKimport{withSupermemory}from"@supermemory/tools/ai-sdk";constmodel=withSupermemory(openai("gpt-4o"),{containerTag: "user_123",customId: "conv-1"});// Mastraimport{withSupermemory}from"@supermemory/tools/mastra";constagent=newAgent(withSupermemory(config,"user-123",{mode: "full"}));

Vercel AI SDK · LangChain · LangGraph · OpenAI Agents SDK · Mastra · Agno · Claude Memory Tool · n8n

Search modes

// Hybrid (default) — RAG + Memory in one queryconstresults=awaitclient.search({q: "how do I deploy?",containerTag: "user_123",searchMode: "hybrid",});// Returns deployment docs (RAG) + user's deploy preferences (Memory)// Memories onlyconstresults=awaitclient.search({q: "user preferences",containerTag: "user_123",searchMode: "memories",});

User profiles

Traditional memory relies on search — you need to know what to ask for. Supermemory automatically maintains a profile for every user:

const{ profile }=awaitclient.profile({containerTag: "user_123"});// profile.static → ["Senior engineer at Acme", "Prefers dark mode", "Uses Vim"]// profile.dynamic → ["Working on auth migration", "Debugging rate limits"]

One call. ~50ms. Inject into your system prompt and your agent instantly knows who it's talking to.

Connectors

Auto-sync external data into your knowledge base:

Google Drive · Gmail · Notion · OneDrive · GitHub · Web Crawler

Real-time webhooks. Documents automatically processed, chunked, and searchable.

API at a glance

MethodPurpose
client.add()Store content — text, conversations, URLs, HTML
client.profile()User profile + optional search in one call
client.search()Hybrid search across memories and documents (searchMode)
client.search.documents()Document search with metadata filters (legacy v3 response shape)
client.documents.uploadFile()Upload PDFs, images, videos, code
client.documents.list()List and filter documents
client.settings.update()Configure memory extraction and chunking

Full API reference → supermemory.ai/docs


Supermemory local — run it yourself

State-of-the-art memory, on your machine. One binary. Zero config.

curl -fsSL https://supermemory.ai/install | bash
# or
npx supermemory local
supermemory-server

First boot sets up the embedded Supermemory graph engine, local embeddings, and your credentials, then prints an API key. The full Memory API — documents, memories, user profiles, hybrid search — runs against http://localhost:6767.

constclient=newSupermemory({apiKey: "sm_...",baseURL: "http://localhost:6767",// that's the only change});
  • Bring any model — OpenAI, Anthropic, Gemini, Groq, or any OpenAI-compatible endpoint. An interactive wizard walks you through it on first boot.
  • Embeddings — local Xenova/bge-base-en-v1.5 by default (no API key); optionally OpenAI, Gemini, or Ollama. Same provider stack as cloud.
  • Fully offline if you want — point it at Ollama (gpt-oss:20b works great) and nothing leaves your machine.
  • Your data, one directory — everything lives in ./.supermemory, easy to back up or move.
  • Same API as the platform — prototype locally, ship on the hosted platform by changing baseURL.

Read the self-hosting docs — quickstart, configuration, embeddings, and local vs. Enterprise.


Benchmarks

Supermemory is state of the art across all major AI memory benchmarks:

BenchmarkWhat it measuresResult
LongMemEvalLong-term memory across sessions with knowledge updates#1
LoCoMoFact recall across extended conversations (single-hop, multi-hop, temporal, adversarial)#1
ConvoMemPersonalization and preference learning#1

On LongMemEval, supermemory reaches 95% Recall@15 while adding only ~720 tokens of context — a 99.4% context reduction (99.6% at @10, 99.8% at @5). Recall by category: Knowledge Updates 99%, Assistant recall 100%, User recall 97%, Multi-session 93%, Temporal Reasoning 91%, Preference 90%.

We also built the Supermemory Filesystem (SMFS), which uses 3.0× fewer tokens on Claude (24M vs 72M) and 1.75× fewer on Codex across the 110-question xAFS benchmark. See the full write-ups on our research page.

We also built MemoryBench — an open-source framework for standardized, reproducible benchmarks of memory providers. Compare Supermemory, Mem0, Zep, and others head-to-head:

bun run src/index.ts run -p supermemory -b longmemeval -j gpt-4o -r my-run

Benchmarking your own memory solution

We provide an Agent skill for companies to benchmark their own context and memory solutions against supermemory.

npx skills add supermemoryai/memorybench

Simply run this and do /benchmark-context - Supermemory will automatically do the work for you!


How memory works under the hood

Your app / AI tool
↓
Supermemory
│
├── Memory Engine Extracts facts, tracks updates, resolves contradictions,
│ auto-forgets expired info
├── User Profiles Static facts + dynamic context built from engine, always fresh
├── Hybrid Search RAG + Memory in one query
├── Connectors Real-time sync from Google Drive, Gmail, Notion, GitHub...
└── File Processing PDFs, images, videos, code → searchable chunks

Memory is not RAG. RAG retrieves document chunks — stateless, same results for everyone. Memory extracts and tracks facts about users over time. It understands that "I just moved to SF" supersedes "I live in NYC." Supermemory runs both together by default, so you get knowledge base retrieval and personalized context in every query. Read more about this here - https://supermemory.ai/docs/concepts/memory-vs-rag

Automatic forgetting. Supermemory knows when memories become irrelevant. Temporary facts ("I have an exam tomorrow") expire after the date passes. Contradictions are resolved automatically. Noise never becomes permanent memory.


Links


Give your AI a memory. It's about time..

About

Memory and context engine + app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Supermemory

State-of-the-art memory and context engine for AI. And yes - you can use it as a company/personal brain.

Docs · Quickstart · Self-host · Dashboard · Discord

npmpypidocs

English · 简体中文

#1 on every major AI memory benchmark — LongMemEval, LoCoMo, and ConvoMem.
95% Recall@15 with a 99.4% context reduction · ~50ms user profiles.
Read the research →


Supermemory is the memory and context layer for AI. #1 on LongMemEval, LoCoMo, and ConvoMem — the three major benchmarks for AI memory.

We are a research lab building the engine, plugins and tools around it.

Your AI forgets everything between conversations. Supermemory fixes that.

It automatically learns from conversations, extracts facts, builds user profiles, handles knowledge updates and contradictions, forgets expired information, and delivers the right context at the right time. Full RAG, connectors, file processing — the entire context stack, one system.

🧠 MemoryExtracts facts from conversations. Handles temporal changes, contradictions, and automatic forgetting.
👤 User ProfilesAuto-maintained user context — stable facts + recent activity. One call, ~50ms.
🔍 Hybrid SearchRAG + Memory in a single query. Knowledge base docs and personalized context together.
🔌 ConnectorsGoogle Drive · Gmail · Notion · OneDrive · GitHub — auto-sync with real-time webhooks.
📄 Multi-modal ExtractorsPDFs, images (OCR), videos (transcription), code (AST-aware chunking). Upload and it works.

All of this is in our single memory structure and ontology.

image

Use Supermemory

🧑‍💻 I use AI tools

Build your own personal supermemory by using our app. Builds persistent memory graph across every conversation.

Your AI remembers your preferences, projects, past discussions — and gets smarter over time.

→ Jump to User setup

🔧 I'm building AI products

Add memory, RAG, user profiles, and connectors to your agents and apps with a single API.

No vector DB config. No embedding pipelines. No chunking strategies.

→ Jump to developer quickstart

🖥️ I want to run it myself

State-of-the-art memory, on your machine. One binary. Zero config. Bring any model — or run fully offline with Ollama.

curl -fsSL https://supermemory.ai/install | bash

→ Jump to Supermemory local


Give your AI memory

The Supermemory App, browser extension, plugins and MCP server gives any compatible AI assistant persistent memory. One install, and your AI remembers you.

The app

You can use supermemory without any code, by using our consumer-facing app for free.

Start at https://app.supermemory.ai

image

It also comes with an agent embedded inside, which we call Nova.

Supermemory Plugins

Supermemory comes built with Plugins for Claude Code, OpenCode, OpenClaw, and Hermes.

image

These plugins are implementations of the supermemory API, and they are open source!

You can find them here:

MCP

Server URL:

https://mcp.supermemory.ai/mcp
{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Read more about our MCP here - https://supermemory.ai/docs/supermemory-mcp/mcp

What your AI gets

ToolWhat it does
memorySave or forget information. Your AI calls this automatically when you share something worth remembering.
recallSearch memories by query. Returns relevant memories + your user profile summary.
contextInjects your full profile (preferences, recent activity) into the conversation at start. In Cursor and Claude Code, just type /context.

How it works

Once installed, Supermemory runs in the background:

  1. You talk to your AI normally. Share preferences, mention projects, discuss problems.
  2. Supermemory extracts and stores the important stuff. Facts, preferences, project context — not noise.
  3. Next conversation, your AI already knows you. It recalls what you're working on, how you like things, what you discussed before.

Memory is scoped with projects (container tags) so you can separate work and personal context, or organize by client, repo, or anything else.

Supported clients

Claude Desktop · Cursor · Windsurf · VS Code · Claude Code · OpenCode · OpenClaw · Hermes

The MCP server is open source — view the source.

Manual configuration

Add this to your MCP client config:

{
"mcpServers": {
"supermemory": {
"url": "https://mcp.supermemory.ai/mcp"
}
}
}

Build with Supermemory (API)

If you're building AI agents or apps, Supermemory gives you the entire context stack through one API — memory, RAG, user profiles, connectors, and file processing.

Install

npm install supermemory # or: pip install supermemory

Quickstart

importSupermemoryfrom"supermemory";constclient=newSupermemory();// Store a conversationawaitclient.add({content: "User loves TypeScript and prefers functional patterns",containerTag: "user_123",});// Get user profile + relevant memories in one callconst{ profile, searchResults }=awaitclient.profile({containerTag: "user_123",q: "What programming style does the user prefer?",});// profile.static → ["Loves TypeScript", "Prefers functional patterns"]// profile.dynamic → ["Working on API integration"]// searchResults → Relevant memories ranked by similarity
fromsupermemoryimportSupermemoryclient=Supermemory()
client.add(
content="User loves TypeScript and prefers functional patterns",
container_tag="user_123"
)
result=client.profile(container_tag="user_123", q="programming style")
print(result.profile.static) # Long-term factsprint(result.profile.dynamic) # Recent context

Supermemory automatically extracts memories, builds user profiles, and returns relevant context. No embedding pipelines, no vector DB config, no chunking strategies.

Framework integrations

Drop-in wrappers for every major AI framework:

// Vercel AI SDKimport{withSupermemory}from"@supermemory/tools/ai-sdk";constmodel=withSupermemory(openai("gpt-4o"),{containerTag: "user_123",customId: "conv-1"});// Mastraimport{withSupermemory}from"@supermemory/tools/mastra";constagent=newAgent(withSupermemory(config,"user-123",{mode: "full"}));

Vercel AI SDK · LangChain · LangGraph · OpenAI Agents SDK · Mastra · Agno · Claude Memory Tool · n8n

Search modes

// Hybrid (default) — RAG + Memory in one queryconstresults=awaitclient.search({q: "how do I deploy?",containerTag: "user_123",searchMode: "hybrid",});// Returns deployment docs (RAG) + user's deploy preferences (Memory)// Memories onlyconstresults=awaitclient.search({q: "user preferences",containerTag: "user_123",searchMode: "memories",});

User profiles

Traditional memory relies on search — you need to know what to ask for. Supermemory automatically maintains a profile for every user:

const{ profile }=awaitclient.profile({containerTag: "user_123"});// profile.static → ["Senior engineer at Acme", "Prefers dark mode", "Uses Vim"]// profile.dynamic → ["Working on auth migration", "Debugging rate limits"]

One call. ~50ms. Inject into your system prompt and your agent instantly knows who it's talking to.

Connectors

Auto-sync external data into your knowledge base:

Google Drive · Gmail · Notion · OneDrive · GitHub · Web Crawler

Real-time webhooks. Documents automatically processed, chunked, and searchable.

API at a glance

MethodPurpose
client.add()Store content — text, conversations, URLs, HTML
client.profile()User profile + optional search in one call
client.search()Hybrid search across memories and documents (searchMode)
client.search.documents()Document search with metadata filters (legacy v3 response shape)
client.documents.uploadFile()Upload PDFs, images, videos, code
client.documents.list()List and filter documents
client.settings.update()Configure memory extraction and chunking

Full API reference → supermemory.ai/docs


Supermemory local — run it yourself

State-of-the-art memory, on your machine. One binary. Zero config.

curl -fsSL https://supermemory.ai/install | bash
# or
npx supermemory local
supermemory-server

First boot sets up the embedded Supermemory graph engine, local embeddings, and your credentials, then prints an API key. The full Memory API — documents, memories, user profiles, hybrid search — runs against http://localhost:6767.

constclient=newSupermemory({apiKey: "sm_...",baseURL: "http://localhost:6767",// that's the only change});
  • Bring any model — OpenAI, Anthropic, Gemini, Groq, or any OpenAI-compatible endpoint. An interactive wizard walks you through it on first boot.
  • Embeddings — local Xenova/bge-base-en-v1.5 by default (no API key); optionally OpenAI, Gemini, or Ollama. Same provider stack as cloud.
  • Fully offline if you want — point it at Ollama (gpt-oss:20b works great) and nothing leaves your machine.
  • Your data, one directory — everything lives in ./.supermemory, easy to back up or move.
  • Same API as the platform — prototype locally, ship on the hosted platform by changing baseURL.

Read the self-hosting docs — quickstart, configuration, embeddings, and local vs. Enterprise.


Benchmarks

Supermemory is state of the art across all major AI memory benchmarks:

BenchmarkWhat it measuresResult
LongMemEvalLong-term memory across sessions with knowledge updates#1
LoCoMoFact recall across extended conversations (single-hop, multi-hop, temporal, adversarial)#1
ConvoMemPersonalization and preference learning#1

On LongMemEval, supermemory reaches 95% Recall@15 while adding only ~720 tokens of context — a 99.4% context reduction (99.6% at @10, 99.8% at @5). Recall by category: Knowledge Updates 99%, Assistant recall 100%, User recall 97%, Multi-session 93%, Temporal Reasoning 91%, Preference 90%.

We also built the Supermemory Filesystem (SMFS), which uses 3.0× fewer tokens on Claude (24M vs 72M) and 1.75× fewer on Codex across the 110-question xAFS benchmark. See the full write-ups on our research page.

We also built MemoryBench — an open-source framework for standardized, reproducible benchmarks of memory providers. Compare Supermemory, Mem0, Zep, and others head-to-head:

bun run src/index.ts run -p supermemory -b longmemeval -j gpt-4o -r my-run

Benchmarking your own memory solution

We provide an Agent skill for companies to benchmark their own context and memory solutions against supermemory.

npx skills add supermemoryai/memorybench

Simply run this and do /benchmark-context - Supermemory will automatically do the work for you!


How memory works under the hood

Your app / AI tool
↓
Supermemory
│
├── Memory Engine Extracts facts, tracks updates, resolves contradictions,
│ auto-forgets expired info
├── User Profiles Static facts + dynamic context built from engine, always fresh
├── Hybrid Search RAG + Memory in one query
├── Connectors Real-time sync from Google Drive, Gmail, Notion, GitHub...
└── File Processing PDFs, images, videos, code → searchable chunks

Memory is not RAG. RAG retrieves document chunks — stateless, same results for everyone. Memory extracts and tracks facts about users over time. It understands that "I just moved to SF" supersedes "I live in NYC." Supermemory runs both together by default, so you get knowledge base retrieval and personalized context in every query. Read more about this here - https://supermemory.ai/docs/concepts/memory-vs-rag

Automatic forgetting. Supermemory knows when memories become irrelevant. Temporary facts ("I have an exam tomorrow") expire after the date passes. Contradictions are resolved automatically. Noise never becomes permanent memory.


Links


Give your AI a memory. It's about time..

About

Memory and context engine + app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages