touchdesigner-mcp

Control TouchDesigner networks via the twozero MCP server over localhost HTTP.

Updated Sep 20, 2026
One-click install
npx skills add https://github.com/GreenyZA/neo-light --skill touchdesigner-mcp-greenyza
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: touchdesigner-mcp
Source: https://github.com/GreenyZA/neo-light/tree/main/.hermes-home/skills/creative/touchdesigner-mcp
Command: npx skills add https://github.com/GreenyZA/neo-light --skill touchdesigner-mcp-greenyza

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Building TouchDesigner projects by hand requires memorizing version-specific parameter names, wiring rules, and operator quirks that change between releases. This Skill lets an AI agent create, wire, parameterize, debug, and record TouchDesigner networks programmatically through the twozero MCP server's 36 native tools, eliminating guesswork and trial-and-error. ## Core Features & Use Cases - Network construction and inspection: Create operators, set validated parameters, wire connections, and query network structure, errors, and performance via tools like td_create_operator, td_set_operator_pars, and td_get_errors. - Audio-reactive and GLSL workflows: Proven recipes for spectrum-driven shaders, feedback loops, and MovieFileOut recording, with empirically verified rules (e.g., never use Lag CHOP on spectrum data). - Deep reference library: 20+ reference files covering operators, pitfalls, 3D scenes, animation, MIDI/OSC, projection mapping, particles, and external data I/O. - Use Case: Ask the agent to build an audio-reactive GLSL visual: it discovers correct parameter names with td_get_par_info, builds the AudioFileIn → AudioSpectrum → CHOP to TOP → GLSL chain, verifies output via screenshots, and records ProRes video. ## Quick Start Run the bundled setup script with bash "${HERMES_HOME:-$HOME/.hermes}/skills/creative/touchdesigner-mcp/scripts/setup.sh", then drag the downloaded twozero.tox into TouchDesigner and enable MCP auto-start.

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 auto-start setting, and connect via Streamable HTTP on localhost port 40404. The agent then uses 36 native tools like td_create_operator and td_set_operator_pars to build and debug networks.

How to build an audio-reactive GLSL 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 feeding a GLSL TOP. Never use Lag or Filter CHOPs on spectrum data since timeslice expansion averages values to near-zero.

Does TouchDesigner Non-Commercial license limit recording resolution?▼

Yes, Non-Commercial TouchDesigner caps resolution at 1280x1280, so set outputresolution to custom with explicit width and height. H.264, H.265, and AV1 codecs also require a Commercial license; use prores on macOS or mjpa as fallback.

Why does my TouchDesigner shader output appear black?▼

Black output usually means a shader compile error, missing input texture, or no light in a 3D scene. Check td_get_errors recursively, capture a td_get_screenshot of the output, and verify FPS is above zero with td_get_perf before recording.

Why do TouchDesigner parameter names cause tdAttributeError?▼

Parameter names vary between TouchDesigner versions, so training-data guesses often fail on TD 2025.32. Always call td_get_par_info for the operator type first to get exact parameter names before setting values.

Can I record animation from TouchDesigner TOPs?▼

Use a MovieFileOut TOP connected to your output Null TOP; TOP.save() captures the same GPU texture every frame and is useless for animation. Verify FPS is above zero and set the output file path before pulsing record.