Chroma MCP 服务器
模型上下文协议 (MCP) 服务器实现,通过 Chroma 提供矢量数据库功能。该服务器支持语义文档搜索、元数据过滤以及具有持久存储的文档管理。
要求
Python 3.8+
Chroma 0.4.0+
MCP SDK 0.1.0+
Related MCP server: doc-lib-mcp
成分
资源
服务器通过Chroma的矢量数据库提供文档存储和检索:
存储包含内容和元数据的文档
将数据保存在
src/chroma/data目录中支持语义相似性搜索
工具
服务器实现 CRUD 操作和搜索功能:
文档管理
create_document:创建新文档必需:
document_id、content可选:
metadata(键值对)返回:成功确认
错误:已存在,输入无效
read_document:通过 ID 检索文档必填:
document_id返回:文档内容和元数据
错误:未找到
update_document:更新现有文档必需:
document_id、content可选:
metadata返回:成功确认
错误:未找到,输入无效
delete_document:删除文档必填:
document_id返回:成功确认
错误:未找到
list_documents:列出所有文档可选:
limit、offset返回:包含内容和元数据的文档列表
搜索行动
search_similar:查找语义相似的文档必填:
query可选:
num_results、metadata_filter、content_filter返回:具有距离分数的相似文档的排序列表
错误:过滤器无效
特征
语义搜索:使用 Chroma 的嵌入查找基于含义的文档
元数据过滤:按元数据字段过滤搜索结果
内容过滤:基于文档内容的附加过滤
持久存储:服务器重启后数据仍保留在本地目录中
错误处理:全面的错误处理,清晰的消息
重试逻辑:瞬时故障自动重试
安装
安装依赖项:
配置
克劳德桌面
将服务器配置添加到您的 Claude Desktop 配置中:
Windows: C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
数据存储
服务器将数据存储在:
Windows:
src/chroma/dataMacOS/Linux:
src/chroma/data
用法
启动服务器:
使用 MCP 工具与服务器交互:
错误处理
服务器针对常见场景提供了清晰的错误消息:
Document already exists [id=X]Document not found [id=X]Invalid input: Missing document_id or contentInvalid filterOperation failed: [details]
发展
测试
运行 MCP Inspector 进行交互式测试:
使用检查器的 Web 界面可以执行以下操作:
测试 CRUD 操作
验证搜索功能
检查错误处理
监控服务器日志
建筑
更新依赖项:
构建包:
贡献
欢迎贡献!请阅读我们的贡献指南,了解详情:
代码风格
测试要求
拉取请求流程
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。