touch-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@touch-mcpcreate a noise CHOP and connect it to a null CHOP"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
touch-mcp
High-performance MCP server for TouchDesigner — live control via WebSocket from any MCP-compatible AI (Claude, etc.)
Claude/LLM ←── stdio (MCP) ──→ touch-mcp ←── WebSocket ──→ TouchDesigner (.tox)Why touch-mcp
The most comprehensive MCP server for TouchDesigner available. Unlike simpler alternatives, touch-mcp offers:
Persistent WebSocket connection — every tool call is a lightweight message, not a full HTTP round-trip
37 tools covering nodes, parameters, connections, data access, scripting, timeline, rendering, layout, and more
Batching — bundle multiple operations into a single round-trip with
td_batch, critical for building complex networks fastAuto-reconnection — survives TD restarts and network hiccups
Auto-positioning — new nodes are placed intelligently in the network editor
Full Python access — execute arbitrary Python inside TD with
td_execute_script, with access to all operator types and globals
Related MCP server: td-mcp
Quick Start
1. Install touch-mcp
pip install touch-mcpOr from source:
git clone https://github.com/benoitliard/touch-mcp.git
cd touch-mcp
pip install -e ".[dev]"2. Install the TouchDesigner bridge component
Open TouchDesigner (2024+), then drag TouchMCPBridge.tox from the td/ folder into your project. The component starts a WebSocket server on port 9980 automatically.
For instructions on building the .tox from source, see td/BUILD_TOX.md.
3. Configure your MCP client
See the configuration sections below, then start a conversation — touch-mcp connects to TouchDesigner on first use.
Configuration
Claude Desktop
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"touchdesigner": {
"command": "touch-mcp",
"args": ["--td-port", "9980"]
}
}
}The config file is located at:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Claude Code
Create or edit .mcp.json in your project root:
{
"mcpServers": {
"touchdesigner": {
"command": "touch-mcp",
"args": ["--td-host", "localhost", "--td-port", "9980", "--timeout", "30"]
}
}
}Available Tools
37 tools organised by category.
Nodes
Tool | Description |
| Create a new operator node (auto-positioned in the network) |
| Delete a node and all its children |
| List child nodes under a path, optionally filtered by family |
| Get detailed metadata for a node (type, position, connections) |
| Copy a node with all its parameters to a new location |
| Rename a node without destroying it |
| Search for nodes by name, type, or family recursively |
| Get errors and warnings for a node (and optionally its children) |
| Set display, render, and/or bypass flags on a node |
Parameters
Tool | Description |
| Read current parameter values for a node |
| Set one or more parameter values on a node |
| Get parameter schema (style, range, menu options, defaults) |
| Set a parameter to expression mode with a Python expression |
| Pulse a parameter (trigger reload, reset, etc.) |
Connections
Tool | Description |
| Wire two nodes together by output and input index |
| Disconnect a node's input or output connector |
| List all wires entering and leaving a node |
Data
Tool | Description |
| Read channel sample data from a CHOP node |
| Read TOP metadata (resolution, aspect) |
| Read point and primitive geometry from a SOP node |
| Read text or table contents from a DAT node |
| Write text or append rows to a DAT node |
Scripts
Tool | Description |
| Execute arbitrary Python inside the live TouchDesigner instance |
| List all TD Python classes available in the environment |
| Inspect methods and properties of a TD Python class |
| Get |
Timeline
Tool | Description |
| Get the current timeline state (frame, fps, range, loop) |
| Set one or more timeline properties (frame, fps, range, loop) |
| Start timeline playback |
| Pause timeline playback |
Render
Tool | Description |
| Save a TOP's current frame as a PNG file on disk |
| Export a rendered TOP frame to a file on disk |
Project
Tool | Description |
| Get project metadata (name, path, fps, TD build/version) |
| Save the project in place or to a new path |
Layout
Tool | Description |
| Set network-editor x/y positions for one or more nodes |
| Evenly distribute nodes along a horizontal or vertical axis |
Batch
Tool | Description |
| Execute multiple operations in a single WebSocket round-trip |
CLI Options
touch-mcp [OPTIONS]
Options:
--td-host TEXT TouchDesigner WebSocket host (default: localhost)
--td-port INT TouchDesigner WebSocket port (default: 9980)
--timeout FLOAT Per-request timeout in seconds (default: 30.0)
--debug Enable debug loggingDevelopment
git clone https://github.com/benoitliard/touch-mcp.git
cd touch-mcp
pip install -e ".[dev]"
pytestStatic analysis:
ruff check src/License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for Producer/Riffusion AI music generation
Related MCP Servers
- AlicenseBqualityAmaintenanceA Model Context Protocol server that enables AI agents to control and operate TouchDesigner projects through creation, modification, and querying of nodes and project structures.14486521MIT
- AlicenseAqualityDmaintenanceMCP server for controlling TouchDesigner from AI coding agents like Claude Code and Codex CLI, enabling operator manipulation, parameter control, and screenshot capture.12MIT
- AlicenseBqualityBmaintenanceAn MCP server for TouchDesigner that lets AI agents inspect, build, wire, optimize, and stabilize live TD networks with 106 tools, plus a technique memory system for reusable patterns.10011MIT
- AlicenseAqualityBmaintenanceEnables LLMs to directly control, introspect, and build TouchDesigner networks in real-time through a Model Context Protocol server.25MIT