Skip to main content
Glama

assign_material

Assign a material to selected objects, replacing existing slots by default or adding an extra slot for multi-material use.

Instructions

Assign a material to objects.

By default this replaces every existing slot, which is what a single-material game prop wants. Pass replace=false to add a second material slot instead -- each extra slot is an extra draw call in most engines.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
namesNoObject names. Omit to use the current selection.
replaceNoClear existing slots first; False appends a slot
materialYesMaterial name
slot_indexNoWrite into this existing slot instead

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries full responsibility, and it discloses the destructive default (replaces every existing slot), the append mode, and a performance consequence (extra draw calls). It does not state whether the material must already exist or whether assignment creates a new material, which is a meaningful behavior gap. Overall it provides substantive behavioral context beyond a bare verb.

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?

Two short paragraphs, front-loaded with the purpose sentence and immediately followed by the most important default behavior. Each sentence earns its place; no filler or repetition of schema details.

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

Completeness3/5

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

Covers the main operation, default behavior, and the primary parameter choice, which is enough for many calls. Missing are the material-existence requirement and how slot_index interacts with replace, which could trip up an agent without other context. Since there are no annotations and no output schema, these gaps lower completeness below the top tier.

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; the description adds real value by explaining the replace=true behavior and the performance trade-off of appending slots. It does not clarify how slot_index relates to replace, but the schema already describes each parameter. The draw-call insight elevates the semantics beyond the 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?

States a specific action ('Assign a material to objects') with a clear resource. The description goes beyond the name by explaining the default replacement behavior, which distinguishes this from related material tools like set_material_properties. It is unambiguous about the operation.

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?

Provides explicit guidance: default replaces all slots and is suited to single-material game props, while replace=false appends a slot and incurs extra draw calls. It does not explicitly name alternative tools, but it does give a clear decision rule for the key parameter. However, it does not explain when to use slot_index instead of replace=false, leaving some usage ambiguity.

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