Unreal Engine コードアナライザー MCP サーバー
Unreal Engineのコードベースに強力なソースコード解析機能を提供するModel Context Protocol(MCP)サーバー。このツールにより、ClaudeやClineといったAIアシスタントはUnreal Engineのソースコードを深く理解し、解析できるようになります。
特徴
- クラス分析: メソッド、プロパティ、継承を含む C++ クラスの詳細情報を取得します。
- 階層マッピング: クラスの継承階層を視覚化して理解する
- コード検索: コンテキストに応じた結果でコードを検索します
- 参照の検索: クラス、関数、変数へのすべての参照を検索します
- サブシステム分析: レンダリング、物理などの主要な Unreal Engine サブシステムを分析します。
- ゲームジャンル知識: ゲームのジャンル、機能、実装パターンに関する知識ベースが組み込まれています
- パターン検出と学習: 一般的な Unreal Engine パターンを識別し、学習リソースを提供します
- カスタムコードベースサポート: 独自の Unreal Engine プロジェクトのコードベースを分析します
クイックスタート
インストール
- このリポジトリをクローンします:
- 依存関係をインストールします:
- プロジェクトをビルドします。
構成
Claudeデスクトップアプリ
Claude デスクトップ構成ファイル (Windows の場合は%APPDATA%\Claude\claude_desktop_config.json
) に次のコードを追加します。
クラインのために
Cline MCP 設定ファイル (Windows の場合は%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
) に以下を追加します。
技術的な詳細
アナライザーは以下を使用して構築されます:
- 型安全なコードのためのTypeScript
- 堅牢な C++ 解析のための Tree-sitter
- AIアシスタント統合のためのモデルコンテキストプロトコルSDK
- ファイルパターンマッチングのためのGlob
主な依存関係:
- @modelcontextprotocol/create-server: ^0.1.0
- 木に座っている人: ^0.20.1
- ツリーシッターcpp: ^0.20.0
- グロブ: ^8.1.0
使用法
分析ツールを使用する前に、まず Unreal Engine ソース パスまたはカスタム コードベース パスのいずれかを設定する必要があります。
分析の設定
Unreal Engineソースコード
カスタムC++コードベースの場合
カスタムコードベース機能を使用すると、あらゆるC++プロジェクトを分析できます。例えば:
- ゲームエンジン(Unity、Godot、カスタムエンジン)
- グラフィックライブラリ(OpenGL、Vulkan、DirectX)
- フレームワーク(Qt、Boost、SFML)
- 任意のC++アプリケーションまたはライブラリ
カスタム ゲーム エンジンを分析する例:
Qt アプリケーションを分析する例:
利用可能なツール
1. クラス分析
出力例:
2. クラス階層分析
出力例:
3. 参考文献の発見
出力例:
4. コード検索
出力例:
5. パターン検出とベストプラクティス
アナライザーには、Unreal Engine のベスト プラクティスを理解して従うための 2 つの強力なツールが用意されています。
パターン検出
出力例:
ベストプラクティスガイド
出力例:
ベスト プラクティス ガイドでは、Unreal Engine の主要な概念について説明します。
- UPROPERTY: 不動産の反映と露出
- UFUNCTION: 関数リフレクションとブループリントの統合
- コンポーネント: コンポーネントの作成と管理
- イベント: イベント処理と委任
- レプリケーション: ネットワークレプリケーションのセットアップ
- ブループリント: ブループリント/C++ のインタラクション パターン
6. APIドキュメントクエリ
出力例:
API ドキュメント クエリ ツールは以下を提供します。
- クラスドキュメント全体の全文検索
- カテゴリとモジュールによるフィルタリング
- コード例と使用パターン
- 関連性に基づいた結果の並べ替え
- 公式ドキュメントへのリンク
7. サブシステム分析
出力例:
APIドキュメント
アナライザーには、包括的な API ドキュメント機能が含まれるようになりました。
- 自動ドキュメント生成
- ソースコードのコメントからドキュメントを抽出します
- 階級構造と関係を分析する
- クラスをタイプとモジュール別に分類します
- 構文例と使用パターンを生成する
- スマート検索
- すべてのドキュメントの全文検索
- 関連性に基づいた結果のランキング
- カテゴリとモジュールのフィルタリング
- コード例の組み込み
- ドキュメントのカテゴリ
- オブジェクト: 基本オブジェクト クラス (UObject 派生クラス)
- アクター: アクタークラス (AActor 派生クラス)
- 構造: データ構造と型
- コンポーネント: コンポーネントクラス
- その他: その他のクラスとユーティリティ
- モジュール構成
- コア: コアエンジン機能
- RenderCore: レンダリングシステム
- PhysicsCore: 物理エンジン
- その他のエンジンモジュール
- 既存のツールとの統合
- 詳細情報についてはクラス分析へのリンクをご覧ください
- ベストプラクティスのためのパターン検出に接続
- 公式のUnreal Engineドキュメントを参照
- 学習リソースと例を提供します
ベストプラクティス
- 分析ツールを使用する前に、必ず Unreal Engine パスまたはカスタム コードベース パスのいずれかを設定してください。
- 分析時には特定のクラス名を使用します(例:単に「Class」ではなく「MyClass」)
search_code
のファイルパターンパラメータを活用して結果を絞り込む- クラス階層を分析する際には実装されたインターフェースを含めて完全な理解を得る
- サブシステム分析ツールを使用して、特定のクラスに進む前に概要を把握します (Unreal Engine のみ)
エラー処理
アナライザーは、次の場合に明確なエラー メッセージを表示します。
- コードベース パスが設定されていません (Unreal Engine またはカスタム)
- 指定されたパスは存在しないかアクセスできません
- コードベースにクラスまたはシンボルが見つかりません
- 無効なファイルパターンが指定されました
- 検索クエリまたはC++コードの構文エラー
- ソースファイルへのアクセスは制限されています
- C++ ファイルの Tree-sitter 解析が失敗する
パフォーマンスに関する考慮事項
- 大規模なコードベースでは分析に時間がかかる場合があります
- 複雑なクラス階層では処理に時間がかかる場合があります
- 幅広い検索パターンでは多くの一致が見つかる可能性がある
- より早く結果を得るために、より具体的なクエリの使用を検討してください
テスト
このプロジェクトには、すべての主要コンポーネントに対する包括的なテストが含まれています。
テスト範囲
- アナライザー テスト: UnrealCodeAnalyzer クラスのコア機能テスト
- 初期化とパス検証
- クラス分析と解析
- 参考文献
- コード検索
- サブシステム分析
- キャッシュ管理
- ゲームジャンルテスト:ゲームジャンル知識ベースの検証
- データ構造の検証
- ジャンル固有の機能検証
- コンポーネントの命名規則
- データの完全性チェック
- MCP サーバーテスト: MCP サーバー実装のテスト
- サーバーの初期化
- ツールの登録と取り扱い
- リクエスト/レスポンスの検証
- エラー処理
- ツール固有の機能テスト
テストの実行
すべてのテストを実行します。
ウォッチモードでテストを実行します (開発中に便利です):
テストを書く
新しい機能を提供する際は、次の点に注意してください。
- すべての新機能には対応するテストカバレッジがあります
- テストは
src/__tests__
ディレクトリに整理されます - 外部依存関係を適切にモックする
- 一貫性を保つために既存のテストパターンに従う
貢献
貢献を歓迎します!改善点があれば、お気軽にプルリクエストを送信してください。
- ソースコード解析機能
- 新しい分析機能
- パフォーマンスの最適化
- ドキュメントの改善
- テスト範囲
PR を送信する前に:
- すべてのテストが合格することを確認する(
npm test
) - 新しい機能のテストを追加する
- 必要に応じてドキュメントを更新する
Related MCP Servers
- -securityAlicense-qualityProvides code manipulation, execution, and version control capabilities. It allows AI assistants to read, write, and execute code while maintaining a history of changes.Last updated -8PythonMIT License
- -securityFlicense-qualityProvides code generation and completion capabilities using the DeepSeek API, with support for tool chaining and cost optimization.Last updated -3JavaScript
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with IDA Pro for reverse engineering and binary analysis tasks.Last updated -814PythonMIT License
- -securityAlicense-qualityA server that enables seamless integration of Binary Ninja's reverse engineering capabilities with LLM assistance, allowing AI tools like Claude to interact with binary analysis features in real-time.Last updated -42PythonGPL 3.0