Home
Login
chroma-core/chroma-mcp

为Chroma提供数据库功能的模型上下文协议(MCP)服务器实现,支持向量搜索、全文搜索和元数据过滤等AI数据检索能力

Apache-2.0Python 188chroma-core Last Updated: 2025-06-11
https://github.com/chroma-core/chroma-mcp

Chroma MCP - 模型上下文协议服务器

项目概述

Chroma MCP 是一个基于模型上下文协议(Model Context Protocol, MCP)的服务器实现,专门为 Chroma 向量数据库提供强大的数据库功能。作为开源嵌入数据库 Chroma 的扩展,它为 LLM 应用程序提供了标准化的数据检索和管理能力。

模型上下文协议是一个开放协议,旨在实现 LLM 应用程序与外部数据源或工具之间的无缝集成,为 AI 模型提供所需的上下文信息。Chroma MCP 基于这一协议,使 AI 模型能够轻松地创建数据集合、存储用户输入和生成的数据,并通过多种搜索方式检索这些数据。

核心功能与特性

🔧 灵活的客户端类型

Chroma MCP 支持多种客户端配置,满足不同场景的需求:

  • 内存型客户端(Ephemeral): 适用于测试和开发环境,数据存储在内存中
  • 持久化客户端(Persistent): 基于文件的存储方式,数据持久化到本地
  • HTTP 客户端: 连接自托管的 Chroma 实例
  • 云客户端(Cloud): 集成 Chroma Cloud 服务,自动连接到 api.trychroma.com

📁 集合管理功能

提供完整的集合生命周期管理:

  • 创建和配置: 创建新集合并配置 HNSW 参数以实现优化的向量搜索
  • 修改和删除: 支持集合的名称和元数据修改,以及完整删除
  • 信息查询: 获取集合详细信息、统计数据和文档数量
  • 分页列表: 支持分页的集合列表功能
  • 嵌入函数选择: 在创建集合时可选择不同的嵌入函数

📄 文档操作能力

全面的文档管理和操作功能:

  • 文档添加: 支持添加带有可选元数据和自定义 ID 的文档
  • 语义查询: 使用语义搜索查询文档,支持高级过滤
  • 文档检索: 通过 ID 或过滤器检索文档,支持分页
  • 文档更新: 更新现有文档的内容、元数据或嵌入
  • 文档删除: 从集合中删除特定文档
  • 全文搜索: 提供强大的全文搜索能力
  • 高级过滤: 支持基于元数据和文档内容的高级过滤

🤖 多样化嵌入函数支持

Chroma MCP 支持多种嵌入函数,为不同应用场景提供选择:

  • default: 默认嵌入函数
  • cohere: Cohere 嵌入服务
  • openai: OpenAI 嵌入服务
  • jina: Jina AI 嵌入服务
  • voyageai: Voyage AI 嵌入服务
  • roboflow: Roboflow 嵌入服务

🔍 丰富的 API 工具

提供完整的 API 工具集:

  • 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: 删除特定文档

配置与部署

Claude Desktop 集成配置

内存型客户端配置:

"chroma": {
  "command": "uvx",
  "args": ["chroma-mcp"]
}

持久化客户端配置:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "persistent",
    "--data-dir", "/full/path/to/your/data/directory"
  ]
}

云客户端配置:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "cloud",
    "--tenant", "your-tenant-id",
    "--database", "your-database-name",
    "--api-key", "your-api-key"
  ]
}

HTTP 客户端配置:

"chroma": {
  "command": "uvx",
  "args": [
    "chroma-mcp",
    "--client-type", "http",
    "--host", "your-host",
    "--port", "your-port",
    "--custom-auth-credentials", "your-custom-auth-credentials",
    "--ssl", "true"
  ]
}

环境变量配置

支持通过环境变量进行配置,提供更灵活的部署选项:

# 通用变量
export CHROMA_CLIENT_TYPE="http"
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"

# 云客户端配置
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_SSL="true"

# 嵌入函数 API 密钥
export CHROMA_COHERE_API_KEY="your-cohere-key"
export CHROMA_OPENAI_API_KEY="your-openai-key"

技术特性

嵌入函数持久化

从 Chroma v1.0.0 开始,支持嵌入函数持久化功能。一旦使用特定嵌入函数创建集合,该配置将被持久化,后续的查询和插入操作将自动使用相同的嵌入函数,无需重复指定。

安全性考虑

为了安全起见,建议使用 --dotenv-path 参数指定环境配置文件路径,避免在命令行参数中直接暴露 API 密钥。

高级搜索能力

  • 向量搜索: 基于语义相似性的向量搜索
  • 全文搜索: 传统的文本匹配搜索
  • 元数据过滤: 基于文档元数据的精确过滤
  • 混合搜索: 结合多种搜索方式的复合查询

应用场景

共享知识库

构建团队或组织的共享知识库,支持智能检索和知识发现。

上下文窗口记忆

为 LLM 应用添加长期记忆能力,扩展上下文窗口的限制。

文档问答系统

构建基于文档库的智能问答系统,支持语义搜索和精确检索。

个人知识管理

创建个人知识管理系统,支持多模态数据存储和智能检索。

项目总结

Chroma MCP 是一个功能强大且灵活的向量数据库服务器实现,它将 Chroma 的强大能力与模型上下文协议的标准化优势相结合。通过提供多种客户端类型、丰富的文档操作功能和灵活的配置选项,它为开发者构建智能 AI 应用提供了坚实的数据基础设施。

无论是用于原型开发的内存型客户端,还是生产环境的云服务集成,Chroma MCP 都能提供一致的 API 体验和高性能的数据检索能力。其对多种嵌入函数的支持和高级搜索功能,使其成为构建现代 AI 应用的理想选择。

项目的开源特性和活跃的社区支持,确保了其持续的发展和改进。对于希望在 LLM 应用中集成强大数据检索能力的开发者来说,Chroma MCP 无疑是一个值得考虑的优秀解决方案。