ChromaDB MCP服务器🧠
一种模型上下文协议(MCP)服务器,通过ChromaDB矢量存储为AI助手提供持久内存。 现在有EXIF提取、监视文件夹和重复检测 -创作者的终极工具!
   ](https://github.com/vespo92/chromadblocal-mcp-server)
✨ 特性
核心
- 持久AI记忆:您的AI助手会记住过去的对话和解决方案
- 矢量搜索:立即查找类似的代码模式、配置和文档
- 本地优先:在自己的硬件上运行所有内容,不依赖于云
🚀 批处理
- 快速批量摄入:在几秒钟内处理整个目录(500多个文件)
- 77种文件类型:照片、CAD、文档、数据文件、代码
- 快速装载/卸载:用于快速工作流的临时集合
- 导出/导入:以JSON格式备份和传输集合
📸 照片功能(v3.0中的新功能)
- EXIF提取:相机、镜头、曝光、GPS位置、拍摄日期
- 按相机搜索:“查找用我的佳能5D拍摄的照片”
- 按位置搜索:嵌入并可搜索GPS坐标
- 按日期搜索:“查找2024年假期的照片”
👁️ 监视文件夹(v3.0中的新功能)
- 汽车摄入:将文件放入关注的文件夹中,自动添加到ChromaDB
- 免提的:非常适合接收照片转储、下载
- 按类型筛选:仅关注特定文件类型
🔍 重复检测(v3.0中的新功能)
- 参考文献查重:跨目录的基于哈希的检测
- 回收空间:查看有多少空间重复浪费
- 比较文件:检查两个文件是否相同
- 感知哈希:查找相似(而不仅仅是相同)的图像
🚀 快速开始
先决条件
安装
- 克隆存储库
git clone https://github.com//vespo92/chromadblocal-mcp-server.git
cd chromadb-mcp-server- 安装依赖项
bun install- 启动ChromaDB
docker run -d \
--name chromadb-local \
-p 8001:8000 \
-v ~/chromadb-data:/chroma/chroma \
-e IS_PERSISTENT=TRUE \
chromadb/chroma:latest- 初始化集合
bun run setup- 配置Claude桌面
增添 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"chromadb-context": {
"command": "bun",
"args": ["run", "/path/to/chromadb-mcp-server/index.js"],
"env": {
"CHROMADB_URL": "http://localhost:8001"
}
}
}
}- 重新启动克劳德桌面 开始建立你的知识库!
💬 使用示例
配置后,与您的AI自然交互:
存储知识
- “将此Docker配置存储在ChromaDB中以供将来参考”
- “用标签保存此React组件模式:钩子、身份验证”
- “记住这个GPU直通问题的解决方案”
检索信息
- “在ChromaDB中搜索Python异步示例”
- “查找与此相似的组件模式”
- “对于Docker网络问题,我们有什么解决方案?”
构建上下文
- “将此API文档添加到project_docs集合”
- “为我们的测试套件存储这些测试模式”
🚀 批处理文件
杀手级功能!即时处理大量文件,以进行人工智能驱动的搜索和检索。
快速加载工作流(最快)
非常适合“加载、处理、丢弃”工作流:
You: "Quick load my photos from /home/photos/vacation2024"
AI: Creates temp collection, ingests 500 photos in seconds
You: "Find photos with mountains or beaches"
AI: Returns matching photos with metadata
You: "Unload the collection"
AI: Cleans up, frees memory支持的文件类型
| 类别 | 扩展名 | 已提取元数据 |
|---|---|---|
| 图像 | .jpg、.jpeg、.png、.heic、.raw、.cr2、.nef、.arw、.tiff、.gif、.webp | 尺寸、大小、格式 |
| 计算机辅助设计 | .stl、.obj、.dxf、.dwg、.step、.iges、.fbx、.blend、.skp、.scad | 顶点、面、格式 |
| 文件 | .pdf、.txt、.md、.doc、.docx、.rtf | 全文内容 |
| 数据 .json,.yaml,.xml,.csv,.toml,.ini。 | ||
| 代码 | .js、.ts、.py、.go、.rs、.java、.cpp、.c、.php、.rb+20多个 | 完整源代码 |
批处理示例
"Scan /projects/cad-files to see what's there"
"Batch ingest all STL files from /3d-prints into the 'print_library' collection"
"Quick load my Downloads folder, find anything mentioning 'invoice'"
"Export the photo_archive collection to backup.json"
"Import backup.json into a new collection called 'restored_photos'"处理速度
- 快速加载:2-3秒内约200个文件
- 批量摄入:~500个文件在5-10秒内完成(包含完整元数据)
- 并发处理:10-20个并行文件操作
- 无外部依赖关系:纯JavaScript/Bun处理
📚 可用收藏
| 集合 | 描述 | 用例 |
|---|---|---|
home_automation | 智能家居配置和自动化 | 家庭助理、物联网脚本 |
code_snippets | 可重用代码模式 | 函数、钩子、实用程序 |
configurations | 系统和应用程序配置 | Docker、Kubernetes、服务 |
troubleshooting | 问题解决方案 | 修复、变通方法、调试 |
project_docs | 项目文档 | API、架构、指南 |
learning_notes | 学习见解 | 教程、概念、笔记 |
🛠️ MCP工具
search_context
在集合中搜索相关信息
Parameters:
- query: Search query
- collection: (optional) Specific collection to search
- limit: (optional) Number of resultsstore_context
使用元数据存储新信息
Parameters:
- content: The content to store
- metadata: Tags, categories, descriptions
- collection: Target collectionlist_collections
列出所有可用集合及其元数据
find_similar_patterns
查找与提供的示例类似的代码模式
批处理工具
scan_directory
在摄取之前预览目录中的文件
Parameters:
- path: Directory to scan
- categories: Filter by type (images, cad, documents, data, code)
- extensions: Filter by extension (.jpg, .stl, etc.)
- recursive: Include subdirectories (default: true)batch_ingest
将包含完整元数据的文件批量摄取到ChromaDB中
Parameters:
- path: Source directory
- collection: Target collection name
- categories: File types to include
- max_files: Limit number of filesquick_load
🚀 FAST:快速加载文件以进行临时处理
Parameters:
- path: Directory to load
- name: Collection name (auto-generated if omitted)
- categories: File types to includeunload_collection
删除集合(快速加载后的清理)
Parameters:
- collection: Name of collection to deleteexport_collection
将集合导出到JSON文件
Parameters:
- collection: Collection to export
- output_path: File path for JSON outputimport_collection
从JSON文件导入集合
Parameters:
- input_path: JSON file to import
- collection: Override collection name
- overwrite: Delete existing first (default: false)get_collection_info
获取收藏的详细统计数据
Parameters:
- collection: Collection nameingest_file
通过元数据提取摄取单个文件
Parameters:
- path: File to ingest
- collection: Target collectionlist_file_types
显示所有支持的文件扩展名
EXIF和照片工具
extract_exif
从照片中提取详细的EXIF元数据
Parameters:
- path: Path to JPEG or TIFF image
Returns: Camera, lens, exposure, GPS, date taken监视文件夹工具
watch_folder
开始自动从文件夹中摄取新文件
Parameters:
- path: Folder to watch
- collection: Target collection (default: auto_ingest)
- categories: File types to watch
- include_exif: Extract EXIF from photos (default: true)stop_watch
停止监视文件夹
Parameters:
- path: Folder to stop watchinglist_watchers
列出所有活动文件夹观察程序
重复检测工具
find_duplicates
扫描目录以查找重复文件
Parameters:
- path: Directory to scan
- hash_method: "partial" (fast), "full" (thorough), "perceptual" (images)
- categories: File types to check
Returns: Duplicate groups with wasted space infocompare_files
检查两个文件是否重复
Parameters:
- file1: First file path
- file2: Second file pathfind_collection_duplicates
查找ChromaDB集合中的重复条目
Parameters:
- collection: Collection name🔧 配置
环境变量
CHROMADB_URL=http://localhost:8001 # ChromaDB server URL自定义收藏
在中添加新收藏 setup-home-collections.js:
await createCollection('ml_experiments', {
description: 'Machine learning experiments and results'
});📦 项目结构
chromadb-mcp-server/
├── index.js # MCP server with 22 tools
├── batch-processor.js # Fast batch file processing engine
├── exif-extractor.js # EXIF metadata extraction for photos
├── watch-folder.js # Auto-ingest watch folder system
├── duplicate-detector.js # Duplicate file detection
├── setup-home-collections.js # Collection initialization
├── test-chromadb.js # Connection test script
├── test-mcp.js # MCP functionality test
├── test-batch-processor.js # Batch processing tests
├── HOME-AI-SETUP.md # Detailed setup guide
├── package.json # Project dependencies
└── README.md # This file🤝 贡献
欢迎投稿!请随时提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。
看 贡献.md 了解更多详情。
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
🚀 接下来是什么?
- ✅ ~~进出口收款~~ 完成!
- ✅ ~~批处理文件~~ 完成!
- ✅ ~~EXIF元数据提取~~ 在v3.0中完成!
- ✅ ~~监视文件夹/自动摄取~~ 在v3.0中完成!
- ✅ ~~重复检测~~ 在v3.0中完成!
- 云同步功能
- 多用户支持
- 用于收藏管理的Web UI
- AI驱动的图像描述(照片中有什么)
- 3D打印分析(体积、时间估计)
______________________________________________________________________
内置于❤️ 为家庭AI社区
