Show HN: MCP Memory – 使用Google的OKF和SQLite FTS5实现快速Agent记忆
摘要
MCP-Memory是一个开源的MCP服务器,利用Google的Open Knowledge Format和SQLite FTS5为AI代理提供持久记忆,实现快速检索和搜索。
查看缓存全文
缓存时间: 2026/08/13 15:21
fellowgeek/mcp-memory 来源:https://github.com/fellowgeek/mcp-memory
MCP-Memory:OKF 支持的代理记忆服务器
MCP-Memory 是一个模型上下文协议(MCP)服务器,为 AI 代理(如 Claude Desktop、Cursor、Antigravity、Windsurf 或 Codex)提供持久化的长期记忆能力。记忆记录使用 开放知识格式(Open Knowledge Format,OKF v0.2)(https://github.com/GoogleCloudPlatform/knowledge-catalog/blob/main/okf/SPEC.md)标准格式化,并通过本地 SQLite 实例(支持 FTS5 全文搜索)建立索引,以实现快速键值查找、标签过滤和内容搜索。
快速通道: 直接跳转到快速开始
主要特性
- 跨会话持久状态: 使 AI 代理能够读取、存储、搜索和删除有状态的记忆片段,这些记忆可在多次对话轮次和会话之间持久保留。
- OKF 标准合规: 每条记忆项均以 OKF v0.2 Markdown 文档格式存储,包含 YAML frontmatter(
type、key、namespace、tags、generated、sources、verified、status、stale_after),严格遵守SPEC.md和OKF_RULES.md。 - 双层架构:
- 人类可浏览的 OKF 目录:自动将每条记忆以原始
.md文件形式导出并同步到memory/包目录中,并附带层级化的index.md渐进式披露文件(根index.md带有okf_version: "0.2"版本号)以及log.md更新历史追踪。 - 高性能 SQLite 索引:SQLite FTS5(全文搜索)和自动触发器,实现亚 20 毫秒的键查找和即时关键词搜索。
- 人类可浏览的 OKF 目录:自动将每条记忆以原始
- 命名空间隔离: 支持上下文分离(例如
user/preferences、project/architecture、default)。 - 零样板设置: 快速设置向导(
python3 setup.py)可自动配置已安装的 MCP 工具(Antigravity、Claude、Cursor、Windsurf、Codex)。
MCP 工具
服务器向交互式代理提供四个主要的 MCP 工具:
1. memory_store
以 OKF v0.2 格式存储或更新一条记忆记录。
- 参数:
key(字符串,必填):记忆的唯一标识符或路径(例如user/preferences/coding_style或project/architecture)。content(字符串或对象,必填):要存储的核心信息。project_root(字符串,必填):当前活动项目根目录的绝对路径(例如/Users/user/Projects/my-app)。tags(字符串数组,可选):用于过滤的分类标签。namespace(字符串,可选,默认值:"default"):作用域/命名空间。concept_type(字符串,可选,默认值:"Agent Memory"):OKF 概念类型(例如Metric、Playbook、Attested Computation)。title(字符串,可选):显示名称。description(字符串,可选):一行摘要。resource(字符串,可选):底层资产的规范 URI。status(字符串,可选,默认值:"stable"):生命周期状态(draft|stable|deprecated)。stale_after(字符串,可选):ISO 日期(YYYY-MM-DD)。sources(对象数组,可选):来源信息[{resource, id, title, author, usage_count, last_modified}]。verified(对象数组或对象,可选):验证事件[{by, at}]。generated_by(字符串,可选):遵循参与者约定的参与者标识符(/、human:、process:)。
2. memory_retrieve
通过键和命名空间检索特定的记忆。
- 参数:
key(字符串,必填):要查找的记忆键。project_root(字符串,必填):当前活动项目根目录的绝对路径。namespace(字符串,可选,默认值:"default"):作用域/命名空间。
3. memory_search
查找匹配关键词、标签或命名空间过滤条件的记忆。
- 参数:
project_root(字符串,必填):当前活动项目根目录的绝对路径。query(字符串,可选):跨键、frontmatter 和内容的关键词搜索查询。tags(字符串数组,可选):按特定标签过滤。namespace(字符串,可选):将搜索范围限定到某个命名空间。limit(整数,可选,默认值:10):最大结果数量。
5. memory_get_last
代理指令(会话开始): 检索最后记录的会话检查点(system/last_memory),使 AI 代理在打开项目或启动会话时立即知道上次工作停在哪里。
- 参数:
project_root(字符串,必填):当前活动项目根目录的绝对路径。namespace(字符串,可选,默认值:"default"):作用域/命名空间。
6. memory_update_last
代理指令(里程碑与进度): 每当完成里程碑、做出关键更改或暂停工作时,更新规范的会话检查点(system/last_memory)。
- 参数:
content(字符串或对象,必填):简要说明或结构化字典,总结进度并引用关键记忆文件。project_root(字符串,必填):当前活动项目根目录的绝对路径。namespace(字符串,可选,默认值:"default"):作用域/命名空间。summary(字符串,可选):对所达成里程碑的一句话描述。
OKF(开放知识格式)结构
每条存储的记忆都严格遵守 OKF v0.2 规范(SPEC.md 和 OKF_RULES.md):
---
type: Agent Memory
title: Coding Style
key: user/preferences/coding_style
namespace: default
tags:
- preferences
- style
status: stable
generated:
by: mcp-memory/0.2.0
at: '2026-08-12T19:23:35Z'
created_at: '2026-08-12T19:23:35Z'
updated_at: '2026-08-12T19:23:35Z'
---
User prefers functional programming style with explicit type annotations.
快速开始
1. 克隆仓库
git clone https://github.com/fellowgeek/mcp-memory
cd mcp-memory
2. 交互式设置向导
运行 setup.py 以自动检测并将 mcp-memory 注册到你的 AI 工具中:
python3 setup.py
注意: 一旦
setup.py完成工具配置,你的 AI 客户端将在需要时自动在后台启动mcp-memory。你不需要手动启动或保持服务器进程在终端中运行。
3. 通过 CLI 手动运行(可选/调试)
如果你想手动验证启动、检查 stdio 输出,或预初始化虚拟环境(.venv),可以直接运行 run.sh:
./run.sh
手动客户端配置
如果你更倾向于手动配置 MCP 客户端,请添加指向 run.sh 的 "memory" 服务器条目:
JSON 配置(Antigravity、Claude Desktop、Cursor、Windsurf)
添加到客户端的 mcp_config.json 或 claude_desktop_config.json:
{
"mcpServers": {
"memory": {
"command": "/ABSOLUTE/PATH/TO/run.sh"
}
}
}
TOML 配置(Codex Desktop)
添加到 ~/.codex/config.toml:
[mcp_servers.memory]
command = "/ABSOLUTE/PATH/TO/run.sh"
CLI 配置
- Claude Code CLI:
claude mcp add --scope user memory -- /ABSOLUTE/PATH/TO/run.sh
- Codex CLI:
codex mcp add memory -- /ABSOLUTE/PATH/TO/run.sh
测试
运行自动化测试套件以验证 OKF 序列化、SQLite 数据库操作和 FastMCP 工具执行:
python3 test_memory.py
存储与环境变量
默认情况下,mcp-memory 会在每个项目的根目录内创建项目隔离的记忆存储:
- OKF Markdown 文件(人类可读):项目根目录下的
memory/文件夹。 - SQLite 数据库(隐藏索引):项目根目录下的
.mcp_memory/memories.db。
你可以使用环境变量自定义此行为:
MCP_MEMORY_PROJECT_ROOT:项目根目录(默认值:进程当前工作目录cwd)。MCP_MEMORY_DB_PATH:SQLite 数据库文件路径(默认值:相对于项目根目录的.mcp_memory/memories.db)。MCP_MEMORY_DIR:开放知识格式(OKF).md文件的目录(默认值:相对于项目根目录的memory)。
提示: 如果你更倾向于在所有项目之间共享一个全局记忆存储,可以在客户端的 MCP 配置中设置
MCP_MEMORY_DB_PATH=~/.mcp_memory/memories.db和MCP_MEMORY_DIR=~/.mcp_memory/memory。
相似文章
rohitg00/agentmemory
agentmemory 是一个开源的持久化记忆层,专为 AI 编程智能体(Claude Code、Cursor、Gemini CLI、Codex CLI 等)设计。它通过知识图谱、置信度评分和混合搜索技术,借助 MCP、Hooks 或 REST API,为智能体提供跨会话的长期记忆能力。该项目基于 iii 引擎构建,无需外部数据库,提供 51 个 MCP 工具。
我通过MCP给我的AI代理带来了共享内存——方法如下
Nexus Memory 是一个原生 MCP 的内存服务器,允许 AI 代理通过统一协议共享上下文,实现跨不同代理的持久化、协调一致的内存,无需自定义集成。
DeusData/codebase-memory-mcp
Codebase-memory-mcp 是一个面向 AI 编码代理的超快速代码智能引擎,能够在毫秒内索引整个代码库,并借助 tree-sitter AST 分析和持久化知识图谱在 1 毫秒内回答结构查询,支持 158 种语言和 14 个 MCP 工具。
我构建了一个开源MCP服务器,为AI智能体提供视频持久记忆
一位开发者介绍了Watch Skill,这是一个开源MCP服务器,通过创建本地索引(包括转录文本、OCR和视觉观察)为AI智能体提供视频持久记忆,以实现高效检索。
Show HN: PMB – 本地内存系统,用于显示编码代理是否使用它
PMB 是一种本地优先的内存系统,专为 AI 编码代理设计,可将决策、经验教训和项目事实存储在磁盘上的 SQLite 文件中。它通过 MCP 与 Claude Code、Cursor、Codex 和 Zed 集成,无需依赖云端即可快速召回信息。