Skip to main content
Glama
8beeeaaat

TouchDesigner MCP

by 8beeeaaat

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TD_WEB_SERVER_URLNoURL of the TouchDesigner WebServer DAThttp://localhost:9981
TD_WEB_SERVER_PORTNoPort for the TouchDesigner WebServer DAT9981

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_td_infoC

Get server information from TouchDesigner

execute_python_scriptC

Execute a Python script in TouchDesigner (detailLevel=minimal|summary|detailed, responseFormat=json|yaml|markdown)

get_td_nodesB

List nodes under a path with token-optimized output (detailLevel+limit supported)

get_td_node_parametersB

Get node parameters with concise/detailed formatting (detailLevel+limit supported)

get_td_node_errorsA

Check errors and warnings on a node and its descendants. TouchDesigner reports missing files, dangling operator references and shader compile failures as warnings, so do not treat hasErrors=false as a healthy node. Reads the operator errors and warnings streams only: an exception raised inside a Script OP callback, a scriptCHOP onCook for example, lands on neither and is reported nowhere here, so an empty report is not evidence the node cooked

create_td_nodeC

Create a new node in TouchDesigner

update_td_node_parametersC

Update parameters of a specific node in TouchDesigner

delete_td_nodeB

Delete an existing node in TouchDesigner

exec_node_methodC

Execute a method on a specific node in TouchDesigner

get_td_classesB

List TouchDesigner Python classes/modules (detailLevel+limit supported)

get_td_class_detailsB

Get information about a TouchDesigner class/module (detailLevel+limit supported)

get_td_module_helpB

Retrieve Python help() text for a TouchDesigner module or class

get_top_imageA

Capture the current output of a TOP node as an image so it can be viewed directly (maxSize optionally downscales the longer side)

describe_td_toolsB

Generate a filesystem-oriented manifest of available TouchDesigner tools

Prompts

Interactive templates invoked by user choice

NameDescription
Search nodeFuzzy search for node
Check node errorsFuzzy search for node and return errors in TouchDesigner.
Node connectionConnect nodes between each other in TouchDesigner.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 14 tools

Disambiguation4/5

Each tool targets a distinct concern: server info, script execution, node listing/parameters/errors, CRUD, method execution, class/module introspection, image capture, and a tool manifest. get_td_class_details and get_td_module_help are the only close pair, but the descriptions clearly separate detailed info from raw help() text.

Naming Consistency3/5

Most tools follow a get/create/update/delete/execute verb prefix, but the TD marker placement is inconsistent (get_td_nodes vs create_td_node vs exec_node_method), and names like get_top_image and describe_td_tools break the pattern. The naming is readable and mostly snake_case, but not fully systematic.

Tool Count5/5

14 tools is well within the ideal range for a domain-specific server. Each tool earns its place by covering a meaningful part of the TouchDesigner workflow, with no obvious redundancy or bloat.

Completeness5/5

The set provides full node lifecycle coverage (create, read/list, update, delete), parameter access, error checking, arbitrary script execution, node method calls, class/help introspection, and image output capture. The generic execute_python_script tool also acts as a powerful fallback for any uncovered operations.

Maintenance

ActivityActive
ResponsivenessResponsive