MCP Text Search Server by Claude Code
概要
ローカルディスク上のテキストファイルを読み込み専用で検索・閲覧できるMCPサーバーの実装。
プロジェクト構造
mcp-text-search-server/
├── src/
│ └── index.ts # MCPサーバーのメインコード
├── dist/ # ビルド済みファイル
├── package.json
├── tsconfig.json
├── mcp.json # MCP設定例
├── README.md
└── SampleDir1/ # テスト用ディレクトリ
機能
- list_files: 指定パターンにマッチするファイル一覧を取得
- search_text: ファイル内テキストの検索(正規表現対応)
- read_file: ファイル全文の読み込み(読み込み専用)
セットアップ手順
cd mcp-text-search-server
npm install
npm run build
Claude Codeへの追加
claude mcp add text-search "node" "/Users/USER/mcp-text-search-server/dist/index.js" "/Users/USER/mcp-text-search-server/SampleDir1/"
使用例
# ファイル一覧
@text-search list_files
# パターン指定でファイル検索
@text-search list_files pattern="*.txt"
# テキスト検索
@text-search search_text query="検索文字列"
# ファイル読み込み
@text-search read_file file_path="/full/path/to/file.txt"
技術仕様
- TypeScriptで実装
- @modelcontextprotocol/sdk を使用
- stdioプロトコルで通信
- 指定ディレクトリ外のファイルへのアクセスを制限
動作確認結果
- サーバープロセス: 独立したNode.jsプロセスとして動作(PID確認済み)
- テストデータ: SampleDir1に83個のファイル(古今和歌集の短歌コレクション)
- 検索機能: 正規表現対応、ファイルパターン指定可能
- Claude Code連携: 自然言語での問い合わせに自動的に適切なMCP機能を選択
実用例
- 古今和歌集から「恋」をテーマとした歌の検索
- 「読人しらず」の恋歌に絞り込み検索
- 検索結果からHTML表示ファイルを生成
学習ポイント
- MCPサーバーはClaude Codeから自律的に使用される
- 複数の検索・読み込み操作を組み合わせた複合タスクに対応
- ローカルファイルコレクションの効率的な検索・活用が可能
関連リンク
(2025年6月26日)