
Chroma MCP Server

2025.01.02
26
Python向量数据库语义搜索文档管理数据库
Chroma MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,提供向量数据库功能。它支持语义文档搜索、元数据过滤和文档管理,并具有持久化存储能力。
View on GitHub
Overview
基本能力
产品定位
Chroma MCP Server 是一个提供向量数据库功能的服务器,主要用于文档的存储、检索和语义搜索。
核心功能
- 语义搜索:基于 Chroma 的嵌入技术,根据文档的含义进行搜索。
- 元数据过滤:通过元数据字段过滤搜索结果。
- 内容过滤:基于文档内容进行额外的过滤。
- 持久化存储:数据在本地目录中持久化,服务器重启后仍可访问。
- 错误处理:提供清晰的错误消息和自动重试逻辑。
适用场景
- 需要语义搜索的文档管理系统。
- 基于元数据过滤的文档检索系统。
- 需要持久化存储的向量数据库应用。
工具列表
- create_document:创建新文档。
- read_document:通过 ID 检索文档。
- update_document:更新现有文档。
- delete_document:删除文档。
- list_documents:列出所有文档。
- search_similar:查找语义相似的文档。
常见问题解答
- 文档已存在:
Document already exists [id=X]
- 文档未找到:
Document not found [id=X]
- 无效输入:
Invalid input: Missing document_id or content
- 无效过滤器:
Invalid filter
- 操作失败:
Operation failed: [details]
使用教程
使用依赖
- 确保安装以下依赖:
- Python 3.8+
- Chroma 0.4.0+
- MCP SDK 0.1.0+
安装教程
- 安装依赖:
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"
]
}
}
}
调试方式
- 启动服务器:
uv run chroma
- 使用 MCP 工具与服务器交互:
# 创建文档
create_document({
"document_id": "ml_paper1",
"content": "Convolutional neural networks improve image recognition accuracy.",
"metadata": {
"year": 2020,
"field": "computer vision",
"complexity": "advanced"
}
})
# 搜索相似文档
search_similar({
"query": "machine learning models",
"num_results": 2,
"metadata_filter": {
"year": 2020,
"field": "computer vision"
}
})
- 使用 MCP Inspector 进行交互式测试:
npx @modelcontextprotocol/inspector uv --directory C:/MCP/server/community/chroma run chroma