Node trees describe structure, and structure is the part of a TouchDesigner problem that is already visible; capturing a TOP's output closes the loop by showing what actually changed after a parameter edit. The error check reporting descendants matters for the same reason — the failing node is rarely the one you were looking at.
A control surface over a running TouchDesigner instance. A component you drop into the project runs a WebServer DAT; this server talks to it, covering node editing, Python execution, API reference lookup and image capture.
- Node editing: list what sits under a path filtered by pattern, create a node of a given type under a parent, update its parameters, delete it
- Parameter reads and error reports, the error check covering a node and its descendants rather than one node at a time
- Python inside TouchDesigner — a whole script, or a named method on a specific node with its arguments
- The API as reference material without leaving the session: the class and module list, details for a named class, and the Python help() text for a module
- The current output of a TOP node captured as an image, downscaled to a size you set
- Prompts for the recurring jobs: fuzzy node search by name, family or type, connecting nodes, and walking a node's errors recursively
- Output shaping on nearly every tool — a detail level of minimal, summary or detailed, and a response format of json, yaml or markdown
Node.js, and TouchDesigner running with this project's .tox component imported and its WebServer DAT listening — port 9981 by default, and a connection refused there means the component is not running rather than the server being broken. Failed connection checks are cached for 60 seconds, so a fix takes effect on the retry after that. The server and the component are versioned on their own axis: a component older than the supported minimum, or a major version ahead, stops execution and asks you to update the other half, so keep the downloaded component and the npm package in step. It also ships as an .mcpb bundle. MIT.
One command — npx -y touchdesigner-mcp-server
