一个基于模型上下文协议(MCP)的服务器实现,通过 Chroma 提供向量数据库功能。该服务器支持语义文档搜索、元数据过滤和带有持久化存储的文档管理。
服务器通过 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
uv venv
uv sync --dev --all-extras

将服务器配置添加到您的 Claude Desktop 配置中:
Windows: C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"chroma": {
"command": "uv",
"args": [
"--directory",
"C:/MCP/server/community/chroma",
"run",
"chroma"
]
}
}
}

服务器将数据存储在:
src/chroma/data
src/chroma/data
uv run chroma
# 创建文档
create_document({
"document_id": "ml_paper1",
"content": "卷积神经网络提高了图像识别的准确性。",
"metadata": {
"year": 2020,
"field": "计算机视觉",
"complexity": "高级"
}
})
# 搜索相似文档
search_similar({
"query": "机器学习模型",
"num_results": 2,
"metadata_filter": {
"year": 2020,
"field": "计算机视觉"
}
})

服务器为常见场景提供清晰的错误消息:
文档已存在 [id=X]
未找到文档 [id=X]
输入无效:缺少 document_id 或 content
过滤器无效
操作失败:[详情]
npx @modelcontextprotocol/inspector uv --directory C:/MCP/server/community/chroma run chroma
uv compile pyproject.toml
uv build
欢迎贡献!请阅读我们的贡献指南了解详情:
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。