🧠 mcp.chroma について
🧠 mcp.chromaは、ChromaDBのベクターコレクションやドキュメントを操作するMCPサーバーです。複数のChromaDBクライアントタイプに対応し、コレクションとドキュメントの操作ツールを提供します。
主な機能
- 01コレクションの作成・一覧・変更
- 02ドキュメントの追加・検索・取得
- 03ドキュメントの更新・削除
- 044種類のChromaDBクライアントに対応
- 05セッション内の思考処理
活用シーン
- 01ベクターデータベースのコレクション管理
- 02ドキュメントの追加と類似検索
- 03保存済みドキュメントの確認や更新
MCP 対応
MCPクライアントに、ChromaDBのコレクションおよびドキュメント操作ツールと思考処理ツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🧠 mcp.chroma
ベクトル埋め込み、コレクション、ドキュメント管理のための ChromaDB MCP サーバーです。
📋 概要
この MCP サーバーは、埋め込み用のベクトルデータベースである ChromaDB を操作するためのインターフェースを提供します。MCP(Model-Controller-Protocol)インターフェース経由で利用できる一連のツールを通じて、コレクションやドキュメントを操作できます。
✨ 特長
- 📊 コレクション管理(作成、一覧表示、変更、削除)
- 📄 ドキュメント操作(追加、クエリ、取得、更新、削除)
- 🧠 セッション管理のための思考処理
- 🔌 複数のクライアントタイプ(HTTP、Cloud、Persistent、Ephemeral)
🚀 インストール
リポジトリをクローンし、Cargo でビルドします。
git clone https://github.com/yourusername/mcp-chroma.git
cd mcp-chroma
cargo build --release
🛠️ 使い方
環境の設定
プロジェクトディレクトリに .chroma_env ファイルを作成し、設定パラメーターを記述します。
CHROMA_CLIENT_TYPE=ephemeral
CHROMA_HOST=localhost
CHROMA_PORT=8000
サーバーの実行
# Run with default configuration
./mcp-chroma
# Run with specific client type
./mcp-chroma --client-type http --host localhost --port 8000
# Run with persistent storage
./mcp-chroma --client-type persistent --data-dir ./chroma_data
利用可能なクライアントタイプ
- Ephemeral:インメモリークライアント(デフォルト)
- Persistent:永続化に対応したローカルストレージクライアント
- HTTP:HTTP 経由のリモートクライアント
- Cloud:マネージドクラウドクライアント
⚙️ 設定オプション
| オプション | 環境変数 | 説明 | デフォルト |
|---|---|---|---|
--client-type | CHROMA_CLIENT_TYPE | クライアントのタイプ(ephemeral、persistent、http、cloud) | ephemeral |
--data-dir | CHROMA_DATA_DIR | 永続ストレージのディレクトリ | None |
--host | CHROMA_HOST | HTTP クライアントのホスト | None |
--port | CHROMA_PORT | HTTP クライアントのポート | None |
--ssl | CHROMA_SSL | HTTP クライアントで SSL を使用するかどうか | true |
--tenant | CHROMA_TENANT | クラウドクライアントのテナント | None |
--database | CHROMA_DATABASE | クラウドクライアントのデータベース | None |
--api-key | CHROMA_API_KEY | クラウドクライアントの API キー | None |
--dotenv-path | CHROMA_DOTENV_PATH | .env ファイルへのパス | .chroma_env |
🧰 ツール
コレクションツール
chroma_list_collections:すべてのコレクションを一覧表示chroma_create_collection:新しいコレクションを作成chroma_peek_collection:コレクション内のドキュメントをプレビューchroma_get_collection_info:コレクションのメタデータを取得chroma_get_collection_count:コレクション内のドキュメント数をカウントchroma_modify_collection:コレクションのプロパティを更新chroma_delete_collection:コレクションを削除
ドキュメントツール
chroma_add_documents:コレクションにドキュメントを追加chroma_query_documents:類似するドキュメントを検索chroma_get_documents:コレクションからドキュメントを取得chroma_update_documents:既存のドキュメントを更新chroma_delete_documents:コレクションからドキュメントを削除
思考処理
process_thought:進行中のセッションで思考を処理
📝 使用例
コレクションの作成
{
"collection_name": "my_documents",
"metadata": {
"description": "A collection of example documents"
}
}
ドキュメントのクエリ
{
"collection_name": "my_documents",
"query_texts": ["What are the benefits of vector databases?"],
"n_results": 3
}
🔧 Claude との連携
次のように設定すると、Claude で MCP-Chroma を利用できます。
{
"mcpServers": {
"chroma": {
"command": "mcp-chroma",
"args": [
"--client-type",
"http",
"--host",
"localhost",
"--port",
"8000"
],
"env": {
"CHROMA_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
🖥️ Cursor との連携
MCP-Chroma を Cursor で使用するには、.vscode/mcp.json ファイルに以下を追加します。
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "chroma_api_key",
"description": "ChromaDB API Key",
"password": true
}
],
"servers": {
"chroma": {
"command": "mcp-chroma",
"args": [
"--client-type",
"http",
"--host",
"localhost",
"--port",
"8000"
],
"env": {
"CHROMA_API_KEY": "${input:chroma_api_key}"
}
}
}
}
}
📄 ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。