{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"npm_npm-touchdesigner-mcp-server","slug":"npm-touchdesigner-mcp-server","name":"touchdesigner-mcp-server","type":"mcp","url":"https://www.npmjs.com/package/touchdesigner-mcp-server","page_url":"https://unfragile.ai/npm-touchdesigner-mcp-server","categories":["mcp-servers"],"tags":["MCP Server","TouchDesigner"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"npm_npm-touchdesigner-mcp-server__cap_0","uri":"capability://tool.use.integration.touchdesigner.network.protocol.bridging.via.mcp","name":"touchdesigner network protocol bridging via mcp","description":"Implements the Model Context Protocol (MCP) as a server that translates MCP client requests into TouchDesigner network commands, enabling LLM agents and tools to communicate with TouchDesigner instances over the network. Uses MCP's standardized resource and tool schemas to expose TouchDesigner capabilities as callable functions, with request/response serialization handling the protocol translation layer between MCP clients and TouchDesigner's native network API.","intents":["Connect Claude or other LLM agents to a running TouchDesigner instance to automate parameter changes and scene manipulation","Enable AI-driven real-time control of TouchDesigner projects from external applications without writing custom network code","Expose TouchDesigner functionality as standardized MCP tools so any MCP-compatible client can interact with it"],"best_for":["Creative technologists building AI-augmented TouchDesigner workflows","Teams integrating TouchDesigner with LLM-based automation pipelines","Developers building MCP clients that need to control real-time graphics engines"],"limitations":["Requires TouchDesigner instance to be running and network-accessible; no built-in session management or reconnection logic","MCP protocol overhead adds latency for high-frequency parameter updates compared to direct TouchDesigner Python API calls","Limited to capabilities exposed by the MCP server implementation — not all TouchDesigner features may be wrapped"],"requires":["Node.js 16+ (for MCP server runtime)","TouchDesigner 2022.30000+ (or version supporting network protocol)","Network connectivity between MCP server and TouchDesigner instance","MCP-compatible client (Claude, custom agent, etc.)"],"input_types":["MCP tool call requests (JSON-RPC 2.0 format)","Parameter names and values (strings, numbers, booleans)","TouchDesigner network command syntax"],"output_types":["MCP tool response (JSON-RPC 2.0 result or error)","Parameter confirmation or state data from TouchDesigner","Structured JSON responses describing operation success/failure"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-touchdesigner-mcp-server__cap_1","uri":"capability://tool.use.integration.mcp.resource.discovery.and.schema.exposition","name":"mcp resource discovery and schema exposition","description":"Exposes TouchDesigner parameters, operators, and available commands as MCP resources with JSON schema definitions, allowing MCP clients to discover what can be controlled and what data types are expected. Implements MCP's resource listing and schema introspection endpoints so clients can query available operations before making calls, enabling intelligent prompt generation and parameter validation.","intents":["Discover what TouchDesigner parameters and commands are available without reading documentation","Validate parameter types and constraints before sending commands to avoid errors","Enable LLM agents to understand the TouchDesigner control surface and generate appropriate commands"],"best_for":["LLM agents that need to understand available operations dynamically","Developers building MCP clients who want introspection capabilities","Teams building AI-assisted TouchDesigner interfaces"],"limitations":["Schema discovery is static at server startup — dynamic parameter changes in TouchDesigner won't be reflected without server restart","No real-time schema updates if TouchDesigner project structure changes","Schema complexity may grow large for projects with many custom operators"],"requires":["MCP server running with schema definitions pre-configured","MCP client supporting resource listing (most modern MCP clients do)","TouchDesigner project with defined parameters/operators"],"input_types":["MCP resource list requests","MCP schema query requests"],"output_types":["JSON schema definitions for parameters and commands","Resource metadata (names, descriptions, types)","Structured capability descriptions"],"categories":["tool-use-integration","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-touchdesigner-mcp-server__cap_2","uri":"capability://tool.use.integration.parameter.read.write.with.type.coercion","name":"parameter read/write with type coercion","description":"Handles reading and writing TouchDesigner parameters through the network protocol with automatic type conversion between MCP's JSON types and TouchDesigner's native types (float, int, string, bool, vector). Implements validation logic to ensure values conform to parameter constraints (min/max ranges, enum values) before sending to TouchDesigner, with error handling for type mismatches and out-of-range values.","intents":["Set numeric parameters (opacity, rotation, position) from LLM-generated values with automatic type conversion","Read current parameter values from TouchDesigner to inform agent decision-making","Validate parameter changes before sending to prevent invalid state in TouchDesigner"],"best_for":["Agents controlling real-time visual parameters (colors, transforms, effects)","Workflows that need bidirectional parameter synchronization","Applications requiring type-safe parameter updates"],"limitations":["Type coercion may lose precision for float-to-int conversions without explicit rounding specification","No support for complex types (arrays, nested objects) — only scalar and vector types","Constraint validation is static; dynamic constraints defined in TouchDesigner code won't be enforced"],"requires":["Parameter names matching TouchDesigner's naming convention","Type information available in schema or parameter metadata","TouchDesigner network protocol support for parameter read/write"],"input_types":["Parameter name (string)","Parameter value (number, string, boolean, array for vectors)","Optional type hint (float, int, string, bool, vector)"],"output_types":["Confirmation of parameter change (boolean success flag)","Current parameter value (typed according to parameter type)","Error message if validation fails"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-touchdesigner-mcp-server__cap_3","uri":"capability://tool.use.integration.operator.execution.and.state.querying","name":"operator execution and state querying","description":"Enables calling TouchDesigner operators (CHOP, SOP, TOP, DAT) as MCP tools, with support for passing inputs and retrieving outputs. Implements operator invocation through TouchDesigner's network protocol, handling asynchronous execution and state polling to retrieve results. Supports querying operator state (enabled/disabled, current output values) to enable agents to understand the current scene state.","intents":["Trigger custom operators or built-in operators from LLM agents to perform computations or transformations","Query operator outputs to inform agent decision-making based on current scene state","Enable complex workflows that chain operator calls based on agent reasoning"],"best_for":["Workflows involving procedural generation or data transformation in TouchDesigner","Agents that need to query scene state before making decisions","Applications building complex automation chains"],"limitations":["Asynchronous execution adds latency — no guarantee of immediate results","State polling may miss rapid state changes if polling interval is too long","Complex operator graphs with many dependencies may timeout if execution takes too long","No built-in operator result caching — repeated queries re-execute operators"],"requires":["Operator path in TouchDesigner (e.g., 'op(\"geo1\")')","Network protocol support for operator execution","Operator must be network-accessible (not in protected/locked components)"],"input_types":["Operator path (string)","Input parameters (varies by operator type)","Execution timeout (optional, milliseconds)"],"output_types":["Operator output data (CHOP samples, SOP geometry, TOP image metadata, DAT text)","Execution status (success, timeout, error)","Operator state metadata (enabled, current values)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-touchdesigner-mcp-server__cap_4","uri":"capability://tool.use.integration.network.command.batching.and.transaction.support","name":"network command batching and transaction support","description":"Groups multiple parameter changes or operator calls into a single network transaction, reducing round-trip latency and ensuring atomic updates. Implements command buffering and batch sending through TouchDesigner's network protocol, with rollback support if any command in the batch fails. Enables agents to perform coordinated multi-step updates (e.g., change position, rotation, and scale simultaneously) with guaranteed consistency.","intents":["Perform coordinated multi-parameter updates atomically without intermediate states","Reduce network latency by batching related commands into single transactions","Ensure consistency when updating interdependent parameters"],"best_for":["High-frequency control scenarios where latency matters","Workflows requiring atomic updates to multiple parameters","Applications with unreliable network connections where batching improves reliability"],"limitations":["Batch size limits may apply depending on TouchDesigner network protocol implementation","Rollback support depends on TouchDesigner version and may not be available for all command types","Increased memory usage for buffering large batches","No partial success — entire batch fails if any command fails (all-or-nothing semantics)"],"requires":["TouchDesigner version supporting transaction/batch operations","Network protocol implementation with batch command support","Sufficient network bandwidth for batch transmission"],"input_types":["Array of commands (parameter writes, operator calls, etc.)","Optional transaction ID for tracking","Optional timeout for batch execution"],"output_types":["Batch execution status (success, partial failure, rollback)","Per-command results if partial success is supported","Transaction ID for auditing"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-touchdesigner-mcp-server__cap_5","uri":"capability://automation.workflow.error.handling.and.connection.resilience","name":"error handling and connection resilience","description":"Implements retry logic, connection pooling, and graceful degradation for network failures between MCP server and TouchDesigner. Detects connection loss, automatically attempts reconnection with exponential backoff, and queues commands during disconnection for replay when connection restores. Provides detailed error messages distinguishing between network errors, TouchDesigner errors, and validation errors to enable intelligent error recovery in agents.","intents":["Maintain agent control of TouchDesigner even during temporary network interruptions","Provide clear error feedback so agents can decide whether to retry, skip, or escalate","Ensure commands aren't lost during brief disconnections"],"best_for":["Production deployments where network reliability is uncertain","Long-running automation workflows that must survive transient failures","Agents that need to make intelligent retry decisions"],"limitations":["Command queue has finite size — very long disconnections may lose queued commands","Replay semantics may not be appropriate for all command types (e.g., time-sensitive animations)","Exponential backoff may delay reconnection for extended outages","No built-in persistence — queue is lost if MCP server crashes"],"requires":["Network connectivity to TouchDesigner (eventually)","TouchDesigner instance must be reachable for reconnection to succeed","Sufficient memory for command queue"],"input_types":["Network error events","Command execution failures","Connection state changes"],"output_types":["Structured error objects with error type, message, and retry recommendation","Connection state notifications","Queue status (pending commands, queue size)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-touchdesigner-mcp-server__cap_6","uri":"capability://automation.workflow.logging.and.execution.tracing.for.audit.trails","name":"logging and execution tracing for audit trails","description":"Records all MCP tool calls, parameter changes, and operator executions with timestamps and execution results, enabling audit trails and debugging. Implements structured logging with configurable verbosity levels and optional integration with external logging systems (e.g., JSON logging to files or services). Provides execution traces showing command sequence, timing, and results to help agents understand what happened and diagnose failures.","intents":["Create audit trails of all TouchDesigner changes for compliance or debugging","Debug agent behavior by reviewing what commands were sent and what results were received","Monitor MCP server health and performance through execution logs"],"best_for":["Production deployments requiring audit trails","Debugging complex agent workflows","Teams analyzing agent behavior and decision-making"],"limitations":["Logging adds overhead — verbose logging may impact performance","Log storage grows unbounded without rotation/cleanup policies","Sensitive data (parameter values) may be logged unless explicitly filtered","No built-in log analysis tools — requires external tools for querying"],"requires":["Disk space for log files (if file-based logging)","Logging configuration (verbosity level, output destination)","Optional external logging service credentials"],"input_types":["MCP tool calls","Execution results","Error events","Connection state changes"],"output_types":["Structured log entries (JSON or text format)","Execution traces with timing information","Summary statistics (commands executed, errors, latency)"],"categories":["automation-workflow","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":25,"verified":false,"data_access_risk":"high","permissions":["Node.js 16+ (for MCP server runtime)","TouchDesigner 2022.30000+ (or version supporting network protocol)","Network connectivity between MCP server and TouchDesigner instance","MCP-compatible client (Claude, custom agent, etc.)","MCP server running with schema definitions pre-configured","MCP client supporting resource listing (most modern MCP clients do)","TouchDesigner project with defined parameters/operators","Parameter names matching TouchDesigner's naming convention","Type information available in schema or parameter metadata","TouchDesigner network protocol support for parameter read/write"],"failure_modes":["Requires TouchDesigner instance to be running and network-accessible; no built-in session management or reconnection logic","MCP protocol overhead adds latency for high-frequency parameter updates compared to direct TouchDesigner Python API calls","Limited to capabilities exposed by the MCP server implementation — not all TouchDesigner features may be wrapped","Schema discovery is static at server startup — dynamic parameter changes in TouchDesigner won't be reflected without server restart","No real-time schema updates if TouchDesigner project structure changes","Schema complexity may grow large for projects with many custom operators","Type coercion may lose precision for float-to-int conversions without explicit rounding specification","No support for complex types (arrays, nested objects) — only scalar and vector types","Constraint validation is static; dynamic constraints defined in TouchDesigner code won't be enforced","Asynchronous execution adds latency — no guarantee of immediate results","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.24,"ecosystem":0.36,"match_graph":0.25,"freshness":0.52,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:24.483Z","last_scraped_at":"2026-04-22T08:09:30.369Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=npm-touchdesigner-mcp-server","compare_url":"https://unfragile.ai/compare?artifact=npm-touchdesigner-mcp-server"}},"signature":"ysF6y5XMTk8NZITtwFURJv1nqO2+qvmwvvBl19JhuHjLEXPtpRVkysYlWb266iXISAgkdlVMDKyiGg4hx5uzDQ==","signedAt":"2026-06-20T18:05:15.063Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/npm-touchdesigner-mcp-server","artifact":"https://unfragile.ai/npm-touchdesigner-mcp-server","verify":"https://unfragile.ai/api/v1/verify?slug=npm-touchdesigner-mcp-server","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}