TouchDesigner MCP Server v3.0.0 - 21 MCP tools, 661 operators with verified parameter data, 214 Python API classes, 14 tutorials, 32 workflow patterns. Up to date with TouchDesigner 2025 (Python 3.11.10) and the 2025.30000 experimental series, including the POP (Point Operator) family. Version system, experimental techniques KB, core tool enhancements, and experimental build support. Zero-configuration setup for VS Code/Codium.
This TouchDesigner MCP server presents a mixed picture. Strengths: 37 tools with explicit schemas, consistent naming patterns (get_, list_, search_, create_, delete_ prefixes), and clear separation of read-only vs. write operations. Weaknesses: descriptions are often generic and lack LLM-optimized detail; many parameters lack granular descriptions; output schemas are not documented; no error recovery guidance; tool definitions visible in index.js but actual implementation files not inspected, so schema completeness cannot be fully verified. The server follows basic MCP patterns but falls short of production-grade tool design. Average tool score: 52/100.
Compare two or more operators by their features, parameters, and use cases
Get information about experimental TouchDesigner builds and features
Get experimental techniques and advanced usage patterns for TouchDesigner
Get GLSL shader patterns and code examples for shader development
Get pre-built network templates and node setup patterns
Get detailed operator information including description, parameters, examples, and connections
Get information about operator connection types and compatibility
Output schemas not documented. Tools return data but LLMs cannot predict response structure (field names, types, pagination). This forces agents to call a tool blindly and parse unstructured output.
Descriptions lack LLM optimization. Many descriptions (50-70 chars) are generic and don't explain WHEN to use the tool vs. similar ones. E.g., 'Get detailed operator information' doesn't say whether to call get_operator vs. search_operators, or what 'detailed' means.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 62 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 44 | 1.0.4+ | v1 |
Get practical examples and code snippets for a specific operator
Get Python API class or method documentation with examples and parameters
Get a specific tutorial by name or ID with full content and examples
Get version information for TouchDesigner MCP server and supported versions
List all available experimental TouchDesigner builds
List all available operators, optionally filtered by family or category
List all available Python API classes with summaries
List all available tutorials with descriptions and difficulty levels
List all supported TouchDesigner versions and their features
Search experimental techniques and advanced patterns by keyword or category
Search operators by name, description, or parameters with relevance scoring
Search Python API classes and methods by name or description
Search tutorials by content, keywords, or operator names
Suggest workflow patterns and operator combinations based on description or goals
Build a GLSL shader pattern in running TouchDesigner
Build a workflow pattern in running TouchDesigner
Build a pre-defined network template in running TouchDesigner
Clear all operators from a network in running TouchDesigner
Connect two operators in running TouchDesigner instance
Create an operator in running TouchDesigner instance
Delete an operator from running TouchDesigner instance
Get error, warning, and script error messages from operators in running TouchDesigner
Automatically layout operators in a network in running TouchDesigner
List all operators in a network in running TouchDesigner
Render output from a TOP operator in running TouchDesigner to file
Execute Python code in running TouchDesigner instance
Sample pixel data from a TOP operator in running TouchDesigner
Set a parameter value on an operator in running TouchDesigner
Set resolution parameters on a TOP operator in running TouchDesigner
Get current status of running TouchDesigner instance and td_mcp bridge connection
Parameter descriptions are minimal or absent. Many params (operatorName, patternId, techniqueId) have one-line descriptions that don't explain allowed formats, examples, or constraints. LLMs cannot validate input without knowing allowed values.
No error recovery guidance. Tools have no documented error cases, recovery steps, or alternative paths. E.g., if get_operator('unknown_op') fails, LLMs don't know whether to call search_operators or give up.
Destructive tools (td_delete, td_clear) lack confirmation or dry-run patterns. Agents can irreversibly delete network state without safeguards. No description warns of the consequence.
Tool composition gaps. 17 documentation tools (get_*, search_*, list_*) and 20 live-control tools (td_*) are logically separate but lack integration points. E.g., no tool chains from search → build. Agents must manually compose across the gap.
Parameter naming ambiguity. Many tools accept 'family' (TOP, CHOP, SOP, etc.) but don't distinguish whether it's a filter, a constraint, or a default. Similarly, 'path' is used for both operator paths and file paths in different tools.
No pagination documented for list tools. list_operators, list_tutorials, list_python_classes accept 'limit' but don't return total_count, next_cursor, or has_more. Large result sets could exhaust context windows.