Chroma MCP Server

Chroma MCP Server

site icon
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]

使用教程

使用依赖

  1. 确保安装以下依赖:
  2. Python 3.8+
  3. Chroma 0.4.0+
  4. MCP SDK 0.1.0+

安装教程

  1. 安装依赖:
uv venv
uv sync --dev --all-extras
  1. 配置 Claude Desktop:
  2. Windows: C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json
  3. MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

添加以下配置:

{
  "mcpServers": {
    "chroma": {
      "command": "uv",
      "args": [
        "--directory",
        "C:/MCP/server/community/chroma",
        "run",
        "chroma"
      ]
    }
  }
}

调试方式

  1. 启动服务器:
uv run chroma
  1. 使用 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"
    }
})
  1. 使用 MCP Inspector 进行交互式测试:
npx @modelcontextprotocol/inspector uv --directory C:/MCP/server/community/chroma run chroma

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。