mcpField
C
Chroma MCP Server

Chroma MCP Server

本地服务
github.com/chroma-core数据库60058 周前更新

关于 Chroma MCP Server

Chroma MCP Server 是 Chroma 开源嵌入数据库的 MCP 服务,允许 AI 模型创建集合、写入文档并通过向量搜索、全文搜索和元数据过滤检索数据。它适合需要为 LLM 应用提供记忆或知识库的开发者,并支持自托管和 Chroma Cloud 连接。

主要功能

  1. 01支持内存、持久化、HTTP 和 Cloud 客户端
  2. 02集合的创建、修改、查询与删除
  3. 03文档的添加、更新、删除和语义查询
  4. 04基于元数据和文档内容的过滤
  5. 05支持多种嵌入函数

适用场景

  1. 01为 LLM 应用建立可检索的共享知识库
  2. 02在上下文中加入长期记忆
  3. 03连接自托管或 Chroma Cloud 实例进行向量搜索

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 chroma_ 系列工具,用于管理 Chroma 集合和文档。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp"
]
}
}
}
启动命令uvx chroma-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypichroma-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Chroma 标志

Chroma —— 开源嵌入数据库。
使用记忆功能构建 Python 或 JavaScript 大模型应用的最快方式!

Discord | 许可证 | 文档 | 主页

Chroma MCP 服务

smithery badge

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

此服务提供由 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 支持多种嵌入函数:default、cohere、openai、jina、voyageai 和 roboflow。

嵌入函数使用 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 密钥添加到参数中没有问题,但出于安全考虑,你也可以使用 args 列表中的 --dotenv-path 参数指定自定义环境配置文件路径,例如:"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"
    ]
}

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

演示

如需查看参考用法,例如共享知识库和向上下文窗口添加记忆,请参阅 Chroma MCP 文档

使用环境变量

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

# Common variables
export CHROMA_CLIENT_TYPE="http"  # or "cloud", "persistent", "ephemeral"

# For persistent client
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"

# For cloud client (Chroma Cloud)
export CHROMA_TENANT="your-tenant-id"
export CHROMA_DATABASE="your-database-name"
export CHROMA_API_KEY="your-api-key"

# For HTTP client (self-hosted)
export CHROMA_HOST="your-host"
export CHROMA_PORT="your-port"
export CHROMA_CUSTOM_AUTH_CREDENTIALS="your-custom-auth-credentials"
export CHROMA_SSL="true"

# Optional: Specify path to .env file (defaults to .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 标志指定该文件的位置,以妥善保管密钥。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。