TouchDesigner MCP Server for Projects, Node, Parameter Control
Manage TouchDesigner projects, nodes, and parameters with an MCP server for real-time control and integration.
npx -y @8beeeaaat/touchdesigner-mcpOverview
This MCP (Model Context Protocol) server provides a network-accessible bridge between TouchDesigner projects and external applications. It exposes a protocol to query project structure, inspect and modify node parameters, and subscribe to runtime updates so you can control TouchDesigner in real time from web apps, DAWs, controllers, or other automation systems.
Designed for developers and integrators, the server is useful when you need deterministic, scriptable control over TouchDesigner instances—whether for live performance, automated rendering, remote dashboards, or multi-machine setups. It simplifies instrumenting TouchDesigner projects by exposing nodes and parameters in a structured API and offering client-friendly message formats for common operations.
Features
- Expose TouchDesigner projects, node trees, and parameter metadata over a network API
- Read and write parameter values on individual nodes programmatically
- Query node hierarchies and project state (open/closed projects)
- Subscribe to parameter and node updates for real-time feedback
- Support for authentication and basic configuration (host, port, token)
- Example client snippets and utilities to integrate from Python, JavaScript, or command-line tools
- Lightweight server suitable for embedding in TouchDesigner or running alongside it
Installation / Configuration
Prerequisites: Python 3.8+ (or the runtime documented in the repo), Git, virtualenv (recommended).
Clone and install:
# create and activate a virtualenv
# install dependencies
Basic configuration (example config.json):
Start the server (example CLI):
# default entrypoint (may vary; check repository README)
If the project supports running inside TouchDesigner as an extension or component, follow the repo examples to install the companion .tox or the extension script into your TouchDesigner project.
Authentication: The server supports token-based authentication (see config). All client requests should include the token using an Authorization header (Bearer token) or the transport’s recommended authentication mechanism.
Available Resources
- GitHub repository (source, examples, tests): https://github.com/8beeeaaat/touchdesigner-mcp
- Example clients: look in the /clients directory for Python/JS samples
- Example TouchDesigner components: /examples or /tox (if provided) to import directly
- API schema / message format: check /docs or /schema.json in the repo for concrete request/response definitions
- Issue tracker and discussions on the project GitHub for questions and bug reports
API Actions (Common)
The server provides a small set of high-level actions. Replace host, port, and token with your config.
Table: Common actions and payloads
| Action | Endpoint / Message | Description |
|---|---|---|
| listProjects | GET /api/projects | Return available/open projects |
| openProject | POST /api/projects/open | Open a project file |
| closeProject | POST /api/projects/close | Close a named project |
| getNode | GET /api/node?path=/project/geo1 | Retrieve node metadata |
| setParameter | POST /api/parameter/set | Set a parameter value |
| getParameter | GET /api/parameter?path=/…&name=tx | Read a parameter value |
| subscribe | WS subscribe /api/subscribe | Subscribe to updates for node/parameter |
Example set parameter (HTTP POST):
Example WebSocket subscribe (JSON message format):
Server will reply with events when the parameter changes:
Use Cases
- Live visual performance: Connect a web-based control panel or MIDI/OSC controller to adjust node parameters on-the-fly (colors, transforms, shader uniforms) without opening TouchDesigner UI.
- Remote dashboards: Build a remote monitoring UI that lists projects and node states, and allows operators to toggle or tune parameters during events.
- Automated testing and rendering: Drive parameter sweeps from scripts to render sequences for automated content generation or QA of TouchDesigner networks.
- DAW / show control integration: Synch parameter changes to musical events or lighting cues by hooking the DAW/control system to the MCP server.
- Collaborative setups: Multiple operators or services can read the scene structure and propose or apply changes programmatically while preventing conflicting edits using server-side locking or validation workflows.