mcpField
C
CodeInteliMCP - Intelligent Code Analysis Server

CodeInteliMCP - Intelligent Code Analysis Server

ローカル
github.com/rahulvgmail開発ツール874 週間前に更新

CodeInteliMCP - Intelligent Code Analysis Server について

CodeInteliMCPは、複数のコードリポジトリを分析するMCPサーバーです。構文解析、グラフクエリ、ベクトル検索を組み合わせ、コードの調査や変更影響の分析に対応します。

主な機能

  1. 01複数リポジトリのインデックス化
  2. 02シンボルと使用箇所の検索
  3. 03セマンティックコード検索
  4. 04依存関係と影響の分析
  5. 05インクリメンタルなインデックス化
  6. 06複数言語の解析

活用シーン

  1. 01複数リポジトリから関数の参照を探す
  2. 02自然言語でコードを検索する
  3. 03シンボル変更前に依存関係を確認する

MCP 対応

MCPサーバーとして、リポジトリ管理、インデックス化、コード分析のツールをMCPクライアントに提供します。シンボル検索、使用箇所検索、セマンティック検索を利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

CodeInteliMCP - インテリジェントなコード分析サーバー

Tree-sitter の構文解析とグラフデータベース、ベクトル検索を組み合わせ、複数のリポジトリにわたるコードインテリジェンスを瞬時に実現する、高度な MCP(Model Context Protocol)サーバーです。

🚀 特長

  • 複数リポジトリのサポート:複数のコードベースを同時に管理・分析できます
  • 使用箇所を瞬時に検索:関数やクラスの使用箇所をミリ秒単位で見つけます
  • セマンティックコード検索:ベクトル埋め込みを使用して、類似するコードパターンを見つけます
  • 依存関係の分析:コードの依存関係を可視化して検索できます
  • 影響範囲の分析:変更によって何が壊れるかを確認できます
  • 自動インデックス作成:コーディング中にインテリジェントな差分更新を行います
  • 複数言語のサポート:Python、JavaScript、TypeScript、Go、Rust などに対応しています

🏗 アーキテクチャ

┌─────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│  Claude Code    │────▶│   MCP Server     │────▶│   Tree-sitter   │
└─────────────────┘     └──────────────────┘     └─────────────────┘
                               │                           │
                               ▼                           ▼
                        ┌──────────────┐          ┌────────────────┐
                        │  DuckDB      │          │  ChromaDB      │
                        │  (Graph)     │          │  (Vectors)     │
                        └──────────────┘          └────────────────┘

🎯 主な機能

1. グラフクエリ(DuckDB 経由)
  • 関数呼び出しの関係
  • インポートの依存関係
  • クラス継承ツリー
  • 変数の使用状況の追跡
2. ベクトル検索(ChromaDB 経由)
  • セマンティックコード類似性
  • 自然言語によるコード検索
  • パターン検出
  • コードの重複検出
3. リアルタイム分析(Tree-sitter 経由)
  • 必要に応じた構文解析
  • 構文の検証
  • コード構造の分析
  • AST の操作

🚦 クイックスタート

自動セットアップ(推奨)
# Clone the repository
git clone https://github.com/rahulvgmail/CodeInteliMCP.git
cd CodeInteliMCP

# Run the setup script
python setup_for_claude.py

セットアップスクリプトは、以下を実行します。

  • すべての依存関係をインストールします
  • Claude Desktop/Code を設定します
  • データディレクトリを作成します
  • 環境変数を設定します
手動セットアップ
# Install dependencies
pip install mcp duckdb chromadb sentence-transformers aiofiles
pip install tree-sitter tree-sitter-python tree-sitter-javascript

# Add to Claude Desktop config (~/.config/claude/claude_desktop_config.json):
{
  "mcpServers": {
    "code-intelligence": {
      "command": "python",
      "args": ["/path/to/CodeInteliMCP/code_intelligence_mcp/server_minimal.py"],
      "env": {
        "CODE_INTEL_PROJECT_ROOT": "/path/to/your/project"
      }
    }
  }
}

🛠️ 利用可能なツール

この MCP サーバーでは、以下のツールを利用できます。

リポジトリ管理
  • add_repository - 新しいリポジトリを追跡対象に追加します

    • name(string、必須):リポジトリ名
    • path(string、必須):リポジトリへのパス
    • description(string、任意):リポジトリの説明
    • make_active(boolean、任意):アクティブなリポジトリとして設定します
  • list_repositories - 追跡対象のすべてのリポジトリを一覧表示します

  • set_active_repository - 操作対象のアクティブなリポジトリを設定します

    • name(string、必須):アクティブにするリポジトリ名
  • index_repository - リポジトリ全体のインデックスを作成します

    • repository_name(string、必須):インデックスを作成するリポジトリ名
    • include_patterns(string、任意):対象に含めるファイルパターン(カンマ区切り)
    • exclude_patterns(string、任意):対象から除外するファイルパターン(カンマ区切り)
コード分析
  • index_file - 単一ファイルをコードグラフにインデックス登録します

    • file_path(string、必須):インデックスを作成するファイルへのパス
  • find_symbol - 名前を指定してシンボルを検索します

    • name(string、必須):検索するシンボル名
    • file_path(string、任意):検索対象を特定のファイルに限定します
  • find_usages - シンボルの使用箇所をすべて検索します

    • name(string、必須):使用箇所を検索するシンボル名
    • file_path(string、任意):検索対象を特定のファイルに限定します
  • semantic_search - セマンティック類似性を使ってコードを検索します

    • query(string、必須):自然言語による検索クエリ
    • limit(integer、任意):結果の最大件数(デフォルト:10)
    • symbol_types(string、任意):絞り込み対象のシンボル型(カンマ区切り)
  • find_similar_code - 指定したシンボルに類似するコードを検索します

    • symbol_name(string、必須):参照するシンボル名
    • file_path(string、任意):参照シンボルを含むファイル
システムツール
  • test_connection - サーバーが動作していることを確認します

  • get_index_stats - 現在のインデックス統計を取得します

  • get_vector_stats - ベクトルストアの統計を取得します

📖 使用例

設定が完了したら、Claude で以下のツールを使用できます。

# Add a new repository
add_repository(name="my-app", path="/path/to/my-app", description="Main application")

# Index the repository
index_repository(repository_name="my-app", include_patterns="**/*.py,**/*.js")

# Search for authentication functions
semantic_search(query="authentication and login functions", limit=20)

# Find where a class is used
find_usages(name="UserService")

# Find similar implementations
find_similar_code(symbol_name="login_user")

📚 ドキュメント

📊 パフォーマンス目標

  • 初回インデックス作成:10 万 LOC で 1 分未満
  • 差分更新:ファイルあたり 1 秒未満
  • 使用箇所クエリ:50 ミリ秒未満
  • セマンティック検索:200 ミリ秒未満

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。