claude-code-conversation-search-mcp について
claude-code-conversation-search-mcpは、Claude Codeの会話履歴をインデックス化し、プロジェクトをまたいで検索できるようにします。一致する内容やプロジェクト、日付を示し、会話を再開するコマンドも返します。
主な機能
- 01プロジェクト横断の会話履歴検索
- 02自然言語クエリと条件の解析
- 03前後のメッセージコンテキストの取得
- 04インデックス済みプロジェクトと活動の一覧
- 05会話再開コマンドの提示
- 06検索インデックスの更新
活用シーン
- 01バグや機能についての過去の議論を検索
- 02プロジェクト、日付、話題から会話を特定
- 03特定メッセージ前後のコンテキストを取得
- 04以前のClaude Codeセッションを再開
MCP 対応
MCPサーバーは、会話検索、プロジェクト一覧、メッセージのコンテキスト取得と検索、インデックス更新、サーバー情報のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Claude Code 会話検索 MCP
Claude Code の会話を見失わないようにしましょう。「あのバグ修正についてどこで話したっけ?」と尋ねたり、ターミナルを閉じたときに何時間分ものコンテキストを失ったりすることは、もうありません。
npm install -g claude-code-conversation-search-mcp
すべてのプロジェクトの会話を検索できます:
"where did we discuss the database issue?"
"find that authentication conversation"
"docker configuration we talked about yesterday"
プロジェクト、日付、再開用のコマンドが正確にわかるので、すぐに再開できます。
このツールが必要な理由
問題: Claude Code には会話検索機能がありません。ターミナルを閉じたりプロジェクトを切り替えたりすると、重要なやり取りを見つけるのが難しくなります。適切な会話を見つけようと、わかりにくい会話タイトルを延々とスクロールすることになります。
解決策: どのプロジェクトのセッションからでも、すべての Claude Code の会話を検索できます。「認証についてどこで話したっけ?」と尋ねるだけで、再開コマンドとともに該当する会話がすぐに表示されます。
機能
- 見失った会話を発見:重要なやり取りを二度と見失いません
- すべてのプロジェクトを横断して検索:プロジェクト A で作業中にプロジェクト B の情報が必要になったら、検索するだけです
- すぐに再開:中断したところから続けるための正確な
claude --resumeコマンドを取得できます - 自然言語に対応:「あの Docker の会話を探して」のように、人に尋ねるような質問ができます
- 驚くほど高速:数千件の会話を数ミリ秒で検索できます
- セットアップ不要:インストールすれば、既存の Claude Code ですぐに使えます
クイックスタート
インストールすると、Claude Code に自動で設定されます:
npm install -g claude-code-conversation-search-mcp
どのプロジェクトで作業していても、すべてのプロジェクトを横断して検索できます。
🎯 おすすめ:Claude Code との連携を強化
最適な検索結果を得て、Claude Code とのやり取りを改善するには、グローバルな ~/.claude/CLAUDE.md ファイルに次の指示を追加してください:
# Add to ~/.claude/CLAUDE.md
echo "- When asked to use conversation-search, you must start searching from very wide queries, narrowing down step by step. When responding based on this mcp results output a human readable text with proper newlines instead of formatting json." >> ~/.claude/CLAUDE.md
この設定が役立つ理由:
- 検索戦略の改善:Claude は広範なクエリから始めて段階的に絞り込むため、より関連性の高い結果が見つかります
- 人が読みやすい出力:生の JSON の代わりに、プロジェクトのパス、日付、再開コマンドを適切に整形した応答が得られます
- UX の改善:Claude Code のワークフローで会話検索を自然で直感的に使えるようになります
使い方
# Find lost conversations
"where did we discuss the login bug?"
"find that Docker conversation"
"database setup we talked about"
# Search by what you remember
"authentication error we fixed"
"API endpoint discussion yesterday"
"performance issue last week"
# Find solutions from other projects
"how did we solve CORS issues?"
"Redis configuration that worked"
"deployment script we wrote"
検索するたびに、次の情報が得られます:
- 会話が行われたプロジェクト
- 会話が行われた日時(日付と時刻)
- 話し合った内容(会話の要約)
- 再開に便利なショートカット:
cd ~/.cs/project-name && claude --resume abc123
ディレクトリのスマートショートカット
検索時に、移動を速くするディレクトリのショートカットが自動的に作成されます:
- クロスプラットフォーム:macOS、Linux、Windows で動作します
- 短いパス:長いプロジェクトパスの代わりに
~/.cs/を使用します - 実際のディレクトリ:
cdで移動できるシンボリックリンク/ジャンクションを作成します - プロジェクトに基づく名前:
poc-fbf-v023-1-ccのようなわかりやすい名前を使用します - 自動作成:検索中に必要に応じて生成されます
例:
# Instead of:
cd '/Users/username/very/long/path/to/project'
# You get:
cd ~/.cs/project-name
技術情報
TypeScript で構築されており、検索には SQLite FTS5 を使用し、Model Context Protocol を介して連携します。
システム要件:
- Node.js 18+
- MCP に対応した Claude Code
- macOS、Linux、または Windows
パフォーマンス:
- 10,000 件以上の会話を 1 秒未満で検索
- ファイル監視によるリアルタイムのインデックス作成
- メモリ使用量を最小限に抑制(約 50MB)
ストレージ:
- SQLite データベースは
~/.claude/conversation-search/に保存されます - 会話の内容をインデックス化し、ファイルの内容はインデックス化しません
- 削除された会話は自動的にクリーンアップされます
インストール
ソースからインストール
# Clone the repository
git clone https://github.com/TonySimonovsky/claude-code-conversation-search-mcp.git
cd claude-code-conversation-search-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Optional: Link globally
npm link
設定
自動セットアップ(おすすめ)
インストール後、MCP サーバーは Claude Code に自動で設定されます。手動での設定は不要です!
手動設定(任意)
カスタム設定が必要な場合は、次のいずれかの方法を選んでください:
方法 1:コマンドライン(おすすめ)
# Add globally for all projects
claude mcp add conversation-search claude-code-conversation-search-mcp
# Add for current project only (creates .mcp.json)
claude mcp add --scope project conversation-search claude-code-conversation-search-mcp
方法 2:設定ファイルを直接編集
グローバル設定(すべてのプロジェクト):
# Edit the global Claude Code config (run from anywhere)
nano ~/.claude.json
# Or use your preferred editor: code ~/.claude.json
{
"mcpServers": {
"conversation-search": {
"command": "claude-code-conversation-search-mcp",
"args": []
}
}
}
プロジェクト固有の設定(チームで共有):
# Create project config file (run from project root)
nano .mcp.json
# Or: code .mcp.json
{
"mcpServers": {
"conversation-search": {
"command": "claude-code-conversation-search-mcp",
"args": []
}
}
}
設定オプション
MCP サーバーは、環境変数を使った幅広い設定に対応しています。最もよく使用されるオプションは次のとおりです。
| 環境変数 | 説明 | デフォルト |
|---|---|---|
CONVERSATION_DB_PATH | SQLite データベースのパス | ~/.claude/conversation-search.db |
CLAUDE_PROJECTS_DIR | Claude プロジェクトディレクトリのパス | ~/.claude/projects |
INDEX_INTERVAL | 自動インデックス作成の間隔(ミリ秒) | 300000(5 分) |
MAX_RESULTS | 返される検索結果の最大数 | 20 |
DEFAULT_CONTEXT_SIZE | 前後に取得するデフォルトのコンテキストメッセージ数 | 2 |
AUTO_INDEXING | 自動インデックス作成を有効にする | true |
DEBUG | デバッグログを有効にする | false |
📖 設定オプションとパフォーマンスチューニングの詳細については、設定ガイドを参照してください。
使用方法
設定すると、Claude Code で次のツールを利用できます。
会話を検索
自然言語で会話履歴を検索します。
search_conversations("Where did we create auth.js?")
search_conversations("database optimization last week")
search_conversations("TypeError in index.ts")
クエリの例:
- ファイル操作:
"created auth.js"、"edited config.json"、"modified database.ts" - トピック:
"discuss React hooks"、"security review"、"performance optimization" - エラー:
"TypeError"、"CORS error"、"undefined variable" - コマンド:
"npm install lodash"、"git commit"、"database migration" - 時間フィルター:
"today"、"yesterday"、"last week"、"this month" - プロジェクトフィルター:
"in project myapp"、"from backend-api"
パラメーター:
query(必須):自然言語の検索クエリlimit(任意):返される結果の最大数(デフォルト:10)includeContext(任意):前後のメッセージを含めるかどうか(デフォルト:true)
プロジェクトを一覧表示
インデックスに登録されたすべてのプロジェクトと統計情報を取得します。
list_projects()
プロジェクト名、メッセージ数、最終アクティビティの日付を返します。
メッセージのコンテキストを取得
特定のメッセージの前後のコンテキスト全体を取得します。
get_message_context("msg_abc123", contextSize: 5)
パラメーター:
messageId(必須):コンテキストを取得するメッセージ IDcontextSize(任意):前後のメッセージ数(デフォルト:5)
会話のメッセージを取得
特定の会話からメッセージを取得します。
get_conversation_messages("conv_456", limit: 50, startFrom: 0)
get_conversation_messages("conv_456", limit: 10, startFrom: -1) # Last 10 messages
get_conversation_messages("conv_456", limit: 20, startFrom: -10) # 20 messages starting from 10th from end
パラメーター:
conversationId(必須):メッセージを取得する会話 IDlimit(任意):返されるメッセージ数(デフォルト:50)startFrom(任意):開始位置。0=最初、-1=最後、-10=最後から 10 番目(デフォルト:0)
ツールを一覧表示
利用可能なすべてのツールとそのシグネチャを表示します。
list_tools()
自動生成されたツールのシグネチャと説明を返します。新しいツールが追加されると、自動的に更新されます。
インデックスを更新
インデックスの再作成を手動で実行します。
refresh_index()
新しいプロジェクトを追加した後や、自動インデックス作成が無効になっている場合に便利です。
サーバー情報を取得
サーバーのバージョン、変更履歴、システム情報を表示します。
get_server_info()
現在のバージョン、最近の変更、システムの状態、利用可能なツールを表示します。
高度な使い方
複雑なクエリ
組み込みのクエリパーサーは、高度な自然言語パターンに対応しています。
# Find specific file operations
"Where did we create or modify authentication files?"
# Search by multiple criteria
"database migrations in project backend last week"
# Find specific error patterns
"TypeError or ReferenceError in React components"
# Search tool operations
"bash commands containing npm or yarn"
# Find code discussions
"Where did we discuss implementing caching?"
検索演算子
- AND:デフォルトでは語句を AND で結合します(
"auth login"は両方を含むメッセージを検索します) - OR:語句の間に「or」を使用します(
"auth or login") - NOT:
-接頭辞を使用します("auth -test"はテスト関連の結果を除外します) - フレーズ:完全一致するフレーズには引用符を使用します(
"user authentication") - ワイルドカード:
*を使って前方一致検索します("auth*"は auth、authentication などに一致します)
時間フィルター
次の時間表現に対応しています。
today、yesterdaylast week、this weeklast month、this monthlast 7 days、last 30 days- 特定の日付:
"on 2024-01-15"、"since January 1"
開発
開発環境をセットアップ
# Clone and install
git clone <repository>
cd claude-code-conversation-search-mcp
npm install
# Run in development mode with hot reload
npm run dev
# Run tests
npm test
# Build for production
npm run build
プロジェクト構成
src/
├── index.ts # MCP server entry point
├── indexer/
│ ├── parser.ts # JSONL conversation parser
│ ├── database.ts # SQLite database operations
│ └── indexer.ts # Indexing orchestration
├── search/
│ └── query.ts # Natural language query parser
└── types/
└── index.ts # TypeScript type definitions
貢献
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
トラブルシューティング
データベースの問題
検索インデックスが破損した場合:
# Remove the database file
rm ~/.claude/conversation-search.db
# Restart Claude Code to trigger re-indexing
パフォーマンスの最適化
会話履歴が大きい場合:
INDEX_INTERVALを増やして、インデックス作成の頻度を下げますMAX_RESULTSを設定して、結果のサイズを制限します- クエリで特定のプロジェクトフィルターを使用します
デバッグモード
問題のトラブルシューティングのため、デバッグログを有効にします:
{
"mcpServers": {
"conversation-search": {
"command": "npx",
"args": ["claude-code-conversation-search-mcp"],
"env": {
"DEBUG": "true"
}
}
}
}
ライセンス
MITライセンス — 詳細は LICENSE ファイルを参照してください
謝辞
Anthropic の Model Context Protocol SDK を使用して構築されています。
クレジット
Tony AI Champ と Claude Code により開発、09-2025
サポート
問題、機能リクエスト、質問については:
- GitHub で issue を作成してください
- 解決策がないか、既存の issue を確認してください
- バグを報告する際は、デバッグログを含めてください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。