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