Chroma MCP 服务器
模型上下文协议 (MCP) 服务器实现,通过 Chroma 提供矢量数据库功能。该服务器支持语义文档搜索、元数据过滤以及具有持久存储的文档管理。
要求
- Python 3.8+
- Chroma 0.4.0+
- MCP SDK 0.1.0+
成分
资源
服务器通过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/data
- MacOS/Linux:
src/chroma/data
用法
- 启动服务器:
- 使用 MCP 工具与服务器交互:
错误处理
服务器针对常见场景提供了清晰的错误消息:
Document already exists [id=X]
Document not found [id=X]
Invalid input: Missing document_id or content
Invalid filter
Operation failed: [details]
发展
测试
- 运行 MCP Inspector 进行交互式测试:
- 使用检查器的 Web 界面可以执行以下操作:
- 测试 CRUD 操作
- 验证搜索功能
- 检查错误处理
- 监控服务器日志
建筑
- 更新依赖项:
- 构建包:
贡献
欢迎贡献!请阅读我们的贡献指南,了解详情:
- 代码风格
- 测试要求
- 拉取请求流程
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
Related MCP Servers
- -securityFlicense-qualityEnables efficient vector database operations for embedding storage and similarity search through a Model Context Protocol interface.Last updated -3Python
- -securityAlicense-qualityA Model Context Protocol server enabling LLMs to search, retrieve, and manage documents through Rememberizer's knowledge management API.Last updated -24PythonApache 2.0
- AsecurityAlicenseAqualityA high-performance, persistent memory system for the Model Context Protocol (MCP) providing vector search capabilities and efficient knowledge storage using libSQL as the backing store.Last updated -6641TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables semantic search capabilities by providing tools to manage Qdrant vector database collections, process and embed documents using various embedding services, and perform semantic searches across vector embeddings.Last updated -89TypeScriptMIT License