🧠 MCP语义记忆服务器
具有语义搜索功能的持久内存,适用于Claude和MCP兼容客户端
 ](https://nodejs.org/) 
给你的AI助手 持久存储器 这在谈话之间幸存下来。保存一次上下文,永远智能地检索它。
✨ 特性
- 🔍 语义搜索 -通过意义而不仅仅是关键字来寻找记忆
- 💾 SQLite存储 -快速、可靠、可扩展
- 👤 用户简介 -结构化配置文件(姓名、职业、技术栈等)
- 🏠 100%本地 -没有外部API,所有处理都在您的机器上
- ⚡ 快速 -支持全MiniLM-L6-v2嵌入(约50ms搜索)
- 🔒 私人 -您的数据永远不会离开您的计算机
🎯 问题与解决方案
问题: 克劳德在谈话之间什么都忘了。你不断地重新解释你的背景、项目、偏好和技术栈。
解决方案: 该MCP服务器为Claude提供了具有智能语义搜索的持久内存。保存信息一次,克劳德会在相关时自动检索。
示例
// Save once
save_memory("project-info", "Working on an e-commerce site with Next.js and Stripe")
// Days later, in a new conversation
User: "How do I add payments to my project?"
Claude: *searches memory* "Since you're using Stripe in your e-commerce project..."🚀 快速开始
安装
# Clone the repository
git clone https://github.com/GFYURI/mcp-semantic-memory.git
cd mcp-semantic-memory
# Install dependencies (pnpm recommended)
pnpm install
# or: npm install配置
添加到您的MCP客户端配置中(例如,Claude Desktop):
窗户: %APPDATA%\Claude\claude_desktop_config.json\ macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"semantic-memory": {
"command": "node",
"args": ["/absolute/path/to/mcp-semantic-memory/index.js"]
}
}
}示例(Windows):
{
"mcpServers": {
"semantic-memory": {
"command": "node",
"args": ["C:\\Users\\YourName\\mcp-semantic-memory\\index.js"]
}
}
}首次运行
- 重新启动MCP客户端(例如,Claude Desktop)
- 服务器将在首次使用时下载嵌入模型(~25MB)
- 开始保存记忆!
📚 可用工具
内存管理
save_memory(id, text, metadata?)
通过语义嵌入保存内存。
save_memory({
id: "my-cat",
text: "My cat's name is Mia, she's orange and very playful",
metadata: { category: "personal", type: "pet" }
})search_memory(query, n_results?, threshold?)
通过语义相似性搜索记忆。
search_memory({
query: "what's my pet's name?",
n_results: 5, // optional, default: 5
threshold: 0.3 // optional, default: 0.3 (0-1 scale)
})get_memory(id)
按ID检索特定内存。
delete_memory(id)
永久删除内存。
list_all_memories()
列出所有存储的内存(按上次更新排序)。
用户简介
get_user_bio()
获取用户的完整个人资料。
set_user_bio(data)
创建或更新用户简介。所有字段都是可选的。
set_user_bio({
nombre: "Angel",
ocupacion: "Student",
ubicacion: "Santiago, Chile",
tecnologias: ["Python", "JavaScript", "Node.js"],
herramientas: ["VS Code", "Docker", "pnpm"],
idiomas: ["Spanish", "English"],
timezone: "America/Santiago",
mascotas: ["Mia (cat)"]
})update_user_bio(field, value)
更新传记中的单个字段。
update_user_bio({
field: "tecnologias",
value: ["Python", "JavaScript", "TypeScript"]
})🎨 用例
面向开发者
- 记住你的技术栈和项目背景
- 常见问题的存储解决方案
- 跟踪配置和偏好
对于学生
- 保存学习笔记和学习进度
- 记住作业截止日期和要求
- 跟踪研究主题和来源
给每个人
- 个人喜好和兴趣
- 重要日期和事件
- 跨会话的对话上下文
🔧 运作原理
语义搜索
传统关键字搜索:
Query: "what's my pet's name?"
Memory: "My cat Mia is orange"
Result: ❌ No matches (different words)语义搜索:
Query: "what's my pet's name?"
Memory: "My cat Mia is orange"
Result: ✅ 78% similarity (understands meaning)技术细节
- 嵌入: 全迷你LM-L6-v2(384尺寸)
- 储存: 具有优化索引的SQLite
- 搜索: 向量间的余弦相似度
- 演出 每次保存约50-100ms,在100个内存中搜索约200ms
📊 数据库模式
-- Memories table
CREATE TABLE memories (
id TEXT PRIMARY KEY,
text TEXT NOT NULL,
embedding TEXT NOT NULL, -- JSON array of 384 floats
metadata TEXT, -- JSON object
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL
);
-- User biography table
CREATE TABLE user_bio (
id INTEGER PRIMARY KEY CHECK (id = 1),
nombre TEXT,
ocupacion TEXT,
ubicacion TEXT,
tecnologias TEXT, -- JSON array
herramientas TEXT, -- JSON array
idiomas TEXT, -- JSON array
timezone TEXT,
mascotas TEXT, -- JSON array
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL
);🆚 与备选方案的比较
| 功能 | 此MCP | @modelcontextprotocol/服务器内存 |
|---|---|---|
| 语义搜索 | ✅ | ❌ |
| 用户简介 | ✅ | ❌ |
| 存储 | SQLite | 内存中 |
| 坚持 | ✅ 磁盘 | ❌ 仅RAM |
| 可扩展性 | 1000个内存 | 有限 |
| 搜索速度 | 快速(索引) | 不适用 |
🛠️ 发展
# Install dependencies
pnpm install
# Run locally
node index.js
# Test with MCP inspector
npx @modelcontextprotocol/inspector node index.js📝 需求
- Node.js>=18.0.0
- ~100MB磁盘空间(型号+依赖关系)
- MCP兼容客户端(Claude Desktop、LM Studio等)
🐛 故障排除
第一轮需要30-60秒
正在下载嵌入模型(~25MB)。后续运行是即时的。
sharp 在Windows上安装失败
pnpm rebuild sharp
# or
pnpm install --force数据库已锁定
关闭其他连接 memory.db 或重新启动MCP客户端。
内存未加载
检查MCP配置中的绝对路径是否正确。
🤝 贡献
欢迎投稿!请随意:
- 报告错误
- 建议功能
- 提交拉取请求
- 改进文档
📄 许可证
MIT许可证-您可以在自己的项目中自由使用!
🙏 致谢
- 内置 @模型上下文协议/sdk
- 嵌入方式 @xenova/变压器
- 由...驱动 更好平方3
⭐ 明星历史
如果你觉得这很有用,可以考虑给它一颗星!它帮助其他人发现项目。
______________________________________________________________________
由以下材料制成❤️ 对于MCP社区
