code-index-mcp

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides access to git repositories, allowing users to clone projects for code indexing and analysis.

コードインデックスMCP

Code Index MCP は、大規模言語モデル (LLM) がプロジェクト ディレクトリ内のコードのインデックス作成、検索、分析を実行できるようにするモデル コンテキスト プロトコル サーバーです。

特徴

  • プロジェクトファイル構造のインデックス作成とナビゲーション
  • コード内の特定のパターンを検索する
  • 詳細なファイル概要を取得する
  • コード構造と複雑さを分析する
  • 複数のプログラミング言語のサポート
  • プロジェクト設定の永続的な保存

インストール

このプロジェクトでは、環境管理と依存関係のインストールに uv を使用します。

  1. Python 3.10以降がインストールされていることを確認してください
  2. uv をインストールします (推奨):
    # Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # macOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh
  3. コードの取得:
    # 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 と簡単に統合できます。

  1. UVがインストールされていることを確認してください(上記のインストールセクションを参照)
  2. Claude Desktop 構成ファイルを検索または作成します。
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
  3. 次の構成を追加します (実際のパスに置き換えてください)。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 が正しいプロジェクト ディレクトリで実行され、すべての依存関係を適切にロードできることを保証するため重要です。
  4. コード プロジェクトを分析するためにコード インデクサーを使用するには、Claude Desktop を再起動します。

依存関係を手動でインストールする必要はありません。サーバー実行時に UV がすべての依存関係を自動的に処理します。

基本的なワークフロー

  1. プロジェクト パスの設定(必須の最初の手順):
    • 初めて使用する場合、分析するプロジェクトパスを設定する必要があります
    • クロードコマンドを通じて:「プロジェクトを分析し、プロジェクトパスの設定を手伝ってほしい」
    • 完全なプロジェクトディレクトリパスを指定します
  2. コード検索:
    • 特定のキーワードまたはパターンを検索します。「プロジェクト内で「関数名」を検索」
    • ファイルの種類でフィルタリング: 「すべての .py ファイルで 'import' を検索」
  3. ファイル分析:
    • 特定のファイルを分析する:「src/main.py ファイルを分析する」
    • ファイルの概要を取得する:「utils/helpers.js 内の関数のリストをください」
  4. プロジェクトナビゲーション:
    • プロジェクト構造の表示: 「このプロジェクトの構造を表示」
    • 特定のパターンに一致するファイルを検索します:「すべての 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)
  • ルビー(.rb)
  • PHP (.php)
  • スウィフト(.swift)
  • コトリン (.kt)
  • Rust (.rs)
  • Scala (.scala)
  • シェル (.sh、.bash)
  • HTML/CSS (.html、.css、.scss)
  • マークダウン (.md)
  • JSON (.json)
  • XML (.xml)
  • YAML (.yml、.yaml)

セキュリティに関する考慮事項

  • ファイルパス検証によりディレクトリトラバーサル攻撃を防止
  • 絶対パスアクセスは許可されていません
  • プロジェクトパスは明示的に設定する必要があり、デフォルト値はありません
  • .code_indexerフォルダには、インデックスデータがコミットされるのを防ぐための.gitignoreファイルが含まれています。

貢献

新しい機能を追加したりバグを修正したりするための問題またはプル リクエストを介した貢献を歓迎します。


中国語のドキュメントについては、 README_zh.md を参照してください。

-
security - not tested
F
license - not found
-
quality - not tested

最小限のセットアップで大規模な言語モデルのインデックス作成、検索、コードリポジトリの分析を支援するモデルコンテキストプロトコル(MCP)サーバー

  1. Features
    1. Installation
      1. Usage
        1. Running the Server Directly
        2. Integrating with Claude Desktop
        3. Basic Workflow
      2. Technical Details
        1. Persistent Storage
        2. Dependency Management with UV
        3. Supported File Types
      3. Security Considerations
        1. Contributing
          ID: wmjk9p3tv9