Skip to main content
Glama

claude-memory-fts

用于 Claude Code 的长期记忆 MCP 服务器。将事实存储在本地 SQLite 数据库中,支持混合搜索(FTS5 + 语义向量相似度)和自动上下文注入。

功能特性

  • 混合搜索 — FTS5 关键词搜索 + 语义向量相似度,通过倒数排名融合 (RRF) 合并结果

  • 语义理解 — 按含义而非仅按关键词查找记忆(由 all-MiniLM-L6-v2 嵌入模型驱动)

  • 自动上下文注入 — 通过钩子将最重要的 30 条记忆自动注入到每个提示词中

  • 重要性排名 — 根据访问频率、近期衰减和类别权重对事实进行排名

  • 访问跟踪 — 跟踪每条记忆的访问频率

  • 更新 (Upsert) — 自动更新现有事实而非重复添加

  • 分类管理 — 按类型组织:偏好、决策、技术、项目、工作流、个人、常规

  • MCP 资源 — 为会话上下文提供 memory://context 资源

  • 零配置 — 开箱即用,数据存储在 ~/.claude/memory.db

安装

# Add to Claude Code
claude mcp add memory -- npx claude-memory-fts

# Auto-configure context injection hook (recommended)
npx claude-memory-fts --setup-hook

--setup-hook 命令会自动执行以下操作:

  1. 创建 ~/.claude/scripts/memory-context.sh

  2. UserPromptSubmit 钩子添加到 ~/.claude/settings.json

  3. 自动将最重要的 30 条记忆注入到每个提示词中

CLI 命令

命令

描述

npx claude-memory-fts

启动 MCP 服务器(供 Claude Code 使用)

npx claude-memory-fts --context

输出最重要的 30 条事实(供钩子脚本使用)

npx claude-memory-fts --setup-hook

自动配置上下文注入钩子

配置

环境变量

默认值

描述

MEMORY_DB_PATH

~/.claude/memory.db

SQLite 数据库文件的路径

自定义路径示例:

claude mcp add memory -e MEMORY_DB_PATH=/path/to/my/memory.db -- npx claude-memory-fts

工具

memory_save

将事实保存到长期记忆中。

参数

类型

必填

描述

fact

string

要记忆的信息

category

string

以下之一:preference, decision, personal, technical, project, workflow, general

混合搜索:并行运行 FTS5 和语义搜索,并使用 RRF 合并结果。如果未找到,则回退到 LIKE 进行部分匹配。

参数

类型

必填

描述

keyword

string

搜索关键词或短语

limit

number

最大结果数(默认:10)

memory_update

按 ID 更新记忆的内容或类别。

参数

类型

必填

描述

id

number

记忆 ID

fact

string

新内容(省略则保持不变)

category

string

新类别(省略则保持不变)

memory_list

列出所有按类别分组的已保存记忆。

参数

类型

必填

描述

category

string

按类别过滤

limit

number

最大结果数(默认:50)

memory_delete

按 ID 删除记忆。

参数

类型

必填

描述

id

number

记忆 ID

资源

memory://context

MCP 资源,公开按重要性评分排名的前 30 条事实:

  • 访问频率 — 频繁访问的事实得分更高(上限为 20 分)

  • 近期性 — 最近更新的事实得分更高(10 分,90 天内衰减)

  • 类别权重 — 偏好/决策 (3),工作流/技术 (2),项目/个人 (1),常规 (0)

工作原理

搜索流水线

  1. FTS5 + BM25语义向量相似度 并行运行

  2. 使用 倒数排名融合 (RRF) (k=60) 合并并去重结果

  3. 同时出现在两个列表中的事实会获得自然提升

  4. 如果两者均返回空,则回退到 LIKE 子字符串匹配

  5. 每次搜索命中都会跟踪访问计数

嵌入模型

  • 模型:all-MiniLM-L6-v2 (384 维,约 23MB)

  • 通过 @xenova/transformers 在本地生成 — 无需 API 调用,数据不会离开您的机器

  • 嵌入在保存时创建,并在服务器启动时回填

  • 使用 0.3 阈值的余弦相似度来过滤噪声

存储

  • 带有 WAL 模式的 SQLite,实现快速并发读写

  • FTS5 虚拟表通过触发器同步,实现实时全文索引

  • 嵌入作为 BLOB 列与事实一起存储

开发

git clone https://github.com/kurovu146/claude-memory-mcp.git
cd claude-memory-mcp
npm install
npm run build
npm test

许可证

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kurovu146/claude-memory-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server