Chroma MCP Server
一个服务器,提供由 Chroma 嵌入数据库驱动的数据检索功能,使 AI 模型能够基于生成的数据和用户输入创建集合,并使用向量搜索、全文搜索和元数据过滤来检索这些数据。
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 服务器
模型上下文协议 (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 支持多种嵌入函数:default、cohere、openai、jina、voyageai 和 roboflow。
嵌入函数利用 Chroma 的集合配置,该配置会持久化集合的选定嵌入函数以供检索。一旦使用集合配置创建集合,在检索以供将来的查询和插入时,将使用相同的嵌入函数,而无需再次指定嵌入函数。嵌入函数持久化是在 Chroma 的 v1.0.0 中添加的,因此如果您使用 <=0.6.3 版本创建了集合,则不支持此功能。
当访问使用外部 API 的嵌入函数时,请务必使用正确的格式添加 API 密钥的环境变量,可在 嵌入函数环境变量 中找到。
与 Claude Desktop 一起使用
- 要添加临时客户端,请将以下内容添加到您的
claude_desktop_config.json文件中:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp"
]
}
- 要添加持久客户端,请将以下内容添加到您的
claude_desktop_config.json文件中:
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp",
"--client-type",
"persistent",
"--data-dir",
"/full/path/to/your/data/directory"
]
}
这将创建一个持久客户端,它将使用指定的数据目录。
- 要连接到 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"]。
- 要连接到 [您自己的云提供商上的自托管 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
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。