首页
学习
活动
专区
圈层
工具
发布
MCP广场 >详情页
Chroma-MCP数据平台2026-06-08484分享添加福利群:解决AI开发者的「MCP实战痛点」
一个由Chroma嵌入式数据库驱动的服务器,提供数据检索功能,使AI模型能够对生成的数据和用户输入创建集合,并通过向量搜索、全文搜索和元数据过滤来检索数据。
By chroma-core
2026-06-08484
github
详情内容

Chroma logo

Chroma - 开源嵌入数据库
构建带有记忆功能的Python或JavaScript LLM应用程序的最快方式!

Discord | License | 文档 | 主页

Chroma MCP 服务器

smithery 徽章

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

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

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

功能

  • 灵活的客户端类型

    • 用于测试和开发的临时(内存中)客户端
    • 用于基于文件存储的持久化客户端
    • 用于自托管Chroma实例的HTTP客户端
    • 用于Chroma云集成的云客户端(自动连接到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云,将以下内容添加到你的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实例](https://docs.trychroma.com/ production/deployment),将以下内容添加到你的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云)
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标志来设置该位置以确保安全。

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档