touch-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for OpenAI API (chat completions, image generation, embeddings) via AceDataCloud
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
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.141,411 npm627MIT
- AlicenseAqualityDmaintenanceMCP server for controlling TouchDesigner from AI coding agents like Claude Code and Codex CLI, enabling operator manipulation, parameter control, and screenshot capture.1214 PyPIMIT
- AlicenseBqualityCmaintenanceAn 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.10016MIT
- AlicenseAqualityDmaintenanceEnables LLMs to directly control, introspect, and build TouchDesigner networks in real-time through a Model Context Protocol server.25MIT