使用说明
存储器mcp
用于Claude Code的持久内存MCP服务器。使用SQLite、FTS5和SQLite-vec支持的混合向量+关键字搜索在会话之间存储、搜索和检索记忆。
特性
- 混合搜索 --70%向量相似度+30%BM25关键字匹配
- 本地嵌入 --Ollama(必填,本地,免费)
- 持久存储 --SQLite数据库在会话中生存
- 令牌感知上下文 --检索符合令牌预算的记忆
- 文件监视 --更改时自动索引标记和代码文件
- LRU嵌入缓存 --10k条记录,SHA256密钥加密
设置
git clone https://github.com/AyubMoh1/memory-mcp.git
cd memory-mcp
npm install
npm run build
使用克劳德代码注册
添加 ~/.claude/config.json:
{
"mcpServers": {
"memory": {
"command": "node",
"args": ["/path/to/memory-mcp/dist/index.js"]
}
}
}
工具
| 工具 | 说明 |
|---|---|
memory_store |
用类别、标签和重要性存储内存 |
memory_search |
混合向量+关键字搜索 |
memory_list |
使用过滤器列出最近的记忆 |
memory_delete |
按ID删除内存 |
memory_get_context |
主题的令牌预算上下文检索 |
memory_get_stats |
存储统计 |
资源
| 资源 | URI | 描述 |
|---|---|---|
| 统计数据 | memory://stats |
JSON存储统计 |
| 最近 | memory://recent |
最后20个回忆 |
配置
所有配置都是通过环境变量进行的:
| 变量 | 默认值 | 描述 |
|---|---|---|
MEMORY_DB_PATH |
~/.memory-mcp/memory.db |
数据库文件位置 |
MEMORY_WATCH_PATHS |
(空) | 逗号分隔的自动索引文件路径 |
OLLAMA_URL |
http://127.0.0.1:11434 |
Ollama服务器URL |
DEBUG |
-- | 启用调试日志记录 |
嵌入
奥拉玛是 必需的。如果没有安装正在运行的Ollama实例和嵌入模型,服务器将无法启动。
ollama serve # Start Ollama
ollama pull nomic-embed-text # Install embedding model
建筑
src/
├── index.ts # Entry point: MCP server + stdio transport
├── storage/
│ ├── types.ts # MemoryChunk, SearchResult, StorageBackend
│ └── database.ts # SQLite + FTS5 + sqlite-vec
├── embeddings/
│ ├── providers.ts # Ollama embedding provider
│ ├── cache.ts # LRU embedding cache
│ └── detect.ts # Detect Ollama + embedding model
├── sync/
│ ├── file-watcher.ts # chokidar with debouncing
│ └── chunker.ts # Split files by headers/paragraphs
├── tools/ # MCP tool handlers
├── resources/ # MCP resource handlers
└── utils/ # Logger, ID gen, token estimation
许可证
麻省理工学院
