Chroma MCP Server

Official
by chroma-core
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Supports building JavaScript LLM applications with vector database memory capabilities powered by Chroma, enabling embedding-based retrieval for context augmentation.

  • Supports building Python LLM applications with vector database memory capabilities powered by Chroma, enabling embedding-based retrieval for context augmentation.

Chroma MCP サーバー

モデル コンテキスト プロトコル (MCP)は、LLM アプリケーションと外部データ ソースまたはツール間の簡単な統合のために設計されたオープン プロトコルであり、LLM に必要なコンテキストをシームレスに提供するための標準化されたフレームワークを提供します。

このサーバーは、Chroma を利用したデータ取得機能を提供し、AI モデルが生成されたデータとユーザー入力に基づいてコレクションを作成し、ベクター検索、全文検索、メタデータ フィルタリングなどを使用してそのデータを取得できるようにします。

特徴

  • 柔軟なクライアントタイプ
    • テストと開発用の一時的(メモリ内)
    • ファイルベースのストレージの永続性
    • セルフホスト型 Chroma インスタンス用の HTTP クライアント
    • 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のバージョン1.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" ] }

これにより、セルフホストされた Chroma インスタンスに接続する HTTP クライアントが作成されます。

デモ

共有ナレッジベースやコンテキストウィンドウへのメモリの追加などの参考使用法については、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フラグを使用して、その場所を安全に保管できるように設定することをお勧めします。

-
security - not tested
A
license - permissive license
-
quality - not tested

Chroma 埋め込みデータベースを活用したデータ取得機能を提供するサーバー。AI モデルが生成されたデータとユーザー入力に基づいてコレクションを作成し、ベクター検索、全文検索、メタデータ フィルタリングを使用してそのデータを取得できるようにします。

  1. Features
    1. Supported Tools
    2. Embedding Functions
  2. Usage with Claude Desktop
    1. Demos
    2. Using Environment Variables
ID: utidzg09ay