内容
🧠 claude-memory-mcp
> 为 Claude( MCP 客户端)提供**持久的长期记忆**。100% 本,无需 API 密钥,无需云服务。
[](./LICENSE)
[](modelcontextprotocol.io)
[
[](https://www.typescriptlang.org)
大型语言模型(LLMs)在对话结束时就会忘记一切。`claude-memory-mcp` 是一个小型 [Model Context Protocol](https://modelcontextprotocol.io) 服务器,为您的助手提供持久的记忆,可以跨会话写入和搜索,这样您就不必每次都重新解释您的偏好、您的技术栈和您的决策。
所有操作都**在您的机器上运行**。记忆存储在本地 SQLite 文件中,语义搜索使用在进程中运行的本地嵌入模型(`all-MiniLM-L6-v2`)。**无需 API 密钥。不会有数据离开您的计算机。**
---
## ✨ 功能特点
- **持久记忆**,跨会话,支持单个 SQLite 文件。
- **语义搜索** — 通过本地嵌入实现含义搜索,而不仅仅是关键词。
- **零 API 密钥 / 完全离线**,首次模型下载后。
- **与任何 MCP 客户端兼容** — Claude Desktop、Claude Code、Cursor 等。
- **四个简单工具**:`save_memory`、`search_memory`、`list_memories`、`delete_memory`。
- **体积小,可定制** — 几百行 TypeScript 代码。
## 🚀 快速开始
### Claude Desktop
将以下内容添加到您的 `claude_desktop_config.json` 文件中
(macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`,
Windows: `%APPDATA%\Claude\claude_desktop_config.json`):
```json
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "claude-memory-mcp"],
"env": {
"MEMORY_DB_PATH": "~/.claude-memory/memories.db"
}
}
}
}
```
重启 Claude Desktop。您将在工具菜单中看到记忆工具。
### Claude Code
```bash
claude mcp add memory -- npx -y claude-memory-mcp
```
### 从源码编译
```bash clone https://github.com/<you>/claude-memory-mcp.git
cd claude-memory-mcp
npm install
npm run build
node dist/index.js # 通过 stdio 发送 MCP 消息
```
## 🛠️ 工具列表
| 工具 | 描述 |
|------|-------------|
| `save_memory(content, tags?)` | 存储一个持久的事实、偏好或决策。 |
| `search_memory limit?, min_score?)` | 对已保存的内容进行语义搜索。 |
| `list_memories(limit?, tag?)` | 浏览最近的记忆,可按标签筛选。 |
| `delete_memory(id)` | 按 ID 删除记忆。 示例提示
- "请记住,我更喜欢使用 TypeScript,为 2 个空格。" → `save_memory`
- "您知道我的编程偏好是什么吗?" → `search_memory`
- "列出所有标记为 `project-x` 的内容。" → `list_memories`
## ⚙️ 配置
| 环境变量 | 默认值 | 描述 |
|---------|---------|-------------|
| `MEMORY_DB_PATH` | `~/.claude-memory/memories.db` | SQLite 数据库存储路径。 |
| `MEMORY_EMBED_MODEL` |enova/all-MiniLM-L6-v2` | 本地嵌入模型(任何 `@xenova/transformers` 特征提取模型)。 |
## 🧩 工作原理
1. `save_memory` 使用本地 MiniLM 模型嵌入文本,并将文本、标签和向量存储在 SQLite 中。
2. `search_memory` 嵌入查询,并通过余弦相似度对存储的记忆进行排序 — 所有操作都在进程内完成,无需网络调用。
3. 数据库是一个普通的 SQLite 文件,因此可以轻松备份、检查或自行同步。
首次运行时,下载嵌入模型(约 25 MB)并缓存在之后的每次运行都完全离线。
## 🔒 隐私
永远不会离开您的机器。没有遥测数据,也没有外部 API。删除数据库文件即可清除所有内容。
## 🤝 贡献
欢迎提出问题和拉取请求!本项目故意保持小规模 — 好的开始可以包括新的存储后端、记忆过期/TTL 和导出/导入命令。
## 📄 许可证
MIT — 请参阅](./LICENSE)。