Skip to main content
Glama

Create pose skeleton

create_pose_skeleton

Create a live stick-figure skeleton from pose data in TouchDesigner. Supports synthetic, MediaPipe, OSC, or existing CHOP sources; outputs a compositable render with adjustable color, width, camera.

Instructions

Render a live stick-figure skeleton from full-body pose tracking — the classic MediaPipe body-tracking look: glowing lines connecting the 33 landmarks (shoulders, elbows, wrists, hips, knees, ankles) drawn by a Line MAT and rendered to a Null TOP you can composite or post-process. Source defaults to a SYNTHETIC animated pose so it builds and previews instantly with no camera and no plugin; switch to 'mediapipe' (the free torinmb plugin), 'osc', or an existing pose CHOP (e.g. from create_pose_tracking) for the real performer. Creates a new baseCOMP under parent_path holding the pose source, a Geometry COMP (a Script SOP that rebuilds points + bones each cook), a Line MAT, a Camera, a Render TOP, and a Null output. Use create_body_reactive instead for glowing dots/trails at the landmarks rather than a connected stick figure. Exposes LineColor / LineWidth / CamDistance. Returns a summary plus a JSON block with the container path, created node paths, the skeleton SOP and output paths, the bone count, exposed controls, any node errors, warnings, and an inline preview image.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceNoWhere the 33-landmark pose stream comes from. 'synthetic' (default) = a self-contained animated human pose that needs NO camera and NO plugin — use it to build and preview the look instantly. 'mediapipe' = the live CHOP from the free torinmb/mediapipe-touchdesigner plugin (point mediapipe_chop_path at its pose landmarks CHOP). 'osc' = landmarks arriving over OSC (osc_port). 'existing_chop' = a pose CHOP you already built (e.g. the output of create_pose_tracking).synthetic
osc_portNoUDP port the OSC In CHOP listens on (source='osc').
line_colorNoBone colour as hex ('#rrggbb'). Drives the Line MAT; default is bright cyan.#33ffe6
line_widthNoBone thickness in pixels (Line MAT near width). Exposed as a live knob.
parent_pathNoParent network where the pose-skeleton container is created (default '/project1')./project1
camera_distanceNoCamera distance on Z. Default frames a whole standing figure in 16:9; larger = further/smaller. Exposed as a live knob.
expose_controlsNoWhen true (default), expose live LineWidth / CamDistance knobs (+ a LineColor swatch).
existing_chop_pathNoPath of an existing pose CHOP — 33 samples, tx/ty/tz channels (source='existing_chop').
mediapipe_chop_pathNoPath to the MediaPipe plugin's pose-landmarks CHOP (source='mediapipe'). The plugin emits 33 samples with tx/ty/tz channels.
Behavior5/5

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

Annotations only convey readOnly=false and destructive=false, so the description carries the burden, and it delivers: it reveals the created node hierarchy, the Script SOP that rebuilds points each cook, the default synthetic source, exposed knobs, and the JSON return payload including preview. This goes beyond the annotations to explain how the tool behaves at runtime.

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 long but well-structured, front-loading the core purpose and then flowing into sources, created nodes, alternatives, exposed controls, and return value. Every sentence adds relevant detail for a complex tool; only minor trimming would be possible.

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 fully explains return values (summary, paths, bone count, errors, preview). It covers all major behaviors, source options, and the network built, making it complete for a 9-parameter tool with no required parameters.

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 description coverage is 100%, so the baseline is 3. The description adds a little grouping context (e.g., 'Exposes LineColor / LineWidth / CamDistance') but doesn't provide significant meaning beyond the already-detailed property 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 starts with a specific verb+resource: 'Render a live stick-figure skeleton from full-body pose tracking' and then enumerates the exact component network created. It explicitly distinguishes itself from the sibling tool create_body_reactive ('Use create_body_reactive instead for glowing dots/trails...').

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?

It gives clear context: the synthetic source works with no camera/plugin, while 'mediapipe', 'osc', or an existing pose CHOP are for real performers. It also names an explicit alternative (create_body_reactive) and a prerequisite source tool (create_pose_tracking), giving the agent concrete decision criteria.

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