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日)