Skip to main content
Glama

Propose an editable procedural or hybrid material

material_recipe
Read-onlyIdempotent

Propose editable procedural/hybrid shader operations for wood, metal, stone, fabric or image weathering, with prompts and validation checks. Choose this for node-based materials; use material_from_image for one uploaded image, material_from_maps for a prepared map set, or texture_maps_create for downloads without scene changes. Hybrid recipes reuse existing image nodes and aligned color variants. Proposals only: no mutation, provider call, baking or compute. Review the returned operations, inspect sockets with material_nodes, then execute with scene_apply.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
seedNo
tintNoLinear RGB surface tint; for image weathering this is the deposit/wear tint.
briefNoAppearance intent used in bounded prompt enhancement; never sent to an image provider by this tool.
recipeYes
targetNoproduct
uvLayerNoRequired for image_weathering: existing authored UV layer, verified from the source material.
uvScaleNo
fineBumpNoProcedural fine bump; defaults on for procedural recipes and off for image weathering to avoid adding relief accidentally.
strengthNoWear and relief amount; zero removes procedural weathering and relief.
uvOffsetNo
roughnessNo
variationNoColor and finish variation, independent of the deterministic seed.
assignmentsNo
imageSourceNo
variantMaskNonoise
normalSourceNoOptional authored tangent-space OpenGL normal image; use a verified linear/non-color source.
preserveAlphaNoReuse the approved source alpha. A variant changes color only, not the approved silhouette.
variantFactorNoVariant blend amount; with noise masking this is the maximum variant contribution.
variantSourceNoOptional second base-color image registered to the approved source; never an independently generated companion PBR map.
imageExtensionNoREPEAT
roughnessSourceNoOptional dedicated scalar roughness image, not a packed ORM image. Its existing data color treatment is preserved; select packed channels with a custom graph.
uvRotationRadiansNo
featureScaleMetersNoNominal main feature size in meters, assuming applied object scale and one Blender unit per meter. Fine detail is smaller; verify against the object.
variantAlignmentConfirmedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changed
    • addedInput schema / properties / tint / items
      Added value: +{
      +  "maximum": 1,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / tint / maxItems
      Added value: +3
    • addedInput schema / properties / tint / minItems
      Added value: +3
    • removedInput schema / properties / tint / prefixItems
      Removed value: -[
      -  {
      -    "maximum": 1,
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  {
      -    "maximum": 1,
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  {
      -    "maximum": 1,
      -    "minimum": 0,
      -    "type": "number"
      -  }
      -]
    • addedInput schema / properties / uvOffset / items
      Added value: +{
      +  "maximum": 10000,
      +  "minimum": -10000,
      +  "type": "number"
      +}
    • addedInput schema / properties / uvOffset / maxItems
      Added value: +2
    • addedInput schema / properties / uvOffset / minItems
      Added value: +2
    • removedInput schema / properties / uvOffset / prefixItems
      Removed value: -[
      -  {
      -    "maximum": 10000,
      -    "minimum": -10000,
      -    "type": "number"
      -  },
      -  {
      -    "maximum": 10000,
      -    "minimum": -10000,
      -    "type": "number"
      -  }
      -]
    • addedInput schema / properties / uvScale / items
      Added value: +{
      +  "exclusiveMinimum": 0,
      +  "maximum": 10000,
      +  "type": "number"
      +}
    • addedInput schema / properties / uvScale / maxItems
      Added value: +2
    • addedInput schema / properties / uvScale / minItems
      Added value: +2
    • removedInput schema / properties / uvScale / prefixItems
      Removed value: -[
      -  {
      -    "exclusiveMinimum": 0,
      -    "maximum": 10000,
      -    "type": "number"
      -  },
      -  {
      -    "exclusiveMinimum": 0,
      -    "maximum": 10000,
      -    "type": "number"
      -  }
      -]
  2. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description reinforces this with the sharpest possible statement ('Proposals only: no mutation, provider call, baking or compute'). It also discloses the intended workflow sequence (review, inspect sockets with material_nodes, execute with scene_apply), which is real context beyond the annotations. It stops short of describing the proposal payload shape or validation-check 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?

Five tight sentences, none redundant: purpose first, then routing rule, then hybrid detail, then safety contract, then workflow. Zero filler and every clause pays for itself.

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?

For a 25-parameter, nested-object tool with no output schema, the description covers routing, safety, sibling boundaries, and the follow-up workflow, which is most of what an agent needs. The gap is parameter-level completeness: roughly half the schema fields are undocumented, and the description does not close that hole.

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

Parameters3/5

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

With 25 parameters at only 48% schema description coverage, the description carries a heavy burden and only partially compensates: it hints that hybrid recipes reuse existing image nodes and aligned color variants, and that weathering uses a deposit/wear tint. It adds no guidance on the mass of undocumented parameters (seed, roughness, uvScale, variation, assignments, extension modes), so many params remain unexplained in both places.

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 (propose) and resource (editable procedural/hybrid shader operations) plus its domain (wood, metal, stone, fabric, image weathering) and explicitly distinguishes itself from its closest siblings by name. An agent can route to this tool without opening any 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?

Gives an explicit selection rule ('Choose this for node-based materials') and names four alternatives with the exact condition that selects each (material_from_image for one uploaded image, material_from_maps for a prepared map set, texture_maps_create for downloads without scene changes). This is textbook when-to-use guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources