返回市场
克罗玛-MCP

克罗玛-MCP

作者:chroma-core425 星标更新:2025-09-18

项目介绍

<p align="center"> <a href="https://trychroma.com"><img src="https://gips3.baidu.com/it/u=3659447339,3661336960&fm=3081&app=3081&f=PNG?w=1616&h=280" alt="Chroma logo"></a> </p> <p align="center"> <b>Chroma - 开源嵌入式数据库</b>. <br /> 构建具有记忆功能的Python或JavaScript LLM应用程序的最快方式! </p> <p align="center"> <a href="https://discord.gg/MMeYNTmh3x" target="_blank"> <img src="https://img.shields.io/discord/1073293645303795742?cacheSeconds=3600" alt="Discord"> </a> | <a href="https://github.com/chroma-core/chroma/blob/master/LICENSE" target="_blank"> <img src="https://img.shields.io/static/v1?label=license&message=Apache 2.0&color=white" alt="License"> </a> | <a href="https://docs.trychroma.com/" target="_blank"> 文档 </a> | <a href="https://www.trychroma.com/" target="_blank"> 首页 </a> </p>

Chroma MCP服务器

smithery徽章

模型上下文协议(MCP)是一个开放协议,旨在轻松集成LLM应用程序与外部数据源或工具,提供一个标准化框架,无缝地为LLM提供所需的上下文。

此服务器由Chroma提供数据检索能力,使AI模型能够创建生成数据和用户输入的集合,并使用向量搜索、全文搜索、元数据过滤等方法检索这些数据。

这是一个用于自托管访问Chroma的MCP服务器。如果您正在寻找包搜索,可以在这里找到该仓库:这里

特性

  • 灵活的客户端类型

    • 临时(内存中)用于测试和开发
    • 持久化用于基于文件的存储
    • HTTP客户端用于自托管的Chroma实例
    • 云客户端用于Chroma Cloud集成(自动连接到api.trychroma.com)
  • 集合管理

    • 创建、修改和删除集合
    • 列出所有集合,支持分页
    • 获取集合信息和统计
    • 配置HNSW参数以优化向量搜索
    • 在创建集合时选择嵌入函数
  • 文档操作

    • 添加文档,可选元数据和自定义ID
    • 使用语义搜索查询文档
    • 使用元数据和文档内容进行高级过滤
    • 根据ID或过滤器检索文档
    • 全文搜索能力

支持的工具

  • chroma_list_collections - 列出所有集合,支持分页
  • chroma_create_collection - 创建新的集合,可选HNSW配置
  • chroma_peek_collection - 查看集合中的文档样本
  • chroma_get_collection_info - 获取集合的详细信息
  • chroma_get_collection_count - 获取集合中的文档数量
  • chroma_modify_collection - 更新集合的名称或元数据
  • chroma_delete_collection - 删除集合
  • chroma_add_documents - 添加文档,可选元数据和自定义ID
  • chroma_query_documents - 使用语义搜索查询文档,支持高级过滤
  • chroma_get_documents - 根据ID或过滤器检索文档,支持分页
  • chroma_update_documents - 更新现有文档的内容、元数据或嵌入
  • chroma_delete_documents - 从集合中删除特定文档

嵌入函数

Chroma MCP支持多种嵌入函数:defaultcohereopenaijinavoyageairoboflow

嵌入函数利用Chroma的集合配置,持久保存集合所选的嵌入函数以便检索。一旦使用集合配置创建了集合,在未来查询和插入时将使用相同的嵌入函数,无需再次指定嵌入函数。嵌入函数持久化是在Chroma v1.0.0版本中添加的,因此如果使用版本<=0.6.3创建集合,则不支持此功能。

当访问使用外部API的嵌入函数时,请确保在环境变量中添加正确的API密钥格式,详情见嵌入函数环境变量

使用Claude Desktop

  1. 要添加临时客户端,请在您的claude_desktop_config.json文件中添加以下内容:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp"
    ]
}
  1. 要添加持久化客户端,请在您的claude_desktop_config.json文件中添加以下内容:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp",
        "--client-type",
        "persistent",
        "--data-dir",
        "/full/path/to/your/data/directory"
    ]
}

这将创建一个使用指定数据目录的持久化客户端。

  1. 要连接到Chroma Cloud,请在您的claude_desktop_config.json文件中添加以下内容:
"chroma": {
    "command": "uvx",
    "args": [
        "chroma-mcp",
        "--client-type",
        "cloud",
        "--tenant",
        "your-tenant-id",
        "--database",
        "your-database-name",
        "--api-key",
        "your-api-key"
    ]
}

这将创建一个云客户端,自动通过SSL连接到api.trychroma.com。

注意: 在本地设备上将API密钥添加到参数中是安全的,但为了安全起见,您也可以使用--dotenv-path参数在args列表中指定环境配置文件的自定义路径,例如:"args": ["chroma-mcp", "--dotenv-path", "/custom/path/.env"]

  1. 要连接到您自己云提供商上的自托管Chroma实例,请在您的claude_desktop_config.json文件中添加以下内容:
"chroma": {
    "command": "uvx",
    "args": [
      "chroma-mcp", 
      "--client-type", 
      "http", 
      "--host", 
      "your-host", 
      "--port", 
      "your-port", 
      "--custom-auth-credentials",
      "your-custom-auth-credentials",
      "--ssl",
      "true"
    ]
}

这将创建一个HTTP客户端,连接到您自托管的Chroma实例。

示例

查找参考用法,如共享知识库及在上下文窗口中添加记忆,参见Chroma MCP文档

使用环境变量

您还可以使用环境变量来配置客户端。服务器会自动从指定路径的.env文件(默认为工作目录下的.chroma_env)或系统环境变量加载变量。命令行参数优先于环境变量。

# 常用变量
export CHROMA_CLIENT_TYPE="http"  # 或 "cloud", "persistent", "ephemeral"

# 对于持久化客户端
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"

# 对于云客户端(Chroma Cloud)
export CHROMA_TENANT="your-tenant-id"
export CHROMA_DATABASE="your-database-name"
export CHROMA_API_KEY="your-api-key"

# 对于HTTP客户端(自托管)
export CHROMA_HOST="your-host"
export CHROMA_PORT="your-port"
export CHROMA_CUSTOM_AUTH_CREDENTIALS="your-custom-auth-credentials"
export CHROMA_SSL="true"

# 可选:指定.env文件路径(默认为.chroma_env)
export CHROMA_DOTENV_PATH="/path/to/your/.env" 

嵌入函数环境变量

当使用访问API密钥的外部嵌入函数时,请遵循命名约定 CHROMA_<>_API_KEY="<key>"。 所以要设置Cohere API密钥,设置环境变量CHROMA_COHERE_API_KEY=""。我们建议将其添加到某个位置的.env文件中,并使用CHROMA_DOTENV_PATH环境变量或--dotenv-path标志来设置该位置以确保安全。