Skip to main content
Glama

compile_material_and_report

Compile Unreal Engine materials and retrieve diagnostic reports with errors, warnings, expression counts, and summaries for graph-aware verification.

Instructions

Compile a Material and return expression-aware diagnostic evidence.

The tool invokes Unreal's material recompile path under a progress scope and returns compile status, issue arrays, expression count, and optional expression summaries for graph-aware material verification.

Args: material_path: Full Material asset path. include_expressions: Include expression class/name/position summaries.

Returns: StructuredResult JSON with outputs: compile_status, compile_clean, had_errors, errors[], warnings[], expression_count, expression_summaries[], safe_to_continue.

KB: see knowledge_base/12_MCP_TOOL_USAGE_GUIDE.md#b2-graph-aware-diagnostics-diagnosticstoolspy Example: compile_material_and_report(material_path="/Game/MCP_Test/M_Example")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
material_pathYes
include_expressionsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description must carry the full behavioral disclosure. It does so well by stating that it invokes Unreal's material recompile path under a progress scope and detailing the diagnostic outputs, including an explicit 'safe_to_continue' field. While it does not mention potential side effects such as asset modification or time spent, the provided detail is substantial enough for an agent to anticipate behavior.

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 well-structured: a one-sentence purpose, a concise behavioral summary, formatted Args/Returns sections, a KB pointer, and an example. Every part carries information an agent would need; there is no filler or redundant repetition. It remains compact despite the depth of detail.

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

Completeness5/5

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

All essential aspects are covered: what the tool does, how it works, parameters, return fields, a knowledge-base reference, and an example. The output schema is also present, so the listed return values provide a convenient overview. For a tool of this complexity, nothing critical is missing for correct invocation and interpretation.

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?

Schema description coverage is 0%, so the description must compensate. It does, by explaining material_path as 'Full Material asset path' and include_expressions as 'Include expression class/name/position summaries.' These are exactly the semantic clarifications an agent needs. The example further demonstrates valid usage, making the parameter intent clear despite the bare schema.

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 opens with a clear verb+resource pair ('Compile a Material') and a specific outcome ('return expression-aware diagnostic evidence'). It further details the tool's purpose by mentioning the Unreal recompile path and the inclusion of expression summaries, which distinguishes it from plain compile tools like mat_compile or validation tools like mat_validate_material. The name is reinforced rather than merely restated.

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 gives a clear context for use: 'graph-aware material verification.' It also lists what the tool returns, implicitly signaling when this tool is appropriate. However, it does not explicitly state exclusions or point to alternative tools for simpler compile-only operations, stopping short of a 5.

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