Skip to main content
Glama

add_material_node

Adds a material node to a KeyShot material's shader graph, returning its ID and parameters for building custom shaders.

Instructions

Ajoute un nœud au graphe d'une copie. type : constante lux (SHADER_TYPE_SPOTS, SHADER_TYPE_NOISE_TEXTURE, SHADER_TYPE_MARBLE, SHADER_TYPE_CELLULAR...) ou nom de type (« lux_spots », « lux_openpbr »...). Rend l'id et les paramètres du nœud. Pas de constante OpenPBR : copier un matériau OpenPBR_* de la bibliothèque.

Input Schema

NameRequiredDescriptionDefault
nameNo
typeYes
materialYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare the mutation profile (readOnly=false, destructive=false, openWorld=false). The description adds that it returns the node id and parameters, and flags the OpenPBR limitation, but says nothing about the need for commit_material_changes/undo_material_changes or whether adding a node mutates the live material.

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

Conciseness3/5

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

Short, but the phrasing is fragmented and the line wrapping plus the ambiguous 'd'une copie' force the reader to re-parse. The most important constraint (no OpenPBR) is buried at the end rather than front-loaded.

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?

An output schema exists, so return values need not be described. However, for a graph-mutating tool with zero schema descriptions, the definition leaves the meaning of 'material' and 'name' and the commit/undo workflow unexplained.

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?

Schema coverage is 0%, so the description must compensate. It does this well for 'type' (lux constants such as SHADER_TYPE_SPOTS vs. type names like 'lux_spots'), but leaves 'material' and 'name' entirely unexplained, so a third of the parameters remain undocumented.

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 and resource: adds a node to a material graph, and names the accepted type values. It does not explicitly distinguish itself from siblings like connect_material_nodes or remove_material_node, though the verb makes the difference inferable.

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 an explicit when-not rule: no OpenPBR constant should be used here, instead copy an OpenPBR_* material from the library. That is real routing guidance, though it does not cover when to add a node versus editing parameters directly.

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