DeepMem
概览
作者提供的说明(英文原文)
Mem0-compatible persistent memory for AI agents: write facts once, recall them semantically.
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i1 项中通过 1 项依据公开信息检查;尚未扫描代码
- 使用情况i非常新★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在云端运行
- 传输方式: Streamable HTTP
- 分类: 搜索与 AI 记忆
- 你需要填写:Authorization
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:1 项中通过 1 项
- 在作者的服务器上运行:你向它提出的内容会经过他们的服务器。
- 需要你自己填写:
Authorization
标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
- 在云端运行无需安装任何东西,通过互联网连接
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http deepmem https://deepmem.dev/mcp --header 'Authorization: your-value'运行前请先填写空着的值。
或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"deepmem": {
"url": "https://deepmem.dev/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"deepmem": {
"type": "http",
"url": "https://deepmem.dev/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
需要你填写的值
Authorization机密 必填 HTTP headerAPI key from https://deepmem.dev (starts with dm_live_). Send as 'Bearer '.
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
- ✓ 通过
作者与仓库一致
注册名称已通过 GitHub 账户 deepmemteam 验证,该账户拥有此仓库
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
端点有响应
尚未检查;我们会轮流检查各个端点
- … 尚未检查
使用 OAuth 登录
尚未检查;我们会轮流检查各个端点
- … 尚未检查
工具描述中没有隐藏指令
尚未检查;我们会在检查端点时读取工具列表
与“搜索与 AI 记忆”中的其他服务器比较i
- 星标数多于此分类中其他 5717 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 5717 个服务器的 32% 更新
- 基础检查结果等于或优于此分类中其他 5717 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
DeepMem 安全吗?
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
你需要填写:Authorization
它在我的电脑上运行还是在云端?
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(0.1.0)于3个月前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
有什么可以替代它?
同一分类中有:Context7, Codebase Memory, Exa
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
DeepMem Drop-in AI memory layer with 2× faster response and 10× lower cost.
Fully compatible with Mem0 API. Migrate in 5 minutes - one import line. Self-hostable. No auth, no payment, no lock-in. Or use the managed cloud at deepmem.dev .
Cloud · Self-host · Benchmarks · Reproduce them
Migrate from Mem0 in one line - same MemoryClient, same method signatures:
# Before - Mem0
from mem0 import MemoryClient client = MemoryClient(api_key="m0-...")
After - DeepMem (only the import changes)
from deepmem import MemoryClient client = MemoryClient(api_key="dm_live-...") # get a key at deepmem.dev
pip install deepmem-client
Turn conversations into searchable long-term memory: a FastAPI HTTP API in front of a Qdrant vector store, with LLM fact extraction, hybrid retrieval (vector + BM25 + entity boost + time-decay), semantic caching, async batched distillation, GDPR controls, and a built-in MCP server. It runs in open mode - no API key, no user registration - so you can deploy it for your own agents in minutes. Multi-tenant isolation is driven by user_id in the request body.
Prefer not to self-host? DeepMem Cloud is the managed version of
this exact engine at [deepmem.dev](https://deepmem.dev) - same API, no
infra. Sign up, grab a key (
dm_live_...), point your base URL at
https://deepmem.dev, done. The cloud and the open-source server speak the
same Mem0-compatible API, so client code is identical.
Migrate from Mem0
Already using Mem0? Switch to DeepMem cloud in one line. The deepmem-client package mirrors mem0.MemoryClient - same class name, same method signatures, same filters={"user_id": ...} style - so everything after the import stays untouched.
pip install deepmem-client
# before (Mem0)
from mem0 import MemoryClient client = MemoryClient(api_key="m0-...") client.add(messages, user_id="alex") client.search("What can Alex cook?", filters={"user_id": "alex"})
after (DeepMem cloud) - change one import line
from deepmem import MemoryClient client = MemoryClient(api_key="dm_live_...") # key at https://deepmem.dev client.add(messages, user_id="alex") # identical calls client.search("What can Alex cook?", filters={"user_id": "alex"})
Behavioral notes
- `add(infer=True)` (the default) is asynchronous on DeepMem cloud - it returns
pending=Truewithresults=[]and extracted facts land a few seconds later. (Mem0 cloud'saddis async too - it returnsPENDING.) Passinfer=Falsefor synchronous raw-text storage that's immediately searchable. - No graph relations - DeepMem uses hybrid vector retrieval (vector + BM25
- time-decay), so
relationsis always[]. Mem0's graph features aren't replicated. - `reset` differs - Mem0's is account-wide; DeepMem's is per-
user_idwith a confirm guard.
Pricing
DeepMem Cloud is 10x cheaper than Mem0 at every paid tier - the same shape of plans, a tenth of the price.
| Tier | DeepMem | Mem0 cloud |
|---|---|---|
| Hobby | Free | Free |
| Starter | $1.9/mo | $19/mo |
| Growth | $7.9/mo | $79/mo |
| Professional | $24.9/mo | $249/mo |
Self-host instead and it's $0 - you pay only your own LLM/embedding provider (the same LLM cost Mem0 charges on top of its plan price), with no memory-service markup. Batched distillation also cuts LLM calls ~80%, so even your provider bill is smaller than per-message extractors.
Plans and limits: deepmem.dev · mem0.ai.
Benchmarks
No cherry-picked headline. The scripts and workload ship in /benchmarks - run them yourself. Here's what we measured and the exact config that produced it:
| Metric | DeepMem self-hosted ¹ | DeepMem cloud | Mem0 cloud |
|---|---|---|---|
| Search p50 | 73 ms | 643 ms | 653 ms |
| Search p95 | 86 ms | 811 ms | 710 ms |
| Search hits (40 queries) | - | 195 | 84 |
| Add p50 (raw store) | 899 ms ² | 792 ms | 695 ms ³ |
¹ BGE-M3 on a GTX 1070 GPU (2016-era), local file Qdrant,
infer=False,
100 ops, concurrency 1. ² Dominated by local-file Qdrant I/O - a Qdrant
server cuts this sharply. ³ Mem0 has no raw-store mode;
addalways runs
LLM extraction, so this row isn't apples-to-apples.
- Self-hosted is where intrinsic latency lives - no internet RTT, your embedder, your Qdrant. 73 ms p50 search on an old consumer GPU.
- DeepMem cloud beats Mem0 cloud on search p50 (643 ms vs 653 ms) and returns ~2.3x more candidates per search (195 vs 84 hits across 40 queries).
- Cloud latency is RTT-dominated - both cloud columns were measured through a proxy from mainland China; run-to-run jitter is ~±10%. Run
/benchmarksfrom a low-RTT location for your own numbers.
Why DeepMem
Agent frameworks keep re-discovering that they need persistent, retrievable memory. The hosted options bill per call and send your data to someone else's cloud. DeepMem is the self-hostable alternative: the same Mem0-shaped API you can drop in, but it runs on your box, with your embedder, your LLM key, and your Qdrant - and the code is right here to verify it.
How does DeepMem compare to other Mem0 alternatives? Most are hosted-only or layer memory on top of someone else's vector DB. DeepMem combines three things at once: it's self-hostable (your data stays on your box - $0 beyond your own LLM key), MCP-native (Claude Desktop / Cursor read and write memories directly as tools), and fully open-source - and the managed cloud runs the exact same engine, so cloud and self-host are one API, not two products.
| Without DeepMem | With DeepMem |
|---|---|
| Re-explain who you are and what you're working on every session | The agent recalls identity, projects, and preferences automatically |
| Lose debugging and research context between sessions | Past root causes, dead ends, and findings are recalled, so work isn't repeated |
| Manually restate preferences every session | Preferences persist across sessions, agents, and projects |
| Hosted memory services that bill per call and hold your data | Self-host on your infra, or use the cloud - your call, same API |
What it is (honestly)
- Hybrid retrieval, not a knowledge graph. Search fuses vector similarity, BM25 keyword match, entity boost, and time-decay scoring. There is no temporal graph layer; if that's what you need, look at Zep.
- Stores preferences, not code dumps. Large fenced code blocks are stripped before LLM extraction, so the store fills with durable user/project facts instead of pasted implementations.
- BYOK, multi-provider. Bring your own LLM (OpenAI / Anthropic / any OpenAI-compatible endpoint) and embedding (BGE-M3 / Google / OpenAI-compatible).
- MCP-native. Ships an MCP server so Claude Desktop / Cursor can read and write memories directly.
Quick start
Three ways to run. All speak the same Mem0-compatible API.
1. Cloud (zero ops)
export DEEPMEM_API_KEY=dm_live_... # from https://deepmem.dev
curl https://deepmem.dev/v1/memories \ -H "Authorization: Bearer $DEEPMEM_API_KEY" -H "Content-Type: application/json" \ -d '{"messages":[{"role":"user","content":"I am Pat, I live in Lisbon."}],"user_id":"pat","infer":false}' curl https://deepmem.dev/v1/memories/search \ -H "Authorization: Bearer $DEEPMEM_API_KEY" -H "Content-Type: application/json" \ -d '{"query":"Where does Pat live?","user_id":"pat"}'
2. Docker (one command)
cp .env.example .env # add an LLM key
docker compose up --build # DeepMem (HTTP :8000 + MCP :8001) + Qdrant sidecar curl http://localhost:8000/health
Or pull the published image:
docker pull langdeepmem/deepmem:latest
docker run -p 8000:8000 -p 8001:8001 -e DEEPSEEK_API_KEY=sk-... langdeepmem/deepmem:latest
The image exposes `:8000` (HTTP) and `:8001` (MCP). The Dockerfile and docker-compose.yml cover the GPU variant (CUDA torch + BGE_DEVICE=cuda) and BGE-M3 model-download options (HF mirror, proxy, or local mount).
3. From source
git clone https://github.com/deepmemteam/deepmem.git && cd deepmem
pip install -r requirements.txt cp .env.example .env # add an LLM key + embedder config python server/start.py # HTTP :8000 + MCP :8001
Write and search in three lines:
import httpx
httpx.post("http://localhost:8000/v1/memories", json={"messages":[{"role":"user","content":"I'm Pat, I live in Lisbon."}], "user_id":"pat"}) print(httpx.post("http://localhost:8000/v1/memories/search", json={"query":"Where does Pat live?","user_id":"pat"}).json()["results"])
user_idis optional (defaults to"default"); send differentuser_ids
to isolate end-users.
infer: falsestores raw text immediately
(test-friendly); the default
infer: truequeues for LLM fact extraction.
Feature highlights
Multi-provider by config, not code. Both layers switch on env vars:
| Layer | Options | Selector |
|---|---|---|
| LLM (fact extraction) | OpenAI · Anthropic (native SDK) · any OpenAI-compatible (DeepSeek / vLLM / Ollama / Groq / LM Studio) | LLM_PROVIDER + LLM_API_KEY / ANTHROPIC_API_KEY / DEEPSEEK_API_KEY |
| Embeddings | BGE-M3 (local, GPU/CPU) · Google Gemini · any OpenAI-compatible | EMBEDDING_PROVIDER + BGE_M3_PATH / GOOGLE_API_KEY / OPENAI_API_KEY |
BGE_DEVICE=auto|cpu|cuda picks GPU when available, else CPU (force cpu on small-VRAM cards to avoid multi-process contention). BYOK overrides the LLM per-request.
Hybrid retrieval. Vector similarity + BM25 keyword + entity boost + time-decay, fused into one score. Over-fetch, re-rank, return.
Async batched distillation. Writes queue behind a silence window and are extracted in batches - ~80% fewer LLM calls than per-message extraction.
Semantic cache. Repeat adds/searches hit a similarity-gated cache and return cached facts without re-embedding or re-querying Qdrant.
Stores preferences, not code. extraction_filter strips large fenced code blocks before LLM extraction, so the store fills with durable facts, not pasted implementations.
MCP server. deepmem_write / deepmem_search / deepmem_delete tools for Claude Desktop, Cursor, and any MCP client.
GDPR. Soft-delete with retention window, hard-delete reset, SHA-256 id masking in logs, export/import for portability.
API
| Method | Path | Description |
|---|---|---|
| POST | /v1/memories | Write messages; LLM-extract facts (infer=false stores raw) |
| POST | /v1/memories/search | Semantic search (vector + BM25 + entity + time-decay) |
| GET | /v1/memories | List all for a user_id (paginated) |
| GET | /v1/memories/{id} | Get one by ID |
| PUT | /v1/memories/{id} | Update one memory's text |
| DELETE | /v1/memories/{id} | Soft-delete one |
| DELETE | /v1/memories | Soft-delete all for a user_id (GDPR) |
| GET | `/v1/
只显示了开头部分;其余内容请在仓库中阅读