CodeInteliMCP - Intelligent Code Analysis Server について
CodeInteliMCPは、複数のコードリポジトリを分析するMCPサーバーです。構文解析、グラフクエリ、ベクトル検索を組み合わせ、コードの調査や変更影響の分析に対応します。
主な機能
- 01複数リポジトリのインデックス化
- 02シンボルと使用箇所の検索
- 03セマンティックコード検索
- 04依存関係と影響の分析
- 05インクリメンタルなインデックス化
- 06複数言語の解析
活用シーン
- 01複数リポジトリから関数の参照を探す
- 02自然言語でコードを検索する
- 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")
📚 ドキュメント
- USER_GUIDE.md:セットアップと使用方法の完全ガイド
- ARCHITECTURE.md:技術アーキテクチャの詳細
- IMPLEMENTATION_PLAN.md:開発ロードマップ
📊 パフォーマンス目標
- 初回インデックス作成:10 万 LOC で 1 分未満
- 差分更新:ファイルあたり 1 秒未満
- 使用箇所クエリ:50 ミリ秒未満
- セマンティック検索:200 ミリ秒未満
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。