使用说明
项目简介
Memory Plugin (SQLite) 是一个 MCP (Model Context Protocol) 服务器插件,旨在为大型语言模型 (LLM) 提供持久化的记忆存储和检索能力。它使用轻量级的 SQLite 数据库作为后端,可以跨会话保存和加载信息,从而增强 LLM 的上下文理解和长期记忆能力。通过标准的 MCP 协议,它可以与兼容的 LLM 客户端(如 Claude)无缝集成。
主要功能点
- 持久化记忆存储: 使用 SQLite 数据库存储记忆内容,数据在服务器重启后依然保留。
- 分类记忆管理: 支持为记忆指定类别 (category),方便用户组织和检索特定主题的记忆。
- 检索最近记忆: 可以按时间顺序检索最近存储的记忆,并支持按类别过滤。
- 加载记忆到上下文: 可以将检索到的记忆格式化后加载到 LLM 的上下文窗口中,作为对话的背景知识。
- 资源接口: 提供 'memory://load' 和 'memory://category/{category}' 资源接口,允许客户端通过简单的 URL 加载记忆。
- 工具调用: 提供 'store_memory', 'get_recent_memories', 'load_memories_to_context', 'search_memories' 等工具,可以通过自然语言指令或程序调用来操作记忆。
安装步骤
- 环境准备: 确保你的系统已安装 Python。
- 配置环境变量:
- 在项目根目录下,复制 '.env.example' 文件并重命名为 '.env'。
- 修改 '.env' 文件中的 'MEMORY_DB_PATH' 变量,指定 SQLite 数据库文件的存储路径。例如,'/path/to/your/memory.sqlite' 可以替换为你希望存放数据库文件的实际路径。如果路径不存在,程序会自动创建。
服务器配置
要将 Memory Plugin (SQLite) 配置为 MCP 服务器,你需要编辑 LLM 客户端的配置文件。以 Claude 桌面客户端为例,你需要修改 'claude_desktop_config.json' 文件,将 Memory Plugin 添加到 'mcpServers' section。
配置文件路径:
- MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows: 'C:\Users<username>\AppData\Roaming\Claude\claude_desktop_config.json'
配置信息 (添加到 'mcpServers' section):
"memory_plugin": { "command": "/path/to/python3", "args": [ "/path/2/your/cloned/repository/memory_plugin.py" ] }
参数说明:
- '"memory_plugin"': 服务器名称,可以自定义,用于在客户端配置文件中标识该服务器。
- '"command"': Python3 解释器的路径。请替换为你的 Python3 可执行文件的实际路径,例如 '/usr/bin/python3' 或 'C:\Python39\python.exe'。
- '"args"': 启动服务器的参数列表,这里指定了 'memory_plugin.py' 脚本的路径。请替换为克隆到本地的 'memory_plugin.py' 文件的实际路径。
注意:
- 请根据你的实际 Python3 安装路径和仓库克隆路径,修改 '"command"' 和 '"args"' 中的路径信息。
- 确保 'claude_desktop_config.json' 文件中已存在 'mcpServers' 节点,如果不存在,请手动创建。
基本使用方法
配置完成后,启动 Claude 客户端,Memory Plugin 服务器将自动运行。你可以在 Claude 的聊天窗口中使用以下方式与 Memory Plugin 交互:
- 加载记忆: 在新对话开始时,输入 'memory://load',服务器会将最近的记忆加载到 Claude 的上下文,作为对话的背景知识。(对应 'load_all_memories' 资源)
- 加载特定类别记忆: 输入 'memory://category/类别名称',例如 'memory://category/工作',加载 "工作" 类别下的记忆。(对应 'load_category_memories' 资源)
- 保存记忆: 可以使用自然语言指令指示 Claude 将当前对话中的信息保存到记忆中。例如,你可以说:'Save into the memory, under aNewName category, the following: a new message with important info to remember' 或 'Save the relevant points of the conversation into the memory under aNewName category'。 (对应 'store_memory' 工具,具体指令取决于客户端如何调用工具)
提示:
- 请参考 'memory_plugin.py' 文件中 '@mcp.tool()' 和 '@mcp.resource()' 注解的函数,了解更多可用的工具和资源接口。
- 具体如何通过自然语言指令触发工具和资源,取决于你使用的 MCP 客户端(例如 Claude)的实现。请参考客户端的文档或提示信息。
信息
分类
数据库与文件