mcp宝库crunchtools
具有语义搜索的自托管本地文件索引MCP服务器。索引任何本地目录(pCloud~/AutoSync/、rclone mountains、~/Documents/、任何东西),并使用混合向量+关键字搜索对内容进行搜索。
特性
- 混合搜索 --将语义向量相似性与FTS5关键字匹配相结合
- 多种文件格式 --PDF、DOCX、Markdown、纯文本、源代码
- 本地优先 --没有云服务,没有每个座位的费用,您的数据保留在您的机器上
- 轻量级嵌入 --使用fastembed(ONNX运行时)代替PyTorch(约22MB对约2GB)
- 增量索引 --基于SHA-256校验和的变化检测
- 背景模式 —
--index 用于systemd定时器自动化的CLI模式
安装
uvx(推荐)
uvx mcp-trove-crunchtools
点
pip install mcp-trove-crunchtools
容器
podman run -v trove-data:/data -v ~/Documents:/docs:ro quay.io/crunchtools/mcp-trove
Claude代码集成
claude mcp add mcp-trove-crunchtools -- uvx mcp-trove-crunchtools
工具(8)
搜索(2)
| 工具 | 说明 |
|---|
trove_search | 混合语义+FTS5搜索。返回带有文件路径、分数和内容的排名块。 |
trove_similar | 使用平均嵌入查找与给定索引文件相似的文件。 |
指标管理(3)
| 工具 | 说明 |
|---|
trove_index | 为特定文件或目录建立索引。跳过未更改的文件(基于校验和)。 |
trove_reindex | 强制重新索引,忽略校验和。如果没有给出路径,则重新索引所有内容。 |
trove_remove | 从索引中删除文件或目录。 |
状态(3)
| 工具 | 说明 |
|---|
trove_status | 索引统计:文件总数、块、磁盘使用率、型号信息。 |
trove_list | 列出带有元数据(大小、类型、块计数)的索引文件。 |
trove_get_chunks | 显示特定索引文件的文本块。 |
环境变量
| 变量 | 默认值 | 描述 |
|---|
TROVE_DB | ~/.local/share/mcp-trove/trove.db | SQLite数据库路径 |
TROVE_PATHS | (无) | 要在后台模式下索引的冒号分隔目录 |
TROVE_INDEX_WORKERS | 2 | 并发嵌入工人 |
TROVE_INDEX_BATCH | 50 | 每个索引批的文件 |
TROVE_EMBEDDING_MODEL | BAAI/bge-small-en-v1.5 | fastembed模型名称 |
TROVE_EXCLUDE_PATTERNS | *.iso,*.zip,... | 要跳过的球形图案 |
TROVE_CHUNK_SIZE | 1000 | 每个文本块的字符数 |
TROVE_CHUNK_OVERLAP | 200 | 块之间的重叠 |
背景索引
设置一个systemd计时器以保持索引新鲜:
TROVE_PATHS=~/Documents:~/AutoSync mcp-trove-crunchtools --index
许可证
AGPL-3.0或更高版本