Skip to main content
Glama

VNyan stretch bones

vnyan_stretchbone

List persisted stretch bones from disk or add a new stretch bone at runtime with configurable clamp, scale, move, and blend shape parameters for VNyan avatars.

Instructions

'list' (disk, always readable) reads the persisted stretch bones (settings.json 'StretchBones'). 'add' (plugin, live, write-only) adds one at runtime - there is no live read-back for these, only the persisted list. All clamp/scale/move/offset params are multipliers or local-space offsets on the stretch bone's transform, not absolute world positions. Any field you omit uses VNyanStretchBone's own default, listed on each param below.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoRequired for 'add'
actionYes'list' reads the persisted set (disk); 'add' creates one at runtime (plugin)
maxClampXNoMaximum scale clamp, X axis. Default 1
maxClampYNoMaximum scale clamp, Y axis. Default 2
maxClampZNoMaximum scale clamp, Z axis. Default 1
minClampXNoMinimum scale clamp, X axis. Default 0.5
minClampYNoMinimum scale clamp, Y axis. Default 0.97
minClampZNoMinimum scale clamp, Z axis. Default 0.5
anchorNameNoBone/object the stretch bone is anchored to. Default ""
targetNameNoBone/object this stretch bone follows. Default ""
moveAmountXNoHow much stretch distance affects X position. Default 0.19
moveAmountYNoHow much stretch distance affects Y position. Default 0.03
moveAmountZNoHow much stretch distance affects Z position. Default 0.16
moveOffsetXNoMove offset X, local units. Default -1
moveOffsetYNoMove offset Y, local units. Default -1
moveOffsetZNoMove offset Z, local units. Default -1
scaleAmountXNoHow much stretch distance affects X scale. Default 0.5
scaleAmountYNoHow much stretch distance affects Y scale. Default 1
scaleAmountZNoHow much stretch distance affects Z scale. Default 1
targetOffsetXNoTarget offset X, local units. Default 0
targetOffsetYNoTarget offset Y, local units. Default 0
targetOffsetZNoTarget offset Z, local units. Default 0
blendshapeAxisNoWhich axis of motion drives the blendshape (0=X, 1=Y, 2=Z). Default 0
blendshapeNameNoOptional blendshape to drive from this stretch bone's motion instead of/alongside the transform. Default "" (unused)
offsetRotationXNoRotation offset X, degrees. Default 0
offsetRotationYNoRotation offset Y, degrees. Default 0
offsetRotationZNoRotation offset Z, degrees. Default 0
stretchBoneNameNoThe actual bone being stretched. Default ""
blendshapeInvertNoInvert the blendshape-driving axis. Default false
blendshapeMultiplierNoMultiplier applied to the blendshape-driving value. Default 1
Behavior4/5

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

Without annotations, the description carries the full burden. It explains that 'list' is always readable and 'add' is write-only. It clarifies that all numeric parameters are multipliers or local-space offsets, not absolute world positions. It also notes that omitted fields use defaults (listed in schema). However, it does not mention behavior on duplicate names or error handling, which would add further transparency.

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 description is relatively concise given the 30 parameters, using one sentence per operation and one for general parameter behavior. It front-loads the action choices. However, it repeats some information that is already in the schema (default values), which could be trimmed. Still, it remains efficient and to the point.

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?

For a tool with 30 parameters and no output schema, the description covers the parameter semantics and action differentiation well, but it lacks information about return values (e.g., what 'list' returns) and error conditions. It does not describe the result of a successful 'add' or potential failures, leaving some gaps for an agent to fully use the tool.

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?

With 100% schema coverage, the baseline is 3. The description adds value by explaining that all clamp/scale/move/offset params are relative (multipliers/local offsets) and that omitted fields use the defaults listed in the schema. This provides context beyond the raw parameter descriptions in the input 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?

The description clearly states that the tool manages stretch bones with two distinct actions: 'list' (reads from disk) and 'add' (creates at runtime). It differentiates between these operations and implicitly distinguishes from sibling tools by focusing specifically on stretch bones, a concept not covered by other tools in the list (e.g., vnyan_bone, vnyan_avatar).

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

Usage Guidelines5/5

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

The description explicitly explains when to use each action: 'list' for the persisted set (disk, always readable) and 'add' for runtime creation (no live read-back). It also warns that there is no live read-back for 'add', guiding the agent to use 'list' for persisted state. This provides clear context and avoids misuse.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/seth-rah/vnyan-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server