Chroma

官方

使用開源 AI 應用資料庫進行嵌入、向量搜尋、文件儲存與全文搜尋

你可以用 Chroma MCP 做什麼?

  • 列出和瀏覽集合 — 使用 chroma_list_collections 分頁瀏覽可用集合,並使用 chroma_peek_collection 預覽其中一個集合內的範例文件。
  • 使用選定的嵌入模型建立集合 — 執行 chroma_create_collection 以使用 defaultopenaicoherejinavoyageairoboflow 嵌入來建立新集合。
  • 新增帶有元數據的文件 — 透過 chroma_add_documents 插入文字,可選擇附加元數據和自訂 ID 以便後續篩選。
  • 按語義或關鍵字搜尋 — 使用 chroma_query_documents 進行語義向量搜尋,或使用全文搜尋來尋找相關文件。
  • 篩選並檢索特定文件 — 使用 chroma_get_documents 按 ID 或元數據篩選來擷取文件,並支援分頁。
  • 更新或刪除文件 — 使用 chroma_update_documents 修改文件內容、元數據或嵌入,或透過 chroma_delete_documents 移除它們。

文件

Chroma logo

Chroma - 開源嵌入式資料庫
建構具備記憶功能的 Python 或 JavaScript LLM 應用程式的最快方法!

Discord | License | 文件 | 首頁

Chroma MCP 伺服器

smithery badge

模型上下文協定 (MCP) 是一個開放協定,旨在讓 LLM 應用程式與外部資料來源或工具之間能輕鬆整合,提供一個標準化框架,無縫地為 LLM 提供其所需的上下文。

此伺服器提供由 Chroma 驅動的資料檢索功能,讓 AI 模型能夠針對生成的資料和使用者輸入建立集合,並使用向量搜尋、全文搜尋、中繼資料篩選等方式來檢索這些資料。

這是一個用於自行託管 Chroma 存取權限的 MCP 伺服器。如果您正在尋找 套件搜尋,可以在此處找到其儲存庫。

功能特色

  • 靈活的客戶端類型

    • 暫存式(記憶體內)用於測試和開發
    • 持久性用於基於檔案的儲存
    • 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)中的 .env 檔案,或從系統環境變數載入變數。命令列引數的優先順序高於環境變數。

# Common variables
export CHROMA_CLIENT_TYPE="http"  # or "cloud", "persistent", "ephemeral"

# For persistent client
export CHROMA_DATA_DIR="/full/path/to/your/data/directory"

# For cloud client (Chroma Cloud)
export CHROMA_TENANT="your-tenant-id"
export CHROMA_DATABASE="your-database-name"
export CHROMA_API_KEY="your-api-key"

# For HTTP client (self-hosted)
export CHROMA_HOST="your-host"
export CHROMA_PORT="your-port"
export CHROMA_CUSTOM_AUTH_CREDENTIALS="your-custom-auth-credentials"
export CHROMA_SSL="true"

# Optional: Specify path to .env file (defaults to .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 旗標來設定該位置,以妥善保管。