td-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| td_statusA | TD + bridge status. Call first to verify the connection. |
| td_buildA | Build a whole network in ONE call. ops: [{type:'circleTOP', name, params:{p:v or {expr:..}}, x, y}]. wires: [[from,to] or [from,to,to_in]] using op names or paths. Returns actual paths (TD may auto-rename). |
| td_createC | Create one operator; optional params applied atomically. |
| td_setA | Set parameters. Value forms: 5, 'str', {'expr':'absTime.seconds'}, 'PULSE'. Unknown names return close-matches. |
| td_connectC | Wire from_path output -> to_path input. |
| td_getA | Inspect an op: type, errors, NON-DEFAULT params only, wiring, res/chans. |
| td_listB | List child ops (family: TOP/CHOP/DAT/SOP/COMP). |
| td_deleteC | Delete an operator. |
| td_find_channelsA | Find CHOP channels by glob across the project (e.g. 'pinch'). Returns chop paths + matching channel names. |
| td_read_chopC | Current channel values of a CHOP (glob filter). |
| td_ensure_cookA | Install a per-frame force-cook on a node (fixes GLSL/feedback freeze). |
| td_screenshotA | Save a TOP's image to PNG (default under td-mcp/shots) so the client can view it. |
| td_saveB | Save the .toe project (optionally to a new path). |
| td_load_toxB | Load a .tox component into the project. |
| td_errorsC | All erroring ops under a path. |
| td_execA | Escape hatch: run Python inside TD (op, project, ParMode, absTime in scope). Returns stdout. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Each tool targets a distinct operation: status checks connection, build creates networks, create makes single ops, set modifies params, connect wires, get inspects, list enumerates children, delete removes, find_channels/read_chop handle CHOP data, ensure_cook forces cooking, screenshot captures images, save/load handle files, errors finds problems, and exec runs arbitrary Python. No two tools have overlapping purposes.
All tools follow a consistent `td_verb` or `td_noun` pattern, with verbs like create, set, connect, get, list, delete, find, read, save, load, and exec. The two noun-like names (td_status, td_errors) are intuitive and don't break the overall naming scheme.
16 tools is comprehensive but not excessive for a TouchDesigner MCP server that needs to support network building, parameter manipulation, inspection, debugging, file I/O, and execution. It's one tool over the typical '5-15' range but still well-scoped for the diversity of operations.
The tool set covers the core lifecycle: create, delete, connect, set params, save/load, and inspect. It also includes important extras like channel finding, error reporting, screenshots, and a Python escape hatch. Minor gaps exist (no explicit disconnect/rename/move operations), but td_exec can cover these, so agents have workarounds.