mem0-mcp-selfhosted 是一个面向 Claude Code 的自托管 mem0 MCP 服务器项目,目的是让 Claude Code 在自建的 Qdrant 向量存储、Neo4j 图存储和 Ollama 嵌入模型之上运行一套完整的记忆服务,主 LLM 可选择 Anthropic(Claude)或 Ollama。
用途方面,该项目为 Claude Code 提供跨会话记忆:在会话启动时注入相关记忆,在会话结束时保存摘要,并允许 Claude 在会话过程中主动搜索和保存记忆。
主要能力包括:直接以库的形式使用 mem0ai 包;支持 Claude 的 OAT 令牌和完全本地化的 Ollama 两种主 LLM 选择;对外暴露 11 个 MCP 工具(其中 9 个为核心记忆工具)用于完整的记忆管理;注册 memory_assistant MCP 提示,为 Claude 提供使用记忆工具的快速入门指南。默认基础设施为 localhost:6333 上的 Qdrant、localhost:11434 上的 Ollama 嵌入模型(bge-m3,1024 维)。
使用方式方面,要求 Python >= 3.10 和 uv。默认(Anthropic)配置下,将 MCP 服务器全局添加后,所有默认值开箱即用,uvx 会自动在隔离环境中下载、安装并运行服务器,Claude Code 在 MCP 连接启动时按需拉起。服务器会自动从 ~/.claude/.credentials.json 读取 OAT 令牌,无需手动配置。完全本地(Ollama)配置下,设置 MEM0_PROVIDER=ollama 可同时作用于主 LLM 和图 LLM 提供方,仍然使用相同的基础设施默认值,各服务的覆盖项(如 MEM0_LLM_URL、MEM0_EMBED_URL)仍然可用。也可以通过在项目根目录创建 .mcp.json 将其添加到单个项目。所有配置均通过环境变量完成,可创建 .env 文件或在 MCP 配置中设置。
CLAUDE.md 集成和 Claude Code Hooks 提供了互补的记忆行为层:CLAUDE.md 规则告诉 Claude 如何在会话中主动使用记忆工具;Hooks 则在会话边界自动注入和保存记忆,无需手动工具调用。两个 Hook 均为非致命性的,若 mem0 不可达或发生错误,Claude Code 会正常继续。安装 Hooks 可将 hook 条目添加到 .claude/settings.json,安装器是幂等的。会话启动时,context Hook 使用两个查询搜索 mem0,按记忆 ID 去重,并以编号行形式注入;会话停止时,stop Hook 读取 JSONL 转录,提取最后 6 条用户/助手消息,构建摘要提示并调用 memory.add(infer=True) 抽取原子事实,Hook 中强制禁用图以保持在 15s/30s 超时预算内。
鉴权方面,服务器按优先级回退链解析 Anthropic 令牌;在 Claude Code 中,凭据文件方式始终优先于 ANTHROPIC_API_KEY。OAT 令牌使用 Claude 订阅,服务器会自动检测令牌类型并配置 SDK,并在到期前主动刷新(默认 30 分钟);认证失败时启动三步防御策略。API 密钥使用标准按量计费。
图记忆相关:图记忆默认禁用(MEM0_ENABLE_GRAPH=false)以保护 Claude 配额,每次启用图的 add_memory 会触发 3 次额外 LLM 调用(实体抽取、关系生成、冲突解决)。可使用本地 Ollama 模型(如 Qwen3:14b)或 Gemini 来消除 Claude 配额消耗,也可使用 gemini_split 提供方按操作路由图管线调用以兼顾准确率。
运行模式方面,面向远程部署时,MCP SDK >= 1.23.0 默认启用 DNS 重绑定保护。测试分为单元测试、契约测试(验证对 mem0ai 内部假设)和集成测试(针对真实基础设施)。所有 mem0ai 遥测均被抑制,在包导入时即设置 MEM0_TELEMETRY=false,不会发送 PostHog 事件。
限制与未提供信息:资料未提供具体价格、收费方案、性能指标或支持的平台列表等细节。