bottobot/touchdesigner-mcp-server
If you are the rightful owner of touchdesigner-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
TouchDesigner MCP Server v2.0 is a comprehensive Model Context Protocol server designed to enhance TouchDesigner projects with AI-powered tools and automation.
td_create_project
Generate complete projects from prompts
td_open_project
Open existing projects
td_generate_from_prompt
Generate node networks
td_export_movie
Export high-quality movies
td_export_tox
Create reusable components
TouchDesigner MCP Server v2.0 šØāØ
The most comprehensive MCP (Model Context Protocol) server for TouchDesigner, featuring 65+ tools that enable AI-powered project generation, real-time control, and complete workflow automation. Create perfect TouchDesigner projects from natural language prompts!
š Features
šÆ Core Capabilities
- AI-Powered Project Generation: Create complete
.toe
files from natural language descriptions - Real-time Control: OSC, WebSocket, MIDI, DMX, and more
- Media Processing: Automatic optimization for all media types
- Performance Monitoring: Advanced profiling and optimization
- Template System: Professional templates for any use case
- Complete Hardware Integration: From Kinect to VR to lasers
š ļø 65+ Available Tools
š Project & File Management
td_create_project
- Generate complete projects from promptstd_open_project
- Open existing projectstd_generate_from_prompt
- Generate node networkstd_export_movie
- Export high-quality moviestd_export_tox
- Create reusable componentstd_capture_frame
- Capture still imagestd_export_point_cloud
- Export 3D datatd_manage_presets
- Save/load parameter presetstd_git_operation
- Version control integration
šØ Visual & Effects
td_create_shader
- Custom GLSL shaderstd_create_effect_chain
- Chain visual effectstd_create_visualizer
- Audio visualizerstd_create_text_effect
- Advanced text animationstd_create_time_effect
- Time-based effectstd_create_lut
- Color lookup tablestd_create_compute_shader
- GPU compute shaderstd_create_particle_system
- Advanced particle systemstd_create_mapping
- Projection/LED mapping
šµ Audio & Music
td_setup_osc
- OSC communicationtd_send_osc
- Send OSC messagestd_setup_midi
- MIDI input/outputtd_send_midi
- Send MIDI messagestd_setup_ableton_link
- Tempo synctd_create_audio_filter
- Audio processingtd_setup_audio_analysis
- Advanced analysistd_analyze_audio
- Extract audio features
š® Input Devices & Sensors
td_setup_kinect
- Kinect v1/v2/Azuretd_setup_leap_motion
- Hand trackingtd_setup_video_input
- Camera devicestd_setup_serial
- Arduino/microcontrollerstd_setup_oculus_hand_tracking
- VR hand trackingtd_setup_motion_capture
- Professional mocaptd_setup_haptic
- Haptic feedback
š Networking & Communication
td_websocket_command
- WebSocket controltd_setup_tcpip
- TCP/IP networkingtd_setup_ndi
- NDI video streamingtd_setup_spout
- GPU texture sharingtd_setup_webrtc
- WebRTC streamingtd_network_sync
- Multi-machine synctd_setup_render_network
- Distributed rendering
š” Lighting & Output
td_setup_dmx
- DMX lighting controltd_send_dmx
- Control DMX channelstd_setup_laser_control
- Laser projection
š 3D & Geometry
td_create_geometry
- 3D primitivestd_create_instancing
- Geometry instancingtd_setup_vr
- VR headset configuration
š Data & Visualization
td_create_data_visualization
- Data viz toolstd_manage_variables
- TouchDesigner variablestd_create_ml_pipeline
- Machine learning
š§ Development & Scripting
td_execute_python
- Run Python scriptstd_manage_scripts
- Script managementtd_create_custom_operator
- Custom operatorstd_manage_extensions
- Extension managementtd_debug_operator
- Performance debuggingtd_batch_process
- Batch operations
š¬ Media Processing
td_import_media
- Smart media importtd_optimize_media
- Media optimization
ā±ļø Timeline & Animation
td_animate_parameter
- Keyframe animationtd_manage_timeline
- Timeline control
š„ļø UI & Controls
td_create_ui
- Generate UI elementstd_create_component
- Custom componentstd_manage_palette
- Palette management
š Monitoring & Analysis
td_get_performance
- Performance metricstd_analyze_project
- Project analysis
š¦ Installation
- Clone the repository:
cd code_projects/touchdesigner-mcp-server
- Install dependencies:
npm install
- Build the project:
npm run build
- Configure environment variables:
Create a
.env
file:
TD_INSTALL_PATH=C:/Program Files/Derivative/TouchDesigner/bin
TD_OSC_PORT=7000
TD_WEBSOCKET_PORT=9980
TD_PROJECT_PATH=C:/Users/talla/Documents/touchdesigner-projects
TD_MEDIA_PATH=C:/Users/talla/Documents/touchdesigner-media
š§ MCP Configuration
The server is already configured in your .roo/mcp.json
. To activate it:
- Install dependencies and build (see above)
- Reload VS Code window (
Ctrl+Shift+P
ā "Developer: Reload Window") - The TouchDesigner tools will be available in Roo Cline!
š TouchDesigner WebSocket Setup
The MCP server communicates with TouchDesigner via WebSocket on port 9980. TouchDesigner doesn't provide a WebSocket server by default - you need to manually set it up:
Quick Setup Steps
- Open TouchDesigner
- Add a WebSocket DAT:
- Press
Tab
ā type "websocket" ā selectWebSocket DAT
- Press
- Configure as Server:
- Set
Network Type
toServer
- Set
Network Port
to9980
- Turn
Active
toOn
- Set
- Save your project - The WebSocket server is now ready!
Detailed WebSocket DAT Configuration
Parameter | Value | Description |
---|---|---|
Network Type | Server | Makes TD listen for connections |
Network Port | 9980 | Must match TD_WEBSOCKET_PORT in .env |
Active | On | Enables the WebSocket server |
Format | Text | For JSON message exchange |
Auto-reconnect | On | Handles connection drops |
Testing the Connection
Once configured, the MCP server will automatically connect and the error messages will stop. You'll see:
- "WebSocket connected successfully!" in the MCP server terminal
- Connection status in the WebSocket DAT info
Advanced Setup (Optional)
For production environments, you may want to:
- Add error handling with a
DAT Execute
connected to the WebSocket DAT - Parse incoming JSON messages with a
JSON DAT
- Route commands to different parts of your project
- Send status updates back to the MCP server š - Detailed guide with code examples, troubleshooting, and best practices
šØ Usage Examples
Create Complex Projects
"Create an audio-reactive particle system with warm colors that responds to bass frequencies, includes Kinect interaction, and outputs to both a projection mapping setup and NDI stream"
Professional VJ Setup
"Build a complete VJ performance system with 8 channels, MIDI control from Ableton, beat-synced effects, and Spout output to Resolume"
Interactive Installation
"Design an interactive art installation using Azure Kinect body tracking, real-time particle effects that follow visitors, generative soundscapes, and DMX-controlled lighting that responds to movement"
Data Visualization Dashboard
"Create a real-time data visualization dashboard that connects to a SQL database, displays live analytics with animated 3D charts, includes weather data integration, and exports reports as movies"
AI-Powered Generative Art
"Generate a machine learning-powered generative art system that analyzes incoming video, creates style transfer effects, and outputs to multiple 4K displays with frame synchronization"
šļø Architecture
Comprehensive Feature Coverage
- 65+ MCP Tools covering every aspect of TouchDesigner
- Natural Language Understanding for intuitive project creation
- Hardware Abstraction for seamless device integration
- Performance Optimization built into every operation
- Professional Workflow tools for production environments
Integration Capabilities
- OSC - Open Sound Control
- MIDI - Musical Instrument Digital Interface
- DMX - Digital Multiplex lighting
- NDI - Network Device Interface
- Spout/Syphon - GPU texture sharing
- WebSocket - Real-time bidirectional communication
- WebRTC - Video streaming
- TCP/IP - Network protocols
- Serial - Hardware communication
- Ableton Link - Tempo synchronization
Supported Hardware
- Sensors: Kinect v1/v2/Azure, Leap Motion, RealSense
- VR: Oculus, Vive, Index, Pico
- Motion Capture: OptiTrack, Vicon, Xsens
- Controllers: MIDI devices, OSC controllers, game controllers
- Lighting: DMX, ArtNet, sACN
- Lasers: EtherDream, Helios, LaserOS
- Microcontrollers: Arduino, ESP32, Raspberry Pi
š Advanced Capabilities
AI Integration
- Natural language to node network generation
- Intelligent parameter optimization
- Pattern recognition for common workflows
- Automatic performance optimization
Professional Features
- Multi-machine synchronization
- Distributed rendering
- Git integration
- Performance profiling
- Automated testing
- Documentation generation
Creative Tools
- GPU particle systems with physics
- Compute shader support
- Machine learning pipelines
- Projection mapping
- LED mapping
- Audio analysis and visualization
- Time-based effects
š”ļø Best Practices
- Start Simple: Use templates for common setups
- Optimize Early: Use performance monitoring tools
- Modular Design: Create reusable components
- Version Control: Use Git integration for projects
- Document: Generate documentation for complex setups
š¤ Contributing
This server represents the most comprehensive TouchDesigner automation toolkit available. Contributions welcome for:
- Additional hardware support
- New effect templates
- Performance optimizations
- Documentation improvements
š License
MIT License - See LICENSE file for details
š Acknowledgments
- TouchDesigner by Derivative
- MCP SDK by Anthropic
- Built with TypeScript and Node.js
Note: This server requires TouchDesigner to be installed on your system. It provides comprehensive automation and control but does not replace the TouchDesigner application itself.