使用说明

项目简介

Chroma MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,旨在桥接大型语言模型 (LLMs) 和 Chroma 向量数据库。它允许 LLM 应用通过标准化的 MCP 协议,利用 Chroma 强大的向量搜索、全文搜索和元数据过滤功能,实现高效的上下文数据检索和管理。

主要功能点

  • 向量数据库服务: 基于 Chroma 提供高效的向量存储和检索能力,支持语义搜索。
  • 灵活的客户端支持: 支持多种 Chroma 客户端类型,包括内存 ephemeral 客户端、持久化 persistent 客户端、HTTP 客户端 (连接自托管 Chroma 实例) 和云客户端 (Chroma Cloud)。
  • 集合管理: 提供创建、修改、删除和列出 Chroma 集合的功能,方便用户组织和管理数据。
  • 文档操作: 支持向集合中添加文档、根据语义或元数据查询文档、以及按ID或过滤条件检索文档。
  • 工具化接口: 通过 MCP 协议暴露一系列工具 (Tools),供 LLM 客户端调用,执行数据操作。

安装步骤

  1. 环境准备: 确保已安装 Python 环境。
  2. 克隆仓库: 使用 Git 克隆 'chroma-mcp' 仓库到本地:
    git clone https://github.com/chroma-core/chroma-mcp
    cd chroma-mcp
  3. 安装依赖: 安装项目依赖的 Python 包:
    pip install mcp chromadb python-dotenv

服务器配置

MCP 服务器需要配置在 MCP 客户端中,以便客户端能够启动和连接服务器。以下是在 MCP 客户端配置文件(例如 Claude Desktop 的 'claude_desktop_config.json')中配置 Chroma MCP Server 的示例,根据不同的 Chroma 客户端类型选择相应的配置:

  • Ephemeral 客户端配置 (内存模式,用于测试):

    "chroma": {
        "command": "uvx",
        "args": [
            "chroma-mcp"
        ]
    }
  • Persistent 客户端配置 (持久化到文件):

    "chroma": {
        "command": "uvx",
        "args": [
            "chroma-mcp",
            "--client-type",
            "persistent",
            "--data-dir",
            "/path/to/your/chroma/data"  // 请替换为你的 Chroma 数据存储路径
        ]
    }

    参数说明:

    • '--client-type': 指定客户端类型为 'persistent' (持久化)。
    • '--data-dir': 指定 Chroma 数据存储目录,请替换为实际的目录路径
  • Cloud 客户端配置 (连接 Chroma Cloud):

    "chroma": {
        "command": "uvx",
        "args": [
            "chroma-mcp",
            "--client-type",
            "cloud",
            "--tenant",
            "your-tenant-id",      // 请替换为你的 Tenant ID
            "--database",
            "your-database-name",   // 请替换为你的 Database 名称
            "--api-key",
            "your-api-key"        // 请替换为你的 API Key
        ]
    }

    参数说明:

    • '--client-type': 指定客户端类型为 'cloud' (云端)。
    • '--tenant': 你的 Chroma Cloud Tenant ID,请替换为实际值
    • '--database': 你的 Chroma Cloud Database 名称,请替换为实际值
    • '--api-key': 你的 Chroma Cloud API Key,请替换为实际值
  • HTTP 客户端配置 (连接自托管 Chroma 实例):

    "chroma": {
        "command": "uvx",
        "args": [
            "chroma-mcp",
            "--client-type",
            "http",
            "--host",
            "your-chroma-host",   // 请替换为你的 Chroma 主机地址
            "--port",
            "your-chroma-port",   // 请替换为你的 Chroma 端口号 (默认为 8000)
            "--ssl",
            "true"               // 是否启用 SSL,根据你的 Chroma 配置设置
        ]
    }

    参数说明:

    • '--client-type': 指定客户端类型为 'http'。
    • '--host': 你的自托管 Chroma 实例的主机地址,请替换为实际地址
    • '--port': 你的自托管 Chroma 实例的端口号,请替换为实际端口,默认为 8000。
    • '--ssl': 是否启用 SSL 连接,根据你的 Chroma 服务器配置设置,默认为 'true'。

基本使用方法

配置完成后,当 MCP 客户端需要与 Chroma 交互时,会自动启动 Chroma MCP Server。LLM 应用可以通过客户端调用服务器提供的工具 (Tools) 来操作 Chroma 数据库。具体的工具列表和使用方法可以参考仓库的 README 文档或源代码中的 '@mcp.tool()' 注解部分。例如,可以使用 'list_collections' 工具列出所有集合,使用 'query_documents' 工具查询文档等。

信息

分类

数据库与文件