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 無疑是一個值得考慮的優秀解決方案。