Skip to main content
Glama

get_material_usage

Read-onlyIdempotent

Check which assets reference a material before editing or deleting it. Returns usage counts by asset kind.

Instructions

What would I break if I changed this material: every asset that references it, bucketed by kind (static mesh, skeletal mesh, blueprint, level, other) with counts, plus the material's own blend mode and two-sided / masked / translucent / opaque flags. The impact check before editing or deleting a shared material. Note it takes a material NAME, not a path, so an ambiguous name can resolve to the wrong asset -- confirm with resolve_asset_by_name first. Nothing to do with get_material_usage_flag, which is about permitted geometry types.

Returns: { material_name: string, material_class: string, material_category: string, material_tooltip: string, material_display_name: string, usage: [{package_name, asset_name, asset_class, asset_path, usage_type, usage_category, asset_category, asset_tooltip, asset_display_name}], usage_count: int, static_mesh_usage_count: int, skeletal_mesh_usage_count: int, blueprint_usage_count: int, level_usage_count: int, other_usage_count: int, material_has_referencers: bool, material_is_two_sided: bool, material_is_masked: bool, material_is_translucent: bool, material_is_opaque: bool, blend_mode: string }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
material_nameYesName of the material asset

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: the name-vs-path resolution risk and the fact that an ambiguous name can silently resolve to the wrong asset. It does not discuss performance or scope limits, but for a local read tool that is minor.

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

Conciseness4/5

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

Value proposition is front-loaded before the mechanical details, and the disambiguation caveat is adjacent to the parameter it concerns. The explicit 'Returns:' block is long but justified here because no output schema exists, so it is not waste. Slightly dense, but every sentence carries information.

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?

With no output schema, the description supplies the full return shape (usage list, bucketed counts, material flags), and it covers when to use, the prerequisite disambiguation step, and the sibling boundary. Nothing an agent needs to call it correctly is missing.

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 coverage is 100%, so the baseline is 3, but the description adds genuine meaning the schema lacks: the parameter is a NAME not a path, it can be ambiguous, and it should be confirmed via resolve_asset_by_name first. That is more than the schema's bare 'Name of the material asset'.

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?

Opens with a concrete framing ('What would I break if I changed this material') followed by the specific resource it enumerates (every asset referencing the material, bucketed by kind with counts) plus the material's own flags. It explicitly separates itself from the sibling get_material_usage_flag, so an agent can route correctly without opening schemas.

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

Usage Guidelines5/5

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

States the exact moment to use it ('The impact check before editing or deleting a shared material'), names a supporting alternative (resolve_asset_by_name to disambiguate first), and explicitly excludes an adjacent tool ('Nothing to do with get_material_usage_flag'). When-to-use, prerequisite, and when-not are all present.

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