Skip to main content
Glama

ue_reflect_class

Verify an Unreal class exists and retrieve its parent chain, category, and module before writing Python code that creates or modifies instances.

Instructions

Reflect a UClass: return its parent chain, category, flags, and module.

Use this before writing any exec_python that creates, loads, or modifies instances of an Unreal class — it confirms the class exists and tells you its full hierarchy.

Args: class_name: Unreal class name (e.g. "StaticMesh", "Blueprint", "Character", "PointLight", "NiagaraSystem")

Returns: JSON string: { "success": true, "class_name": "StaticMesh", "parent_chain": ["StaticMesh", "StreamableRenderAsset", "Object"], "is_blueprint": false, "module": "Engine", "category": "Mesh", "found": true }

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#overview Example: ue_reflect_class(class_name="Actor")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
class_nameYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It details the return JSON structure and indicates the tool confirms class existence, but it does not explicitly state whether the operation is read-only or whether it has side effects. The absence of an explicit 'this is a safe read-only operation' statement is a notable gap, though the reflection context implies non-destructiveness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally well-structured: a one-sentence purpose, a usage guideline, then clearly labeled Args, Returns, KB reference, and Example sections. It is front-loaded with the core purpose and contains no redundant or extraneous text. Every element earns its place, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, one output) and the inclusion of a detailed return example and usage hint, the description is largely complete. It mentions the KB guide for further context but could be improved by stating potential failure modes (e.g., behavior when class not found) or any prerequisites. The provided example output already covers the success case adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides only the parameter name and type, with 0% description coverage. The description compensates well by giving a clear definition of class_name, concrete examples (e.g., 'StaticMesh', 'Actor'), and a usage example. It adds meaning beyond the schema, though it does not cover edge cases like case sensitivity or name validation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Reflect a UClass') and the specific outputs (parent chain, category, flags, module). This distinguishes it from sibling tools like ue_list_uclass_properties and ue_describe_asset, which focus on different aspects of class inspection. The purpose is unambiguous and actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs to use this tool before writing exec_python that creates, loads, or modifies instances, giving a concrete usage context. It also provides an example call. However, it does not explicitly mention when not to use it or differentiate it from other inspection tools (e.g., ue_describe_asset), so it lacks exclusions or direct alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools