Code Index MCP について
Code Index MCPは、LLM向けにプロジェクトディレクトリをインデックス化し、コード検索と分析を行うサーバーです。複数のプログラミング言語に対応し、インデックスデータを保存して再利用できます。
主な機能
- 01プロジェクトファイルの索引化とナビゲーション
- 02コードパターンとファイル形式での検索
- 03ファイルとコード構造の要約
- 04コード複雑度の分析
- 05複数のプログラミング言語への対応
- 06インデックスとプロジェクト設定の保存
活用シーン
- 01不慣れなプロジェクト構造の把握
- 02ファイル形式を指定したコードパターン検索
- 03ソースファイル内の関数の確認
- 04コード構造と複雑度の分析
MCP 対応
このMCPサーバーは、プロジェクトの索引化、コード検索、ナビゲーション、分析機能をMCPクライアントに公開します。プロジェクトパスは明示的に設定する必要があります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Code Index MCP
Code Index MCP は、LLM がプロジェクトディレクトリ内のコードをインデックス化、検索、分析できるようにする Model Context Protocol サーバーです。
機能
- プロジェクトのファイル構造をインデックス化して移動する
- コード内の特定のパターンを検索する
- 詳細なファイル概要を取得する
- コードの構造と複雑さを分析する
- 複数のプログラミング言語に対応する
- プロジェクト設定を永続的に保存する
インストール
このプロジェクトでは、環境管理と依存関係のインストールに uv を使用します。
-
Python 3.10 以降がインストールされていることを確認します
-
uv をインストールします(推奨):
# Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # macOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh -
コードを取得します:
# Clone the repository git clone https://github.com/your-username/code-index-mcp.git
使用方法
サーバーを直接実行する
# Run directly with uv - no additional dependency installation needed
uv run run.py
UV は、プロジェクトの設定に基づいてすべての依存関係を自動的にインストールします。
Claude Desktop との統合
Code Index MCP は Claude Desktop と簡単に統合できます。
-
UV がインストールされていることを確認します(上記のインストールのセクションを参照)
-
Claude Desktop の設定ファイルを探すか、作成します:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
-
次の設定を追加します(実際のパスに置き換えてください):
Windows の場合:
{ "mcpServers": { "code-indexer": { "command": "uv", "args": [ "--directory", "C:\\Users\\username\\path\\to\\code-index-mcp", "run", "run.py" ] } } }macOS/Linux の場合:
{ "mcpServers": { "code-indexer": { "command": "uv", "args": [ "--directory", "/home/username/path/to/code-index-mcp", "run", "run.py" ] } } }注:
--directoryオプションは重要です。これにより、uv が正しいプロジェクトディレクトリで実行され、すべての依存関係を正しく読み込めるようになります。 -
Claude Desktop を再起動すると、Code Indexer を使用してコードプロジェクトを分析できます
手動で依存関係をインストールする必要はありません。サーバーの実行時に、UV がすべての依存関係を自動的に処理します。
基本的なワークフロー
-
プロジェクトパスの設定(最初に必ず行う手順):
- 初めて使用する際は、分析対象のプロジェクトパスを設定する必要があります
- Claude への指示:「プロジェクトを分析したいので、プロジェクトパスの設定を手伝ってください」
- プロジェクトディレクトリの完全なパスを指定します
-
コード検索:
- 特定のキーワードやパターンを検索します:「プロジェクト内で 'function name' を検索して」
- ファイルタイプで絞り込みます:「すべての .py ファイルから 'import' を検索して」
-
ファイル分析:
- 特定のファイルを分析します:「ファイル src/main.py を分析して」
- ファイルの概要を取得します:「utils/helpers.js 内の関数の一覧を出して」
-
プロジェクト内の移動:
- プロジェクト構造を表示します:「このプロジェクトの構造を表示して」
- 特定のパターンに一致するファイルを探します:「test_*.py ファイルをすべて探して」
技術詳細
永続ストレージ
すべてのインデックスと設定データは、プロジェクトディレクトリ内の .code_indexer フォルダーに保存されます。
config.json:プロジェクト設定情報file_index.pickle:ファイルインデックスデータcontent_cache.pickle:ファイルコンテンツのキャッシュ
これにより、使用するたびにプロジェクト全体を再インデックス化する必要がなくなります。
UV による依存関係の管理
Code Index MCP は依存関係の管理に UV を使用しており、次のような利点があります。
- プロジェクトの要件に基づく依存関係の自動解決
- パッケージのインストールと環境のセットアップを高速化
- ロックファイルによる依存関係のバージョンの一貫性
対応ファイルタイプ
現在、インデックス化と分析に対応しているファイルタイプは次のとおりです。
- Python (.py)
- JavaScript/TypeScript (.js, .ts, .jsx, .tsx)
- Java (.java)
- C/C++ (.c, .cpp, .h, .hpp)
- C# (.cs)
- Go (.go)
- Ruby (.rb)
- PHP (.php)
- Swift (.swift)
- Kotlin (.kt)
- Rust (.rs)
- Scala (.scala)
- Shell (.sh, .bash)
- HTML/CSS (.html, .css, .scss)
- Markdown (.md)
- JSON (.json)
- XML (.xml)
- YAML (.yml, .yaml)
セキュリティに関する考慮事項
- ファイルパスの検証により、ディレクトリトラバーサル攻撃を防止します
- 絶対パスへのアクセスは許可されていません
- プロジェクトパスは明示的に設定する必要があり、デフォルト値はありません
.code_indexerフォルダーには.gitignoreファイルが含まれており、インデックスデータがコミットされるのを防ぎます
貢献
新機能の追加やバグ修正のための issue やプルリクエストによる貢献を歓迎します。
中国語のドキュメントについては、README_zh.md をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。