Skip to main content
Glama

create_procedural_material

Create a patterned material (wood, marble, fire, veins) as a full node graph in one call.

Instructions

Create a patterned material (wood, marble, fire, veins) as a full node graph in one call.

For a single flat colour use create_principled_material instead; for an empty material you will wire by hand use create_material.

Prefer this over hand-wiring texture nodes. It creates the full graph ( coordinates, mapping, the pattern's texture nodes, a tuned colour ramp, and the Principled BSDF) and returns the node names so you can adjust anything afterwards with set_shader_node_input or the colour ramp tools.

Procedural beats image textures here: no files, no UV unwrap needed, and it stays sharp at any camera distance.

Call list_procedural_patterns() to see what each pattern looks like.

Args: name: Name for the new material. pattern: One of the supported patterns, e.g. 'fire', 'wood', 'veins'. scale: Feature size. Lower is bigger and broader, higher is finer and busier. 5.0 is a sensible default; try 1-3 for large forms and 20+ for fine detail. detail: Fractal octaves, 0-15. Higher adds finer sub-detail at the cost of render time. Applies to noise, cloud, wood, marble, plasma and fire. The cellular patterns (voronoi, veins, scales, sparks), stripes, weave and gradient have no detail socket and ignore it. distortion: Warps the pattern. Small values (0.5-2.0) make wood and marble look organic rather than machine-perfect. Applies to noise, cloud, stripes, wood, marble, plasma and fire. The cellular patterns, weave and gradient ignore it. roughness: Surface roughness 0-1 for the Principled BSDF. metallic: Metallic 0-1 for the Principled BSDF. colors: Optional list of RGB or RGBA colours for the ramp, in order. Omit to use the pattern's own tuned palette. banded: Use CONSTANT ramp interpolation, giving hard-edged bands instead of smooth blending. Turns noise into discrete regions: scale plates, cracked mud, cel shading. connect_to_bsdf: Wire the result into the Principled BSDF base colour so the material renders immediately. Set False to leave the pattern subtree unconnected for manual wiring.

Returns: Dict with the material name, the created node names, and ignored_params listing any arguments this pattern could not use.

Input Schema

NameRequiredDescriptionDefault
nameYes
scaleNo
bandedNo
colorsNo
detailNo
patternYes
metallicNo
roughnessNo
distortionNo
connect_to_bsdfNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.3.0

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does substantial work: it discloses that a whole graph is created (coordinates, mapping, texture nodes, ramp, BSDF), that created node names are returned for later editing, that ignored_params are reported, and exactly which patterns ignore detail/distortion. It stops short of stating whether re-running overwrites an existing material of the same name, which is the kind of mutation risk an agent would want to know.

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?

Long but well-structured and front-loaded: the one-line summary comes first, then routing guidance, then Args/Returns. Nearly every sentence adds decision-useful information, though the 'procedural beats image textures' paragraph is a soft sell rather than invocation guidance and could be trimmed.

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?

For a 10-parameter tool with 0% schema coverage and no annotations, the description supplies routing, per-parameter semantics with pattern applicability, and an explicit return description (material name, node names, ignored_params) despite an output schema existing. Nothing an agent needs in order 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.

Parameters5/5

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

Schema coverage is 0%, so the description must compensate, and it does comprehensively: scale directionality with concrete (1-3, 5.0, 20+) guidance, detail range 0-15 plus which patterns honor it, distortion range with typical organic values and the patterns that ignore it, roughness/metallic 0-1, colors as ordered RGB/RGBA with the omit-means-palette default, banded as CONSTANT interpolation with concrete use cases, and connect_to_bsdf semantics. Only the pattern enum is left implicit, mitigated by pointing to list_procedural_patterns.

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?

States a specific verb and resource (create a patterned material as a full node graph in one call) and immediately distinguishes itself from create_material and create_principled_material. The agent can tell which of the three material-creation siblings to pick without opening a schema.

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?

Explicitly names the alternatives for the cases this tool does not cover ('single flat colour use create_principled_material', 'empty material you will wire by hand use create_material') and gives a reason to prefer it over hand-wiring texture nodes. It also routes the agent to list_procedural_patterns() to discover valid pattern values.

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