Chroma MCP Server

Chroma MCP Server

一个服务器,提供由 Chroma 嵌入数据库驱动的数据检索功能,使 AI 模型能够基于生成的数据和用户输入创建集合,并使用向量搜索、全文搜索和元数据过滤来检索这些数据。

Category
访问服务器

README

<p align="center"> <a href="https://trychroma.com"><img src="https://user-images.githubusercontent.com/891664/227103090-6624bf7d-9524-4e05-9d2c-c28d5d451481.png" 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 badge

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

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

特性

  • 灵活的客户端类型

    • 临时(内存中)用于测试和开发
    • 持久化用于基于文件的存储
    • 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 密钥是可以的,但为了安全起见,您还可以使用 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"
    ]
}

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

演示

Chroma MCP 文档 中查找参考用法,例如共享知识库和向上下文窗口添加内存。

使用环境变量

您还可以使用环境变量来配置客户端。服务器将自动从 --dotenv-path 指定的路径(默认为工作目录中的 .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 标志来设置该位置以确保安全。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选