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アプリケーションに長期記憶能力を追加し、コンテキストウィンドウの制限を拡張します。

ドキュメントQ&Aシステム

ドキュメントライブラリに基づくインテリジェントなQ&Aシステムを構築し、セマンティック検索と正確な検索をサポートします。

個人知識管理

個人知識管理システムを作成し、マルチモーダルデータストレージとインテリジェントな検索をサポートします。

プロジェクトまとめ

Chroma MCPは、強力かつ柔軟なベクトルデータベースサーバー実装であり、Chromaの強力な能力とモデルコンテキストプロトコルの標準化された利点を組み合わせています。複数のクライアントタイプ、豊富なドキュメント操作機能、および柔軟な構成オプションを提供することにより、開発者がインテリジェントなAIアプリケーションを構築するための堅牢なデータインフラストラクチャを提供します。

プロトタイプ開発用のメモリ型クライアントであろうと、本番環境用のクラウドサービス統合であろうと、Chroma MCPは一貫したAPIエクスペリエンスと高性能なデータ検索能力を提供します。複数の埋め込み関数のサポートと高度な検索機能により、最新のAIアプリケーションを構築するための理想的な選択肢となります。

プロジェクトのオープンソース特性と活発なコミュニティサポートにより、継続的な開発と改善が保証されます。LLMアプリケーションに強力なデータ検索能力を統合したいと考えている開発者にとって、Chroma MCPは間違いなく検討に値する優れたソリューションです。