The structural tools — class analysis, hierarchies, references — are what you would expect. The pattern detection is the part worth having: it finds a UPROPERTY, tells you a Category specifier would help, and links to Epic's specifier reference, which turns an analysis session into a review. And because the parser is generic C++, the same tools work on a Qt app or a custom engine once you set the codebase path.
An MCP server that parses C++ with tree-sitter and answers structural questions about it. It ships with Unreal Engine knowledge — subsystem overviews, pattern detection, best-practice guidance — but it will point at any C++ codebase, not only Unreal's.
- Class internals: properties with types and access levels, methods with return types and virtual flags — `analyze_class`
- Inheritance chains resolved all the way up, optionally including implemented interfaces — `find_class_hierarchy`
- Every reference to a class, function or variable, with the file, line and surrounding context — `find_references`
- Regex-capable code search scoped by file pattern, with comment inclusion optional — `search_code`
- Pattern detection over a file that names the Unreal pattern, points at the line, and suggests improvements with documentation links — `detect_patterns`
- Best-practice guidance for UPROPERTY, UFUNCTION, Components, Events, Replication and Blueprints, each with concrete examples — `get_best_practices`
- API documentation search extracted from source comments, filterable by category and module, with relevance-ranked results — `query_api`
- Subsystem overviews naming the core classes, key features and common use cases for areas such as Physics — `analyze_subsystem`
- The same analysis pointed at any C++ project — a custom engine, a graphics library, a Qt application — `set_custom_codebase`, `set_unreal_path`
Node, and a build from source: clone, `npm install`, `npm run build`, then register the built `build/index.js` in your Claude Desktop or Cline config. Before any analysis tool works you must set a path — either the Unreal Engine source directory or a custom codebase root — and the server errors clearly if you have not. Built on TypeScript with tree-sitter and tree-sitter-cpp for parsing. The subsystem analysis tool is the one part that is Unreal-only.
Build from source — clone the repository and build it, then point your client at the binary
