File Search MCP について
File Search MCP は Rust で書かれた MCP サーバーで、指定したディレクトリ内のテキストファイルを全文検索します。Tantivy 検索エンジンでメモリ上にインデックスを作成し、バイナリファイルはスキップします。ローカルのテキストファイルを AI アシスタントから検索したい開発者に向いています。
主な機能
- 01ディレクトリ内テキストファイルの全文キーワード検索
- 02関連度スコア順の検索結果表示
- 03テキストファイルの自動判定とバイナリファイルのスキップ
- 04一時的な検索に使うインメモリインデックス
- 05指定したテキストファイルの内容読み取り
活用シーン
- 01AI アシスタントによるプロジェクトディレクトリ内のキーワード検索
- 02ローカルのメモや文書から関連箇所を探索
- 03検索でヒットしたファイルの内容確認
MCP 対応
MCP サーバーとして、ディレクトリ検索とファイル内容の読み取りの 2 つのツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
File Search MCP
Rust で構築された、ファイルシステム内を全文検索するための特化型 Model Context Protocol(MCP)サーバーです。
🔍 概要
File Search MCP は、指定したディレクトリ内のテキストファイルを対象に、強力な全文検索機能を提供するツールです。Tantivy 検索エンジンを使用して、テキストコンテンツを効率的にインデックス化し、検索します。
このプロジェクトは Model Context Protocol(MCP)を実装しており、このプロトコルに対応する AI アシスタントやその他のシステムと連携できます。
✨ 主な機能
- 全文検索:ディレクトリ構造内のテキストファイルからキーワードを検索します
- ファイルコンテンツリーダー:特定のテキストファイルの内容を読み取り、表示します
- スマートなファイル検出:テキストファイルを自動的に識別し、バイナリファイルをスキップします
- MCP 連携:Model Context Protocol に対応するシステムで動作します
- メモリ内インデックス作成:検索処理用に高速な一時インデックスを作成します
- スコアに基づく結果:関連度スコア付きの検索結果を返します
🛠️ 技術スタック
- Rust:パフォーマンス、安全性、並行処理のために使用
- Tantivy:Rust 製の全文検索エンジンライブラリ
- RMCP:Model Context Protocol の Rust 実装
- Tokio:Rust 用の非同期ランタイム
📋 使い方
まず、こちらから Rust sdk をインストールします。
このリポジトリをクローンします。
git clone [email protected]:Kurogoma4D/file-search-mcp.git
以下を MCP 設定に追加します(Cursor、Claude など)。
- command:
<path-to-repo>/target/release/file-search-mcp
<path-to-repo> をクローンしたリポジトリのパスに置き換えてください。
🔄 仕組み
- サーバーは指定したディレクトリ内のテキストファイルをインデックス化し、バイナリファイルを除外します
- テキストファイルの内容を処理し、メモリ内の Tantivy インデックスに追加します
- 検索を実行すると、インデックスを検索して一致する項目を取得し、関連度順に並べます
- ファイルパスと関連度スコアを付けて結果を返します
- ファイルコンテンツリーダーツールを使うと、パスを指定して任意のテキストファイルの内容を表示できます
🛠️ 利用可能なツール
検索ツール
- 説明:指定したディレクトリ内のテキストファイルからキーワードを検索します
- パラメーター:
directory:検索対象のディレクトリへのパスkeyword:検索するキーワード
ファイルコンテンツリーダーツール
- 説明:特定のファイルの内容を読み取り、表示します
- パラメーター:
file_path:読み取るファイルへのパス
📄 ライセンス
MIT ライセンス
🙏 謝辞
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。