touchdesigner-mcp

Control TouchDesigner via twozero MCP to build real-time visuals and audio-reactive networks.

Updated Jul 10, 2026
One-click install
npx skills add https://github.com/AvaTar-ArTs/.Agent-skills --skill touchdesigner-mcp-avatar-arts
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: touchdesigner-mcp
Source: https://github.com/AvaTar-ArTs/.Agent-skills/tree/main/skills/creative/touchdesigner-mcp
Command: npx skills add https://github.com/AvaTar-ArTs/.Agent-skills --skill touchdesigner-mcp-avatar-arts

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 dead audio pipelines wastes hours. This Skill gives an AI agent direct, verified control over a running TouchDesigner instance through the twozero MCP server, with battle-tested rules that prevent the most common failures. ## Core Features & Use Cases - Full network automation: Create operators, set validated parameters, wire connections, and execute Python inside TD using 36 native MCP tools on localhost port 40404. - Audio-reactive visuals: Proven signal chain (AudioFileIn → AudioSpectrum → Math → CHOP to TOP → GLSL) with verified fixes for TimeSlice, Lag CHOP, and spectrum sampling pitfalls. - Recording and export: Render and record via MovieFileOut TOP with ProRes/MJPEG codecs that work on Non-Commercial licenses, plus screenshot-based verification before capture. - Use Case: Ask the agent to build an audio-reactive GLSL shader visual: it discovers parameter names with td_get_par_info, builds the network, verifies FPS and output via screenshots, then records a 1280x720 ProRes video. ## Quick Start Run the bundled setup script, drag twozero.tox into TouchDesigner, enable the MCP toggle, then ask the agent to build a noise-based animated background and show me a screenshot of the output.

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, enable its MCP server on port 40404, and register it as an MCP server for your agent. The agent then uses 36 native tools like td_create_operator and td_set_operator_pars to build and modify networks.

How do I build audio-reactive visuals in TouchDesigner?

Use the chain AudioFileIn CHOP to AudioSpectrum CHOP (TimeSlice on, output length 256) to Math CHOP with gain 10 to CHOP to TOP, then sample the spectrum texture in a GLSL TOP. Never use Lag or Filter CHOPs on spectrum data because timeslice expansion averages values to near zero.

Does TouchDesigner Non-Commercial license limit recording?

Non-Commercial TD caps resolution at 1280x1280 and blocks H.264, H.265, and AV1 codecs. Use MovieFileOut TOP with the prores codec on macOS or mjpa as fallback, and set outputresolution to custom with explicit width and height.

Why does my TouchDesigner GLSL shader show a black screen?

Black output usually means a shader compile error, missing input texture, or frozen time uniform. Check td_get_errors and the glsl info DAT, verify inputs are connected, and pass time via a Constant TOP in rgba32float format since 8-bit formats clamp values.

Why do TouchDesigner parameter names cause errors when scripting?

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 if a tdAttributeError fires, inspect the node with td_get_operator_info before continuing.

Is the twozero MCP server secure to run locally?

The MCP server binds to localhost only on port 40404 with no authentication, so any local process can send commands. td_execute_python has unrestricted access to TD's Python environment and filesystem, so treat it as trusted-local-only tooling.