Chroma MCP Server について
Chroma MCP Server は、オープンソースのエンベディングデータベース Chroma 向けの MCP サーバーです。Cursor などで AI 支援開発の検索可能なワーキングメモリを永続化し、過去のセッションの判断や履歴を呼び出せるようにします。
主な機能
- 01永続化され検索可能なワーキングメモリ
- 02AI との対話の自動ログ記録
- 03コードベースのインデックス作成とセマンティックチャンク分割
- 04対話とコード変更の双方向リンク
- 05一時保存と永続保存のモード
活用シーン
- 01Cursor の複数セッションにわたる過去の判断の呼び出し
- 02対話とコード変更の記録
- 03テスト失敗から検証済みの知見を蓄積
MCP 対応
本プロジェクトは MCP サーバーであり、開発コンテキストの保存と検索に使うツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Chroma MCP サーバー
オープンソースの埋め込みデータベースである Chroma と連携する Model Context Protocol(MCP)サーバーです。
概要
Chroma MCP サーバーは、AI を活用した開発のための、永続的で検索可能な「作業メモリ」を作成します。
- コンテキストの自動検索: AI アシスタントが過去のセッションから関連情報を検索できます
- 開発者が管理する永続化: MCP を介して ChromaDB に重要な決定や知見を保存します
- セカンドブレインとの連携: IDE のワークフローと連携し、統合されたナレッジハブを作成します
主な機能:
- コードベースの自動インデックス作成: コードの変更を追跡してインデックス化します
- チャットログの自動記録: コンテキスト(コード差分、ツールの実行順序)を強化して AI とのやり取りを記録します
- 双方向リンク: ディスカッションとコード変更を関連付け、機能の進化を追跡できるようにします
- セマンティックなコード分割: 論理的なコード構造を保持し、より有意義なコンテキスト検索を実現します
- 作業メモリツール: 開発コンテキストを記録・検索するための MCP コマンド
- 検証システム: コード変更と学習内容の昇格を、根拠に基づいて検証します
- テスト駆動学習の自動化: テスト失敗から、検証済みの修正と学習内容の昇格までを完全に自動化したワークフローです。プロジェクトへの統合方法については、Pytest プラグイン使用ガイドを参照してください。
詳細については、セカンドブレイン入門ガイドを参照してください。
クイックスタート
インストール
# Basic installation
pip install chroma-mcp-server
# Full installation with all embedding models
pip install "chroma-mcp-server[full]"
実行
# With in-memory storage (data lost on restart)
chroma-mcp-server --client-type ephemeral
# With persistent storage
chroma-mcp-server --client-type persistent --data-dir ./my_data
Cursor との連携
プロジェクトのルートにある .cursor/mcp.json を追加または変更します。
{
"mcpServers": {
"chroma": {
"command": "uvx",
"args": [
"chroma-mcp-server"
],
"env": {
"CHROMA_CLIENT_TYPE": "persistent",
"CHROMA_DATA_DIR": "/path/to/your/data",
"CHROMA_LOG_DIR": "/path/to/your/logs",
"LOG_LEVEL": "INFO",
"MCP_LOG_LEVEL": "INFO",
"MCP_SERVER_LOG_LEVEL": "INFO"
}
}
}
}
最近の改善点
- コンテキスト取得の強化: コード差分やツールの実行順序を自動的に抽出し、信頼度スコアを割り当てます
- 双方向リンク: チャットのディスカッションとコード変更の間に、たどって確認できる関連付けを作成します
- セマンティックなコード分割: 固定サイズのチャンクではなく、論理的な境界(関数、クラス)を使用します
- サーバー側でのタイムスタンプ適用: すべてのコレクションで一貫したタイムスタンプを保証します
- コレクションの自動作成:
chat_history_v1やcodebase_v1などの必須コレクションが存在しない場合、サーバー起動時に自動作成されます。 - ログシステムの強化: 実行ごとにログファイルを作成し、stdio モードでの JSON 通信への混入を防ぎます
- 埋め込み関数の管理: 埋め込み関数を変更する際に、コレクションのメタデータを更新するツールを提供します
- コレクション設定コマンド: 複数のコレクションを一貫した設定で簡単に作成できます
- 自動昇格ワークフロー: 信頼度の高い項目を自動的に処理し、派生した学習内容の昇格を効率化します
- スマートなデフォルト設定: コンテキストに応じた各フィールドの適切なデフォルト値を使い、対話形式で昇格できます
- 低信頼度の警告: より慎重な確認が必要な可能性のある項目を視覚的に示します
- テストワークフローの自動化: テスト失敗の記録、修正の監視、検証済みの学習内容の昇格を完全に自動化します
ドキュメント
包括的なドキュメントはdocsディレクトリにあります。
- メインドキュメント - インストール、設定、使用方法を網羅したガイド
- はじめに - 詳細なセットアップ手順
- 開発者ガイド - 貢献者と開発者向け
- IDEとツールの統合ガイド - IDEやその他のツールとの統合ガイド。
- チャットログの自動記録 - 双方向リンクに対応した拡張チャット履歴
- 使用ガイド - 特定の機能やワークフローの使い方を詳しく説明したガイド。
- コンテキストの拡張キャプチャ - コード差分の抽出とツールの順序付けについて
- セマンティックコードチャンク化 - 意味のある検索を実現する、ロジックを保持したコードチャンク化
- 自動テストワークフロー(Pytestプラグインの使用方法) - 自動検証によるテスト駆動学習
- 思考ツールとユーティリティ - 構造化された思考とメモリツールに関するドキュメント。
- クライアントおよび開発者向けスクリプト - コマンドラインツールと開発者向けスクリプトのガイド。
- ログ記録のドキュメント - ログ記録機能と設定の概要。
- サーバーのログ記録 - 改良されたログ記録システムの詳細
- 自動化のドキュメント - 開発タスクを自動化するためのガイド。
- プロジェクトのルールとガイドライン - 開発ルール、ガイドライン、ベストプラクティス。
- リファクタリング計画 - 各種リファクタリングの取り組みとアーキテクチャ計画に関するドキュメント。
- APIリファレンス - 利用可能なMCPツールとパラメーター
ライセンス
Chroma MCP Serverは、Commons Clause付きのMITライセンスで提供されています。つまり、次のことができます。
✅ 許可されていること:
- Chroma MCP Serverをあらゆる目的(個人、商用、学術)で使用する
- コードを変更する
- コピーを配布する
- Chroma MCP Serverを使用して構築した製品を作成し、販売する
❌ 許可されていないこと:
- Chroma MCP Server自体を販売する
- Chroma MCP Serverをホスト型サービスとして提供する
- Chroma MCP Serverを基に競合製品を作成する
ライセンス全文については、LICENSE.mdファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。