AI_GAME_BASE_ANALYSIS_CLI_MCP_TOOL(1)

NAME

ai_game_base_analysis_cli_mcp_toolGame Codebase Analysis AI Agentic Tool

SYNOPSIS

$npm install -g gdep-mcp

INFO

26 stars
6 forks
0 views
PythonAI & LLM

DESCRIPTION

Game Codebase Analysis AI Agentic Tool

README

🎮 gdep — Game Codebase Analysis Tool

Understand a Unity/UE5/Axmol project in 0.5 seconds. Make Claude and Cursor read the actual code.

CI PyPI npm

"If I modify this class, what breaks?" — answered in 3 seconds, grounded in source. Source-grounded: structural facts from C++ source and binary assets. Confidence tier (HIGH/MEDIUM/LOW) reported on every result.

Read this in other languages: 한국어 · 日本語 · 简体中文 · 繁體中文


✨ Why gdep?

Large game codebases are brutal:

  • UE5 with 300+ Blueprints → "Where is this Ability actually called?" — half a day gone
  • Unity with 50 Managers + Prefab refs → refactor triggers circular dep explosion
  • "What breaks if I change this class?" → open files manually for 30 minutes

gdep answers all of this in under 0.5 seconds.

Measured Performance

MetricResultNotes
UE5 warm scan0.46 s2,800+ asset project
Unity warm scan0.49 sSSD, 900+ classes
Peak memory28.5 MB10× headroom vs target
MCP accuracy5 / 5 (100%)Code-based facts

Full details → docs/BENCHMARK.md · docs/mcp-benchmark.md


🤖 MCP Integration — Make AI Read Real Code

gdep ships an MCP server for Claude Desktop, Cursor, and any MCP-compatible agent.

Install in 1 line

npm install -g gdep-mcp

Configure your agent (copy-paste)

{
  "mcpServers": {
    "gdep": {
      "command": "gdep-mcp",
      "env": { "PYTHONUTF8": "1" }
    }
  }
}

That's it. Your AI now has 30 game-engine-aware tools available on every conversation.

What changes with MCP

Without gdep:  "CombatCore probably has some Manager dependencies..." ← hallucination
With gdep:     Direct deps: 2 · Indirect: 200+ UI classes · Asset: prefabs/UI/combat.prefab

30 MCP Tools at a glance

ToolWhen to use
get_project_contextAlways call first — full project overview
wiki_searchCall before any analysis — search previously analyzed classes/assets by keyword (FTS5 BM25). Instant if cached
wiki_listList all wiki nodes with staleness status — see what has already been analyzed
wiki_getRead full content of a specific wiki node
wiki_save_conversationSave agent conversation summary to wiki — persists session context, decisions, and findings across sessions. Creates discussed_in edges to referenced classes
analyze_impact_and_riskBefore modifying any class or method (method_name= for method-level callers; detail_level="summary" for quick count)
explain_method_logicInternal control flow of a single method — Guard/Branch/Loop/Always. Supports C++ namespace-style functions. include_source=True appends method body
trace_gameplay_flowTrace C++ → Blueprint call chains (summary=True for compact output)
inspect_architectural_healthTech debt audit
explore_class_semanticsUnfamiliar class deep-dive. Default compact=True keeps output AI-friendly (~4–8 KB); include_source=True appends source code
suggest_test_scopeWhich test files to run after modifying a class
suggest_lint_fixesLint issues with code fix suggestions (dry-run)
summarize_project_diffArchitecture-level summary of a git diff
get_architecture_adviceFull project diagnosis + LLM-powered advice
find_method_callersReverse call graph — who calls this method
find_call_pathShortest call path between two methods (A → B, C#/Unity only)
find_class_hierarchyFull inheritance tree — ancestors (parent chain) + descendants (subclass tree)
read_class_sourceReturn actual source code of a class or a specific method. method_name= to return only that method's body (token-efficient)
find_unused_assetsUnreferenced assets — Unity GUID scan / UE5 binary path reference scan
query_project_apiSearch project API by class/method/property name with relevance scoring
detect_patternsDetect design patterns in the codebase (Singleton, Subsystem, GAS, Component, etc.)
execute_gdep_cliRaw access to all CLI features
find_unity_event_bindingsInspector-wired methods (invisible in code search)
analyze_unity_animatorAnimator state machine structure
analyze_axmol_eventsAxmol EventDispatcher/Scheduler binding map
analyze_ue5_gasGAS Abilities / Effects / Tags / ASC — with confidence header + IS-A asset role breakdown
analyze_ue5_behavior_treeBehaviorTree asset structure
analyze_ue5_state_treeStateTree asset structure
analyze_ue5_animationABP states + Montage + GAS Notifies
analyze_ue5_blueprint_mappingC++ class → Blueprint impl mapping — with confidence header

Wiki — Analysis Result Cache

Analysis results are automatically saved to .gdep/wiki/ and indexed in SQLite + FTS5. The wiki accumulates knowledge across sessions — always wiki_search before running fresh analysis.

wiki_search("zombie ability") → instant result if already analyzed
wiki_list()                   → see all cached nodes with staleness status
wiki_get("class:ZombieChar")  → full cached analysis content

Key features:

  • FTS5 full-text search with BM25 ranking — CamelCase-aware ("GameplayAbility" finds ULyraGameplayAbility)
  • Dependency edges auto-extracted (inheritance, UPROPERTY, Behavioral Dependencies)
  • Staleness detection: node flagged when source file changes since last analysis
  • related=True on wiki_search expands results via dependency edges

UE5 Confidence Transparency

Every analyze_ue5_gas and analyze_ue5_blueprint_mapping response starts with:

> Analysis method: cpp_source_regex + binary_pattern_match
> Confidence: **MEDIUM**
> Coverage: 4633/4633 assets parsed (100.0%)
> UE version: 5.6 (validated)

gdep init generates a .gdep/AGENTS.md that tells AI agents exactly when to trust gdep results (HIGH = trust fully, MEDIUM = reliable, LOW = verify source) and when to read source files directly.

Full MCP setup → gdep-cli/gdep_mcp/README.md


📦 Installation

Prerequisites

ItemVersionPurpose
Python3.11+CLI · MCP server
.NET Runtime8.0+C# / Unity project analysis

One-click (Recommended)

# Windows
install.bat

macOS / Linux

chmod +x install.sh && ./install.sh

Manual

cd gdep-cli && pip install -e .

🚀 Quick Start

gdep detect {path}                          # auto-detect engine
gdep scan {path} --circular --top 15        # structure overview
gdep init {path}                            # create .gdep/AGENTS.md for AI agents
gdep advise {path}                          # architecture diagnosis + advice

After gdep init, Claude / Cursor / Gemini automatically read the project context and know which gdep tools to call for which questions.


🖥️ Web UI — Visual Analysis in Your Browser

gdep ships a browser UI for interactive, visual analysis — no terminal required after setup.

Step 1 — Install (run once from project root)

install.bat          # Windows
./install.sh         # macOS / Linux

Step 2 — Launch

run.bat              # Windows — opens backend + frontend in two separate terminals automatically
./run.sh             # macOS/Linux — Terminal 1: backend  (http://localhost:8000)
./run_front.sh       # macOS/Linux — Terminal 2: frontend (http://localhost:5173)

Open http://localhost:5173 → point the sidebar to your project's source folder.

What you get:

  • Interactive dependency graphs and call-flow visualization
  • Class browser with impact analysis and lint
  • AI chat agent that reads your actual codebase (tool-calling)
  • Engine-specific explorers: GAS · Blueprint mapping · Animator · BehaviorTree · StateTree

UI language: English and Korean only · Local LLM: Ollama supported · Non-commercial, features may not be perfect

Full documentation → gdep-cli/web/README.md


🎯 Command Reference

CommandSummaryWhen to Use
detectAuto-detect engine typeBefore first analysis
scanCoupling · Cycles · Dead codeUnderstand structure, before refactor
describeClass detail + full inheritance chain + Blueprint impl + AI summaryUnfamiliar class, code review
flowMethod call chain (C++→BP boundary)Bug tracing, flow analysis
impactChange impact reverse-traceSafety check before refactoring
method-impactReverse-trace callers of a specific methodBefore modifying a method, find all call sites
pathShortest call path between two methods (BFS, C#/Unity only)Trace how A connects to B
test-scopeTest files to run after modifying a classBefore merging, CI planning
watchLive file-change monitor (impact+test+lint)During active development
lintGame-specific anti-pattern scan (+ --fix)Quality check before PR
adviseFull architecture diagnosis + LLM adviceArchitecture review, tech debt
graphDependency graph exportDocumentation, visualization
diffDependency diff before/after commitPR review, CI gate
initCreate AI Agent context fileAI coding assistant setup
contextPrint project contextCopy-paste to AI chat
hintsManage singleton hintsImprove flow accuracy
configLLM configurationBefore using AI summary features

📖 Command Details

scan

gdep scan {path} [options]
OptionDescription
--circularDetect circular dependencies
--dead-codeDetect unreferenced classes
--deepDeep analysis including method bodies
--include-refsInclude Prefab/Blueprint back-references
--top NShow top N by coupling (default: 20)
--format jsonJSON output (for CI/Agent)

flow — traces C++ → Blueprint boundaries

gdep flow {path} --class <Class> --method <Method> [--depth N]
└── UARGamePlayAbility_BasicAttack.ActivateAbility
    ├── CommitAbility ○
    ├── BP_GA_BasicAttack_C.K2_ActivateAbility ○ [BP]   ← Blueprint entry
    └── BP_GA_HeavyAttack_C.K2_ActivateAbility ○ [BP]

test-scope — find test files affected by a class change

gdep test-scope {path} <ClassName>
gdep test-scope {path} <ClassName> --format json   # CI pipeline output
gdep test-scope {path} <ClassName> --depth 5       # broader search

watch — live monitor for file changes

gdep watch {path}                        # watch whole project
gdep watch {path} --class CombatManager  # only watch files related to class
gdep watch {path} --debounce 2.0         # adjust debounce (seconds)

On every save, instantly prints: impact count · test file count · lint warnings.

advise — architecture diagnosis

gdep advise {path}                        # full project diagnosis
gdep advise {path} --focus CombatManager  # class-focused diagnosis
gdep advise {path} --format json          # CI/MCP output

Without LLM configured: structured data report (cycles/coupling/dead-code/lint). With LLM configured: IMMEDIATE / MID-TERM / LONG-TERM natural-language advice.

lint — 19 game-engine anti-pattern rules

gdep lint {path}                # scan
gdep lint {path} --fix          # scan + code fix suggestions (dry-run, no file changes)
Rule IDEngineDescription
UNI-PERF-001UnityGetComponent/Find in Update
UNI-PERF-002Unitynew/Instantiate in Update
UNI-ASYNC-001UnityCoroutine while(true) without yield
UNI-ASYNC-002UnityFindObjectOfType/Resources.Load in Coroutine
UE5-PERF-001UE5SpawnActor/LoadObject in Tick
UE5-PERF-002UE5Synchronous LoadObject in BeginPlay
UE5-BASE-001UE5Missing Super:: call
UE5-GAS-001UE5Missing CommitAbility() in ActivateAbility()
UE5-GAS-002UE5Expensive world queries in GAS Ability
UE5-GAS-003UE5Excessive BlueprintCallable (>10)
UE5-GAS-004UE5Missing const on BlueprintPure method
UE5-NET-001UE5Replicated property without ReplicatedUsing callback
AXM-PERF-001AxmolgetChildByName/Tag in update()
AXM-MEM-001Axmolretain() without release()
AXM-EVENT-001AxmoladdEventListenerWith* without removeEventListener
UE5-BP-001UE5Blueprint references a C++ class not found in source (orphan reference)
UE5-BP-002UE5Blueprint K2 override references a deleted/changed C++ function
UNI-ASSET-001UnityPrefab script reference broken (.meta GUID mismatch)
GEN-ARCH-001CommonCircular dependency

🎮 Supported Engines

EngineClass AnalysisFlow AnalysisBack-refsSpecialized
Unity (C#)✅ Prefab/SceneUnityEvent, Animator
Unreal Engine 5✅ UCLASS/USTRUCT/UENUM✅ C++→BP✅ Blueprint/MapGAS, BP mapping, BT/ST, ABP/Montage
Axmol / Cocos2d-x (C++)✅ Tree-sitterEventDispatcher/Scheduler bindings
.NET (C#)
Generic C++

🔄 Representative Workflows

Onboarding an unfamiliar codebase

gdep init {path}
gdep scan {path} --circular --top 20
gdep describe {path} CombatManager --summarize
gdep flow {path} --class CombatManager --method ExecuteAction

UE5 GAS end-to-end

gdep describe {path} UARGameplayAbility_Dash
gdep flow {path} --class UARGameplayAbility_Dash --method ActivateAbility

Pre-refactor safety check

gdep impact {path} CombatCore --depth 5
gdep test-scope {path} CombatCore
gdep lint {path} --fix
gdep diff {path} --commit HEAD

Architecture review

gdep advise {path}
gdep advise {path} --focus BattleManager

CI quality gate

gdep diff . --commit HEAD~1 --fail-on-cycles
gdep lint . --format json > lint_report.json
gdep test-scope . ChangedClass --format json > test_scope.json

Active development (live feedback)

gdep watch {path} --class CombatManager
# → On every save: impact count · test files · lint warnings

⚙️ C# Parser (gdep.dll)

Ships as an OS-agnostic single DLL — identical behavior on Windows · macOS · Linux.

dotnet publish -c Release --no-self-contained -o publish_dll

Detection priority: $GDEP_DLL env → publish_dll/gdep.dllpublish/gdep.dll → legacy binary


MCP Server → gdep-cli/gdep_mcp/README.md CI/CD Integration → docs/ci-integration.md Performance Benchmark → docs/BENCHMARK.md MCP Token & Accuracy → docs/mcp-benchmark.md

SEE ALSO

clihub4/13/2026AI_GAME_BASE_ANALYSIS_CLI_MCP_TOOL(1)