Skip to main content
Glama

set_mid_scalar_param

DestructiveIdempotent

Set a scalar parameter override on a transient Material Instance Dynamic by object path or name; the new float takes effect immediately and is not saved, so invalid global scalar names are refused.

Instructions

Set a scalar parameter override on a transient Material Instance Dynamic (MID), found by object path or name as create_material_instance_dynamic or create_dynamic_material_on_actor return it; it takes effect at once and is never saved. param_name must be a global scalar parameter of the MID's material (as get_mid_all_params lists it); any other name is refused and nothing is written. set is the read-back of the new value. Vectors and textures: set_mid_vector_param, set_mid_texture_param.

Returns: { mid_object_path, param_name, old_value, new_value, set }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
valueYesNew float value
param_nameYesName of a scalar parameter of the MID's material
mid_object_pathYesObject path of the MID (from create_material_instance_dynamic)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.2.2
    • changedInput schema / properties / param_name / description
      Previous value: -"Name of the scalar parameter"New value: +"Name of a scalar parameter of the MID's material"
  2. First observedv1.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Adds real context beyond the annotations: the MID is transient, the change is immediate, never saved, and an invalid name is refused with nothing written. This helps the agent understand the non-persistent mutation semantics and failure mode that readOnlyHint/destructiveHint/idempotentHint alone don't convey.

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?

The action, scope, and alternative routing are front-loaded in the first sentence, with constraints and the Returns block after. It is dense with semicolons but every clause carries information; only slight trimming is possible.

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?

With 3 fully-required params, no output schema, and complete annotations, the description covers the mutation semantics, the precondition, the failure behavior, and even the return fields. Complete enough to call correctly; only cross-tool scalar alternatives and cross-type disambiguation are lightly handled.

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 already 100%, so the baseline is 3, but the description adds provenance for mid_object_path (returned by create_material_instance_dynamic / create_dynamic_material_on_actor) and tightens param_name to a global scalar parameter. This is meaningfully more than the schema text provides.

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 ('Set a scalar parameter override on a transient MID') and immediately names the sibling tools for the other data types (set_mid_vector_param, set_mid_texture_param). An agent can distinguish it from every nearby set_mid_*/set_material_instance_param tool 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear routing guidance for the vector/texture cases and a hard precondition ('param_name must be a global scalar parameter... as get_mid_all_params lists it'). It does not explicitly contrast against other scalar-setting tools like set_material_instance_param or set_mpci_scalar_parameter_value, so the when-not is only partially covered.

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