Skip to main content
Glama

remove_virtual_bone

DestructiveIdempotent

Remove a virtual bone from an Unreal Engine USkeleton asset by name or source/target bones, then save changes. Returns remaining virtual bone names.

Instructions

Remove a virtual bone from a USkeleton asset, named directly or found by its source and target bones, then save. Idempotent: no match returns removed false and already_absent true without saving. Returns the remaining virtual_bone_names; a failed save returns success false.

Returns: { asset_path: string, virtual_bone_name: string, removed: bool, already_absent: bool, virtual_bone_count: int, virtual_bone_names: [string], saved: bool }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
source_boneNoSource bone name; used with target_bone to resolve the virtual bone when virtual_bone_name is omitted.
target_boneNoTarget bone name; used with source_bone to resolve the virtual bone when virtual_bone_name is omitted.
skeleton_pathYesUSkeleton asset path, e.g. "/Game/Characters/SK_Hero_Skeleton".
virtual_bone_nameNoFull virtual bone name with its "VB " prefix, e.g. "VB pelvis_hand_r"; when given, source_bone and target_bone are ignored.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.2.0
    • changedInput schema / properties / skeleton_path / description
      Previous value: -"Path to the USkeleton asset."New value: +"USkeleton asset path, e.g. \"/Game/Characters/SK_Hero_Skeleton\"."
    • changedInput schema / properties / virtual_bone_name / description
      Previous value: -"Name of the virtual bone to remove (the VB-prefixed name)."New value: +"Full virtual bone name with its \"VB \" prefix, e.g. \"VB pelvis_hand_r\"; when given, source_bone and target_bone are ignored."
  2. First observedv1.1.0

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, but the description goes further and defines what idempotency means here (no match -> removed false, already_absent true, no save) and discloses save-failure signaling (success false). This concretely operationalizes the annotation hints, which is exactly the added value expected beyond structured fields.

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?

Front-loaded with the action, then resolution, then idempotency/failure semantics. The explicit 'Returns: {...}' block is mildly redundant with the prose already describing returns, but overall every sentence carries information.

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

Completeness5/5

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

With no output schema, the description carries the return burden and does so (full return shape plus failure behavior). Combined with annotations covering destructiveness and idempotency and a fully documented schema, an agent has everything needed to invoke it correctly.

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 100%, so the schema already documents all four parameters including the override rule between virtual_bone_name and source_bone/target_bone. The description restates that resolution rule but adds no syntax or format detail beyond the schema, so the baseline of 3 is appropriate.

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+resource ('Remove a virtual bone from a USkeleton asset') and pins down the resolution mechanism. The 'virtual bone' qualifier cleanly distinguishes it from remove_bone and from the add_virtual_bone sibling without needing the schema.

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

Usage Guidelines3/5

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

The description explains the two ways to target the bone (named directly, or resolved from source_bone/target_bone), which is genuine usage context. However, it never states when to prefer this over siblings like remove_bone or add_virtual_bone, nor any prerequisites. Usage is implied rather than prescribed.

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