关于 memex
memex 是面向 Claude Code 的本地会话记忆 MCP 服务,用 SQLite 按项目保存结构化工作记录,并在新会话开始时提供近期及相关内容。它不使用云端或 LLM 提取。
主要功能
- 01按项目保存结构化会话记录
- 02自动加载近期及匹配记录
- 03支持全文搜索与标签筛选
- 04导出带关联链接的 Markdown
适用场景
- 01在新会话恢复上次工作的背景
- 02查找特定文件或主题的历史记录
- 03将项目记忆导出为可浏览笔记
MCP 相关
提供 `mem_load`、`mem_save`、`mem_update`、`mem_search`、`mem_list` 和 `mem_delete` 六个工具,供 Claude Code 加载和管理项目会话记忆。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
memex
每次 Claude Code 会话开始时,都不知道你上次做了什么——改了哪些文件、做了哪些决定、出了什么问题。你得重新解释,Claude 得重新阅读,一切又得从头开始。
memex 会为每次会话保存结构化日志。Claude 会在下一次会话开始时读取这些日志。
无需云服务。无需大模型提取。每次保存都不收费。只需使用本地 SQLite 和一条安装命令。
安装
# with uv
uvx mcp-memex install
# with pip
pip install mcp-memex
memex install
重启 Claude Code。就这么简单。
保存的内容
每条记录都有结构,而不是一大段文本:
mem_save(
task="Replaced JWT auth with session cookies",
files=["src/auth.py", "src/middleware.py"],
decisions=["Session cookies over JWT - simpler, no token refresh needed"],
warnings=["Redis required - app won't start without REDIS_URL set"],
tags=["auth", "sessions"]
)
Claude 在完成有意义的工作后会调用 mem_save。你也可以直接告诉它:“保存我们刚才做的事。”
Claude 在会话开始时看到的内容
=== memex: session context (db: my_project.db) ===
--- Recent (2) ---
[1] #4 - 2026-06-14T10:32
Task : Replaced JWT auth with session cookies
Files : src/auth.py, src/middleware.py
Decision : Session cookies over JWT - simpler, no token refresh needed
Warning : Redis required - app won't start without REDIS_URL set
Tags : auth, sessions
[2] #3 - 2026-06-13T15:10
Task : Added rate limiting to /api/login
Files : src/middleware.py
Warning : Rate limiter is in-memory per process - resets on restart
Tags : auth, rate-limiting
Claude 会在每次会话开始时自动调用 mem_load。它会返回最近的记录,以及与当前工作相关的记录——通过关键词和文件路径匹配。
在终端中浏览
查看历史记录不必进入 Claude:
memex status # entry count, DB size, top tags
memex list # recent entries for this project
memex list --tag auth # filter by tag
memex list --since 7d # entries from the last 7 days
memex list --since 2026-06-01 --until 2026-06-15 # date range
memex search "rate limit" # full-text search
memex version # print installed version
导出为 Markdown
将历史记录转换为可移植、便于浏览的笔记——每条记录对应一个 .md 文件,并通过 [[wikilinks]] 关联相关记录和文件,还会附上 #hashtags。适用于 Obsidian 或任何支持 [[links]] 的工具:
memex export ./my-project-notes/
共享标签或涉及文件的记录会在 相关内容 部分相互链接,让你能以图谱的形式浏览项目历史。
六种 MCP 工具
| 工具 | 功能 |
|---|---|
mem_load | 在会话开始时调用——返回最近的记录和相关记录 |
mem_save | 在完成有意义的工作后保存结构化记录 |
mem_update | 修改现有记录的特定字段(保留 ID 和时间戳) |
mem_search | 在所有记录中进行全文搜索 |
mem_list | 列出记录,可按标签筛选 |
mem_delete | 根据 ID 删除过时的记录 |
为什么不直接用 CLAUDE.md?
CLAUDE.md 用于记录静态项目文档——架构、约定、如何运行测试。它不会经常变化,也不会感知会话。
memex 会记录每次会话之间的变化:昨天构建了什么、今天早上做了什么决定、一小时前发现了什么警告。这就是“项目是什么”和“上次发生了什么”之间的区别。
memex install 会将 Claude 的指令写入 .claude/CLAUDE.local.md——Claude Code 会自动加载此文件,不会改动项目自己的 CLAUDE.md。
记忆按项目隔离
每个项目都会根据工作目录,在 ~/.memex/<project>.db 中拥有自己的 SQLite 数据库。不同项目的会话记录绝不会混在一起。
配置
如果需要覆盖默认值,请在 ~/.claude.json 的 MCP env 块中设置以下变量:
| 变量 | 默认值 | 说明 |
|---|---|---|
MEMEX_DIR | ~/.memex | 数据库的存储位置 |
MEMEX_GLOBAL | 0 | 设为 1 可让所有项目共用一个数据库 |
MEMEX_RECENT | 5 | 每次会话加载的最近记录数量上限 |
MEMEX_MATCHED | 5 | 每次会话加载的全文搜索匹配记录数量上限 |
卸载
memex remove
pip uninstall mcp-memex
记忆数据库会保留在 ~/.memex/ 中——如需清除所有内容,请手动删除该目录。
要求
- Python 3.10+
mcp包(自动安装)- 支持 FTS5 的 SQLite(自 Python 3.8 起为标准配置)
- Claude Code CLI
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。