create_td_node
Create a new node in TouchDesigner
Build and change a TouchDesigner network from your client — create nodes, set their parameters, run Python inside the application, read the errors a node and its children report, and pull a TOP's rendered output back as an image.
LABSCO SUMMARY
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.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.
Follow the published steps
USE CASES
Create the node under the parent you name, set its parameters, and check what it renders before moving on.
Check the node and everything under it for errors, then read the parameters of whatever is reporting one.
Run Python inside TouchDesigner, or call a method on one node with the arguments it expects.
List the classes, read the one you need, and pull its help() text — without switching to the documentation.
Ask the server what it is connected to before concluding the network is at fault.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
create_td_nodeCreate a new node in TouchDesigner
delete_td_nodeDelete an existing node in TouchDesigner
describe_td_toolsGenerate a filesystem-oriented manifest of available TouchDesigner tools
exec_node_methodExecute a method on a specific node in TouchDesigner
execute_python_scriptExecute a Python script in TouchDesigner (detailLevel=minimal|summary|detailed, responseFormat=json|yaml|markdown)
get_td_class_detailsGet information about a TouchDesigner class/module (detailLevel+limit supported)
get_td_classesList TouchDesigner Python classes/modules (detailLevel+limit supported)
get_td_infoGet server information from TouchDesigner
get_td_module_helpRetrieve Python help() text for a TouchDesigner module or class
get_td_node_errorsCheck node and descendant errors reported by TouchDesigner
get_td_node_parametersGet node parameters with concise/detailed formatting (detailLevel+limit supported)
get_td_nodesList nodes under a path with token-optimized output (detailLevel+limit supported)
get_top_imageCapture the current output of a TOP node as an image so it can be viewed directly (maxSize optionally downscales the longer side)
update_td_node_parametersUpdate parameters of a specific node in TouchDesigner
BEFORE YOU INSTALL
14 tools when we connected.
CONTEXT COST
Rated by the size of the 14 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Download touchdesigner-mcp-td.zip from https://github.com/8beeeaaat/touchdesigner-mcp/releases/latest/download/touchdesigner-mcp-td.zip and extract it
Import mcp_webserver_base.tox into your TouchDesigner project and place it at /project1/mcp_webserver_base; do not move any files inside the extracted folder, since the component loads modules/ by relative path
Open the Textport (Alt+T) to confirm the component started, and keep TouchDesigner running while you use the server
{
"mcpServers": {
"touchdesigner": {
"command": "npx",
"args": [
"-y",
"touchdesigner-mcp-server@latest",
"--stdio"
]
}
}
}codex mcp add touchdesigner -- npx -y touchdesigner-mcp-server@latest --stdionpx -y touchdesigner-mcp-server@latest --stdioClone the repository, build the Docker image and start the container
git clone https://github.com/8beeeaaat/touchdesigner-mcp.git
cd touchdesigner-mcp
make build
TRANSPORT=http docker-compose up -dPoint your MCP client to the HTTP endpoint
{
"mcpServers": {
"touchdesigner-http": {
"type": "http",
"url": "http://localhost:6280/mcp"
}
}
}Clone the repository, build the Docker image and start the container
git clone https://github.com/8beeeaaat/touchdesigner-mcp.git
cd touchdesigner-mcp
make build
TRANSPORT=http docker-compose up -dPoint your MCP client to the HTTP endpoint
{
"mcpServers": {
"touchdesigner-http": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:6280/mcp"
]
}
}
}Clone the repository, build the Docker image and start the container
git clone https://github.com/8beeeaaat/touchdesigner-mcp.git
cd touchdesigner-mcp
make build
docker-compose up -dConfigure your client to exec into the container (use the full path to docker-compose.yml in the folder you cloned)
{
"mcpServers": {
"touchdesigner-docker": {
"command": "docker",
"args": [
"compose",
"-f",
"<YOUR_PATH_TO_TOUCHDESIGNER_MCP>/docker-compose.yml",
"exec",
"-i",
"touchdesigner-mcp-server",
"node",
"dist/cli.js",
"--stdio",
"--host=http://host.docker.internal"
]
}
}
}Download touchdesigner-mcp.mcpb from https://github.com/8beeeaaat/touchdesigner-mcp/releases/latest/download/touchdesigner-mcp.mcpb
Double-click the .mcpb file to install it in Claude Desktop
Restart Claude Desktop if touchdesigner-mcp does not appear in its MCP panel