Chroma MCP Server

Official
by chroma-core
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Supports building JavaScript LLM applications with vector database memory capabilities powered by Chroma, enabling embedding-based retrieval for context augmentation.

  • Supports building Python LLM applications with vector database memory capabilities powered by Chroma, enabling embedding-based retrieval for context augmentation.

Chroma MCP 服务器

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

该服务器提供由 Chroma 提供支持的数据检索功能,使 AI 模型能够基于生成的数据和用户输入创建集合,并使用矢量搜索、全文搜索、元数据过滤等检索该数据。

特征

  • 灵活的客户类型
    • 用于测试和开发的临时(内存中)
    • 基于文件的持久存储
    • 用于自托管 Chroma 实例的 HTTP 客户端
    • 用于 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 密钥是可以的,但为了安全起见,您还可以使用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标志设置该位置以便妥善保管。

-
security - not tested
A
license - permissive license
-
quality - not tested

该服务器提供由 Chroma 嵌入数据库支持的数据检索功能,使 AI 模型能够基于生成的数据和用户输入创建集合,并使用矢量搜索、全文搜索和元数据过滤检索该数据。

  1. Features
    1. Supported Tools
    2. Embedding Functions
  2. Usage with Claude Desktop
    1. Demos
    2. Using Environment Variables
ID: utidzg09ay