Skip to main content
Glama

Create hand gesture bus

create_hand_gesture_bus

Build a TouchDesigner hand-gesture bus converting landmarks into stable CHOP control channels for reactive visuals. Supports synthetic, MediaPipe, or existing CHOP.

Instructions

Create a TouchDesigner Base COMP that converts hand landmarks into a stable gesture-control Null CHOP for palm holograms, lasers, audio controls, and other hand-reactive visuals. It creates helper nodes under parent_path, returns the component/output paths and created-node report, and exposes debounced channels such as palm_open, float_x/y, palm_size, pinch_active, pinch_power, scale_target, light_gain, and audio_level. Use source='synthetic' for camera-free previews, source='mediapipe' to build/use setup_hand_tracking, or source='existing_chop' with hand_chop_path when a hand landmark CHOP already exists.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mirrorNoMirror X coordinates for front-facing camera interaction and synthetic previews.
sourceNoInput source: synthetic preview data, a new MediaPipe adapter, or an existing hand CHOP.synthetic
tox_pathNoOptional MediaPipe adapter .tox path passed through when source='mediapipe'.
comp_nameNoName for the created gesture-bus Base COMP under parent_path.hand_gesture_bus
max_handsNoNumber of hands to track or synthesize; the gesture bus supports one or two hands.
smoothingNoSlow smoothing factor for stable palm/float channels; higher values move more slowly.
parent_pathNoParent COMP where the gesture-bus component and helper nodes are created./project1
adapter_nameNoName for the setup_hand_tracking adapter when source='mediapipe'.mp_hand_adapter
hold_secondsNoSeconds a disappearing/open palm is held before channels fall back.
pinch_radiusNoPalm-local radius around the pinch point used to estimate pinch_power.
fast_smoothingNoFast smoothing factor for responsive pinch/power channels; higher values move more slowly.
hand_chop_pathNoRequired only when source='existing_chop'; path to a CHOP with hand landmark channels.
expose_controlsNoCreate custom parameters on the component for tuning smoothing, pinch, and lock behavior.
pinch_open_distNoThumb-index distance at or above which a pinch opens; must be greater than pinch_close_dist.
pinch_thresholdNoNormalized pinch_power threshold used to expose binary pinch_active channels.
active_hand_lockNoKeep the first active hand as the control hand until it is lost, reducing hand switching.
coordinate_spaceNoCoordinate family expected from the hand source: normalized image space or world space.world
pinch_close_distNoThumb-index distance at or below which a pinch closes; must be less than pinch_open_dist.
pinch_arm_secondsNoSeconds pinch_active must remain close before it is considered armed.
pinch_radius_scaleNoMultiplier applied to pinch_radius when converting distance into pinch_power.
Behavior4/5

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

Annotations already indicate readOnlyHint=false and openWorldHint=true. The description adds behavior beyond that: it 'creates helper nodes under parent_path, returns the component/output paths and created-node report', exposes specific debounced channels, and can build/use setup_hand_tracking. No contradiction with annotations.

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?

Three sentences, each earning its place: purpose, outputs/behavior, and source guidance. Front-loaded with the core action and use cases. No repetition of schema content.

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 20 params and no output schema, the description covers what is created, what is returned (paths and created-node report), and names the output channels. It does not detail the report structure or error behaviors, but schema covers parameters and annotations cover side effects, making it sufficiently complete for a complex 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?

Schema coverage is 100%, so baseline is 3. The description adds cross-parameter meaning by linking source='existing_chop' with hand_chop_path and noting nodes are created under parent_path. This supplements the individual parameter descriptions.

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 states a specific verb and resource: 'Create a TouchDesigner Base COMP that converts hand landmarks into a stable gesture-control Null CHOP' and names concrete use cases (palm holograms, lasers, audio controls). It distinguishes from siblings by detailing output channels and source modes, making it clear this is the hand-gesture-bus creator.

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?

The description provides explicit guidance for each source value: 'Use source='synthetic' for camera-free previews, source='mediapipe' to build/use setup_hand_tracking, or source='existing_chop' with hand_chop_path when a hand landmark CHOP already exists.' This is clear when-to-use context, but it does not name sibling alternatives (e.g., create_leap_motion_hand_bus), so it stops short of a 5.

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/lucasmaher-hash/touch-designer-mcp'

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