使用说明

项目简介

'mcp.chroma' 是一个 MCP (Model Context Protocol) 服务器,它将 ChromaDB 向量数据库的功能通过 MCP 协议暴露给大语言模型 (LLM) 客户端。借助此服务器,LLM 可以利用 ChromaDB 存储和检索向量嵌入,进行文档管理和相似性搜索等操作,从而增强 LLM 的上下文处理能力。

主要功能点

  • 集合管理:支持创建、列出、修改和删除 ChromaDB 集合。
  • 文档操作:支持向 ChromaDB 集合中添加、查询、获取、更新和删除文档。
  • 会话管理:内置简单的会话处理机制。
  • 多种客户端类型:支持多种 ChromaDB 客户端连接方式,包括内存模式、本地持久化、HTTP 远程连接和云服务连接。

安装步骤

  1. 克隆仓库

    git clone https://github.com/volteditor/mcp.chroma.git
    cd mcp.chroma
  2. 构建服务器

    确保已安装 Rust 和 Cargo 环境。执行以下命令进行编译:

    cargo build --release

    编译成功后,可执行文件 'mcp-chroma' 将位于 'target/release' 目录下。

服务器配置

MCP 客户端需要配置服务器的启动命令和参数才能连接到 'mcp.chroma' 服务器。以下是不同场景下的服务器配置示例(JSON 格式):

基本配置 (Ephemeral 客户端 - 内存模式,无需额外 ChromaDB 服务):

{
  "servers": {
    "chroma": {
      "command": "./target/release/mcp-chroma",
      "args": []
    }
  }
}

HTTP 客户端配置 (连接到远程 ChromaDB 服务):

如果你的 ChromaDB 服务运行在远程服务器或 Docker 容器中,可以使用 HTTP 客户端模式连接。

首先,确保 ChromaDB 服务已启动并监听在指定的主机和端口。然后,在 MCP 客户端配置中指定 'mcp-chroma' 服务器的启动命令和参数,包括客户端类型、主机和端口等信息。

{
  "servers": {
    "chroma": {
      "command": "./target/release/mcp-chroma",
      "args": [
        "--client-type", "http",
        "--host", "localhost",  // 替换为你的 ChromaDB 服务主机地址
        "--port", "8000"       // 替换为你的 ChromaDB 服务端口
      ]
    }
  }
}

Persistent 客户端配置 (本地持久化存储):

使用本地持久化存储,数据将保存在指定目录。

{
  "servers": {
    "chroma": {
      "command": "./target/release/mcp-chroma",
      "args": [
        "--client-type", "persistent",
        "--data-dir", "./chroma_data" // 指定数据存储目录
      ]
    }
  }
}

Cloud 客户端配置 (连接到 Chroma Cloud 服务):

如果使用 Chroma Cloud 服务,需要配置租户 (tenant)、数据库 (database) 和 API 密钥。

{
  "servers": {
    "chroma": {
      "command": "./target/release/mcp-chroma",
      "args": [
        "--client-type", "cloud",
        "--tenant", "<YOUR_TENANT_ID>",     // 替换为你的 Chroma Cloud 租户 ID
        "--database", "<YOUR_DATABASE_NAME>" // 替换为你的 Chroma Cloud 数据库名称
      ],
      "env": {
        "CHROMA_API_KEY": "<YOUR_API_KEY>"  // 替换为你的 Chroma Cloud API 密钥
      }
    }
  }
}

环境变量配置:

除了命令行参数,'mcp-chroma' 还支持通过环境变量进行配置。你可以创建 '.chroma_env' 文件,并在其中设置配置参数,例如:

CHROMA_CLIENT_TYPE=http
CHROMA_HOST=localhost
CHROMA_PORT=8000

基本使用方法

  1. 启动 MCP 服务器

    根据你的配置需求,选择合适的启动命令运行 'mcp-chroma' 服务器。例如,使用默认配置(Ephemeral 客户端):

    ./target/release/mcp-chroma
  2. 配置 MCP 客户端

    在你的 MCP 客户端(例如 Claude, Cursor 等)中,根据上述 “服务器配置” 部分的说明,配置 'mcp-chroma' 服务器的连接信息。

  3. 使用工具

    配置完成后,MCP 客户端将能够发现 'mcp.chroma' 服务器提供的工具。你可以通过客户端界面或指令调用这些工具,例如:

    • 'chroma_list_collections': 列出所有集合
    • 'chroma_create_collection': 创建新的集合
    • 'chroma_add_documents': 向集合中添加文档
    • 'chroma_query_documents': 查询集合中的文档
    • ... 等等 (更多工具请参考仓库 'README.md' 文档)

    具体工具的使用方法和参数,请参考仓库 'README.md' 文档中 “🧰 Tools” 和 “📝 Examples” 部分的说明。

信息

分类

数据库与文件