这是一个与记忆文本文件交互的 MCP 服务器,旨在帮助 Claude 在聊天过程中保持上下文。每一行记忆文本都代表一段独立的记忆。
本服务器提供了一系列工具,允许 Claude(以及其他 MCP 客户端)在聊天时管理记忆:
memory_add(memory: string)
:用于添加记忆。memory_search(query: string)
:返回匹配的记忆(采用子字符串精确匹配,未来可能支持通配符/正则表达式)。memory_delete(query: string)
:删除匹配的记忆(子字符串精确匹配)。memory_list()
:返回所有记忆。memory_update
相当于 memory_delete
和 memory_add
的组合操作。以下是一些使用示例,展示如何在实际聊天中运用这些记忆管理工具:
python
命令失败,后续使用 python3
成功,Claude 可以记录:"使用 python3,python 不存在"。memory_delete(query: X)
。memory_search("oldname")
查找旧名字的记忆,删除匹配记录,再添加新名字的记忆。当开始新的聊天时,Claude 会自动获取最近的记忆(子集或全部),也可以手动请求记忆(部分、更多或全部),并根据这些记忆影响回应和工具的使用。
采用简单的记忆文本文件,主要基于以下原因:
mcp-server-commands
类似提醒功能的测试中,使用文本文件效果良好(当时 Claude 具备这些功能)。为了让模型知道何时存储记忆,提示机制至关重要。目前有以下几种实现思路:
以下是一些未来可能实现的想法,但不确定是否值得投入时间,列出这些想法也是为了避免自己分心去实现它们: