touchdesigner-mcp

Control TouchDesigner via MCP to create operators, set parameters, and build real-time visuals.

Updated May 13, 2026
One-click install
npx skills add https://github.com/superfhp/lumi-agent-body --skill touchdesigner-mcp-superfhp
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: touchdesigner-mcp
Source: https://github.com/superfhp/lumi-agent-body/tree/main/skills/creative/touchdesigner-mcp
Command: npx skills add https://github.com/superfhp/lumi-agent-body --skill touchdesigner-mcp-superfhp

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Building TouchDesigner networks by hand requires memorizing hundreds of operator parameter names that change between TD versions, and debugging black screens or silent shader errors is slow. This Skill connects an AI agent to a running TouchDesigner instance through the twozero MCP server, exposing 36 native tools to create operators, set validated parameters, wire connections, execute Python, capture screenshots, and profile performance without guessing parameter names. ## Core Features & Use Cases - Network construction and inspection: Create TOPs, CHOPs, SOPs, DATs, MATs, and COMPs with auto-positioning, inspect networks recursively, find errors, and read performance profiles via dedicated MCP tools. - Audio-reactive and GLSL workflows: Proven recipes for spectrum analysis pipelines, beat detection, GLSL TOP/MAT shaders with correct uniform passing, and feedback effects, with documented pitfalls like the Lag CHOP timeslice failure. - Recording and export: Render and record output via MovieFileOut TOP with ProRes or MJPA codecs, including pre-recording checklists for FPS, black-frame, and audio sync verification. - Use Case: Ask the agent to build an audio-reactive GLSL visual: it discovers parameter names with td_get_par_info, builds the AudioFileIn to AudioSpectrum to CHOP-to-TOP to GLSL chain, verifies output with screenshots, and records a ProRes movie. ## Quick Start Run the bundled setup script, drag the downloaded twozero.tox into TouchDesigner, enable the MCP auto-start toggle, then ask the agent to build a noise-based animated background at 1280x720.

Frequently Asked Questions about touchdesigner-mcp

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control TouchDesigner with an AI agent?▼

Install the free twozero.tox plugin in TouchDesigner and enable its MCP server on port 40404. The agent then uses 36 native tools like td_create_operator, td_set_operator_pars, and td_execute_python to build and modify networks programmatically.

How do I build an audio-reactive visual in TouchDesigner?▼

Chain AudioFileIn CHOP to AudioSpectrum CHOP with timeslice on and output length 256, then Math CHOP with gain 10, then CHOP to TOP into a GLSL TOP. Never use Lag or Filter CHOPs on spectrum data since timeslice expansion averages all bins to near-zero.

Why does my TouchDesigner shader output a black screen?▼

Black output usually means a shader compile error, missing input texture, or no light in a 3D scene. Check td_get_errors recursively, read the glsl info DAT for compile messages, and capture a screenshot with td_get_screenshot to verify each stage.

Can TouchDesigner Non-Commercial record video output?▼

Yes, but resolution is capped at 1280x1280 and H.264/H.265/AV1 codecs require a Commercial license. Use MovieFileOut TOP with the prores codec on macOS or mjpa as fallback, and set outputresolution to custom.

Why do TouchDesigner parameter names cause errors in scripts?▼

Parameter names change between TD versions, so training data is often wrong for TD 2025.32. Always call td_get_par_info for the operator type before setting parameters, and use td_set_operator_pars which validates names instead of crashing.

What are the security risks of the twozero MCP server?▼

The MCP server runs on localhost port 40404 with no authentication, so any local process can send commands. The td_execute_python tool has unrestricted access to the TD Python environment and filesystem, but no data leaves the local machine.