Skip to main content
Glama

list_materials

List all Blender materials with color, users, textures, procedural nodes, and faces lacking materials, or get full details for one material by name.

Instructions

Every material: name, colour, number of users, whether it has a texture and which procedural nodes it has. Procedural nodes (noise, gradients, math) are not exported to glTF: not_exported marks those materials. faces_without_material counts, per object, the faces that sit in an empty slot or have no slot. Fix them with assign_material_faces. Use it to find look-alikes before dedupe_materials. With name the answer is the card of that one material: colour, roughness, metallic, alpha, emission, coat, subsurface, the paths of its texture and maps (and the normal map colour space, which must be Non-Color), procedural nodes, users and faces per object. alpha_mode is the glTF alphaMode that export_glb writes (OPAQUE, BLEND or MASK); render_method is the EEVEE draw mode (DITHERED is the normal one for opaque).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does so well: it explains that procedural nodes are not exported to glTF and are flagged `not_exported`, what faces_without_material counts, that alpha_mode mirrors glTF alphaMode written by export_glb, and that render_method is the EEVEE draw mode. It never explicitly states this is a read-only, side-effect-free call, which is the remaining gap.

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?

Dense but largely front-loaded: the all-materials behavior leads, then the node/face caveats, then the single-material mode. Some sentences are long and pack field lists that read like schema rather than guidance, but nothing is filler.

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?

No output schema and no annotations, yet the description enumerates the return contents in both modes, which is the key thing an agent needs. Minor omissions remain (read-only status, whether users/faces counts could be expensive on large scenes), but overall adequate for a one-param read tool.

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

Parameters5/5

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

Schema coverage is 0% and the single parameter is nullable with no description, so the description must compensate — and it does, fully spelling out the two behavioral modes: without `name` returns every material's summary, with `name` returns that one material's detailed card including texture paths, normal map colour space, and per-object face counts.

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

Purpose4/5

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

States a specific verb (list) and resource (materials) and immediately enumerates the returned fields, so the agent knows exactly what it gets. It implicitly separates itself from mutation siblings like set_material and assign_material_faces, though it never names them as alternatives for the read task.

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?

Gives clear context: use it to find look-alikes before dedupe_materials, and fix faces_without_material via assign_material_faces. It also explains the two invocation modes (no `name` = all materials, with `name` = one material's card). No explicit when-not-to-use, but routing is strong.

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