使用说明
项目简介
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 客户端调用,执行数据操作。
安装步骤
- 环境准备: 确保已安装 Python 环境。
- 克隆仓库: 使用 Git 克隆 'chroma-mcp' 仓库到本地:
git clone https://github.com/chroma-core/chroma-mcp cd chroma-mcp - 安装依赖: 安装项目依赖的 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' 工具查询文档等。
信息
分类
数据库与文件