Skip to main content
Glama

move_shape_key_vertices

Move vertices within a shape key to sculpt blend shapes. Apply local-space offsets per vertex or use vertex group weights for soft falloff.

Instructions

Move vertices inside a shape key, building the blend shape.

The offset is in the object's local space. With a vertex group, each vertex moves by offset times its weight, which gives soft falloff: weight the cheeks, then move them out to puff them.

Args: object_name: Mesh object. key_name: Shape key to edit (not the Basis). offset: [x, y, z] distance to move, each -1000 to 1000. vertex_indices: Vertices to move. Leave out to use vertex_group, or neither to move the whole mesh. vertex_group: Move by this group's weights instead of by index.

Returns: Dict with the number of vertices moved.

Input Schema

NameRequiredDescriptionDefault
offsetYes
key_nameYes
object_nameYes
vertex_groupNo
vertex_indicesNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.0.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full disclosure burden and does well: it states the offset is in object local space, that weighted vertices move by offset times weight (non-obvious math), that key_name must not be the Basis, and that the return is a vertex-moved count. It omits error behavior, whether the object must be active/in a specific mode, and whether the change is reversible.

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?

Purpose and spatial semantics are front-loaded, then a structured Args/Returns block. The soft-falloff example earns its place, but the docstring framing is slightly verbose relative to the information density.

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 5-parameter mesh-editing mutation with no annotations, the description covers purpose, coordinate space, parameter interactions, the Basis exclusion, and the return payload (also covered by an output schema). Remaining gaps are edge cases like invalid indices or missing shape keys rather than core calling information.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate and does: every parameter is explained, including the -1000..1000 per-axis offset range (absent from the schema) and the precedence relationship among vertex_indices, vertex_group, and the whole-mesh default. This adds substantial meaning beyond the bare typed properties.

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 ('Move vertices inside a shape key') plus the intent ('building the blend shape'), and clarifies the target is a shape key, not the Basis. It clearly separates the operation from siblings like set_shape_key or add_shape_key in spirit, but never names an alternative tool, keeping it just short of a 5.

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 explicit routing between the two optional parameters: vertex_indices by index, vertex_group by weights, or neither to move the whole mesh. It even supplies a concrete workflow ('weight the cheeks, then move them out to puff them'). It lacks any statement of when to prefer this over sibling shape-key tools such as set_shape_key.

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