MCP server for Unreal Engine 5 editor control via Remote Execution
Server has 20 well-structured tools with explicit schemas and descriptions. Naming follows verb_noun convention (list_, get_, set_, place_, delete_, create_, add_, compile_, import_, save_, duplicate_, find_). Descriptions are present and actionable (avg ~100 chars). However, many parameter descriptions are minimal or missing entirely. Output schemas are not documented. Error handling guidance is absent. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Parameter constraints (enums, ranges) are sparse. This is solid foundational work but lacks the polish and LLM-optimization of A-grade tools.
Add an empty function graph to a Blueprint.
Add a variable to a Blueprint.
Compile a Blueprint and return errors/warnings.
Create a new Blueprint asset with a given parent class.
Remove an actor from the current level by its label.
Delete an asset after checking for references.
Duplicate an asset to a new content path.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications. Tools like delete_actor, delete_asset, save_all_assets should declare destructiveHint=true to guide agent caution.
Output schemas are not documented. Tools return structured data but LLMs cannot see what fields to expect. E.g., list_actors returns actor objects with label/class/transform, but this is not declared in the tool definition.
Parameter descriptions are minimal or absent. 'value' in set_actor_property has no type hint. 'pattern' in find_asset lacks guidance on glob vs substring semantics. 'type' in add_variable lacks enum of valid types (Float, Boolean, Vector, Object, etc.).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | <=2025-11-25 | v2 |
Search for assets by name substring or glob pattern.
Return editable properties of a named actor as nested JSON.
Return variables, functions, and component hierarchy of a Blueprint.
Import a file from disk into the content browser.
List all actors in the current level with label, class, and transform.
List assets under a content browser path.
List Blueprint assets under a content path.
Check connection status and return UE5 version string.
Spawn an actor by class path at a given transform.
Save all dirty assets in the project.
Save a single asset by content path.
Set a named property on an actor or its component.
Update world-space location, rotation, and/or scale of a named actor. Omit any component to leave it unchanged.
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. E.g., delete_actor fails silently if actor not found; no recovery hint provided.
No parameter constraints (enums, ranges, patterns). 'class_path' in place_actor accepts free-form strings with no validation hint. 'recursive' in list_assets defaults to false but no guidance on when to set true. 'limit' parameters missing entirely.