Skip to main content
Glama

set_custom_normals

Set custom split normals on a mesh to precisely control shading and correct visual artifacts.

Instructions

Set custom split normals for precise shading control.

Args: object_name: Target mesh object. normals: List of [x, y, z] normal vectors (one per loop). angle: Auto-smooth angle in radians.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
angleNo
normalsNo
object_nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.0

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. It does not mention that the tool modifies the mesh, overwrites existing normals, or has any prerequisites (e.g., the object must be a mesh). It also does not describe potential side effects or error conditions like mismatched normal counts. The description is purely functional with no transparency about side effects.

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?

The description is extremely concise: a single purpose line followed by a parameter list. It is front-loaded with the main intent and wastes no words. The structure is clean and immediately scannable.

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

Completeness2/5

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

Given the tool's complexity (modifying mesh normals), the absence of annotations and output schema, and the fact that normals are a nuanced topic, the description is insufficient. It explains what the tool does and lists args, but does not cover prerequisites, behaviors, error handling, or how it differs from similar normal-editing tools. An agent could easily misuse it (e.g., providing an incorrect number of normals) without more context.

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 explain the parameters, and it does provide brief explanations: 'object_name' as target, 'normals' as list of [x,y,z] vectors 'one per loop', and 'angle' as radians. However, it fails to define what a 'loop' is, how many normals are required (e.g., per face, per vertex), or the relationship between normals and the mesh topology. It adds some meaning but leaves critical ambiguities.

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?

The description clearly states the action ('Set custom split normals') and the purpose ('for precise shading control'). It names a specific resource (custom split normals) that distinguishes it from siblings like flip_normals or recalculate_normals, which operate on existing normals rather than setting custom ones.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like recalculate_normals or flip_normals. The phrase 'precise shading control' hints at the use case, but it does not state when custom normals are warranted or when other normal tools are more appropriate. Lacks exclusions or clear context.

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