tdmcp
The tdmcp server is a Model Context Protocol (MCP) server for TouchDesigner that enables AI assistants to build, inspect, and control TouchDesigner node networks using plain language.
Node & Network Management
Create, delete, connect, disconnect, and arrange nodes; chain or batch operations in a single call
Duplicate nodes/COMPs, rebuild networks from JSON specs, and serialize for version control
Inspection & Debugging
Read parameters, inputs/outputs, cook errors, and warnings across individual nodes or entire sub-networks
Snapshot and diff networks to track changes; analyze projects for dead operators and broken dependencies
Get per-operator runtime telemetry (cook time, resolution, GPU memory)
Parameter & Python Control
Set parameter expressions, binds, constants, or animate via LFO
Execute arbitrary Python scripts inside TouchDesigner; call node methods directly
Scaffold Python extension classes with method stubs
High-Level Visual Builders
Feedback networks, generative art (noise, reaction-diffusion, attractors, fractals), audio-reactive visuals, particle systems, 3D scenes with GPU instancing, data visualizations, GLSL shaders, post-processing effects (bloom, glitch, CRT, VHS, etc.), and more — all from natural-language descriptions
Audio & Motion Reactivity
Extract audio features (level, bass, mid, treble), create envelope followers, beat-sync ramps/pulses
Webcam/video motion analysis; bind audio or motion channels to any parameter with scale, offset, and smoothing
Live Performance & Control
Control panels, macro knobs, preset management, cue systems with timed crossfades, beat-grid sequencers, clip launchers, autopilot (auto-VJ), A/B DJ mixer, panic/blackout buttons
Sync tempo to Ableton Link, MIDI clock, or manual tap
External I/O
OSC, MIDI (with auto-learn), DMX/Art-Net, NDI, Syphon/Spout, RTMP streaming, serial devices
Mobile web remote, stage dashboard cockpit, LED pixel mapping
Output & Rendering
Route to windows, NDI, Syphon/Spout, or recordings; multi-projector fan-out with edge blending; projection mapping (Corner Pin); render stills or record movies
Components & Reusability
Save/load .tox components, add custom parameter pages, create replicators, generate color palettes
Project Analysis & Documentation
Generate READMEs, Mermaid network flowcharts, annotation boxes, and agent guides (CLAUDE.md)
Identify unused nodes, broken file dependencies, and orphan COMPs
Knowledge Base & Packages
Search 629 TD operators and 68 Python classes with offline documentation
Search, install, and manage TouchDesigner community packages
Provides integration with Obsidian vaults, enabling AI assistants to read and write notes within an Obsidian vault.
MindDesigner (tdmcp) — TouchDesigner MCP server
tdmcp is a Model Context Protocol (MCP) server for TouchDesigner — build TouchDesigner from plain language. You describe a visual to an AI assistant (Claude, Claude Code, Cursor, Codex); the AI builds the actual network of nodes inside your project, checks it for errors, and shows you a preview.
"Create a feedback tunnel from noise with blur and displace, then add bloom and output it to a window."
…and the nodes appear, wired up, in your /project1.
It works because it pairs two things every other tool was missing:
Real knowledge — an embedded reference of 629 operators, 68 Python classes, workflow patterns, GLSL techniques and tutorials, so the AI uses real TouchDesigner operators instead of guessing.
Real execution — a small bridge running inside TouchDesigner that actually creates, connects, inspects and previews nodes — with a create → verify → preview loop so the AI can see and fix its own work. Every generated network is auto-arranged into a readable left→right layout.
📖 Documentation
Full guides and reference live on the docs site → https://pantani.github.io/tdmcp/
For artists / musicians | For developers |
🇧🇷 Portuguese documentation: https://pantani.github.io/tdmcp/pt/
Related MCP server: Embody
How it works
Three pieces talk to each other on your computer:
You + your AI tdmcp server TouchDesigner
(Claude / Cursor) ─▶ (a small program) ─▶ (the bridge inside TD)
"make a feedback builds real nodes
tunnel from noise" in /project1Your AI assistant — where you type what you want.
The tdmcp server — a small Node program that gives the AI a set of TouchDesigner "tools" and the operator knowledge base. You install it once.
The bridge — a tiny piece that runs inside TouchDesigner so the server can actually drive it. You switch it on once per machine.
What you'll need
TouchDesigner — the free non-commercial edition is fine.
An MCP-capable AI assistant: Claude Desktop (easiest), Claude Code, Codex, or Cursor.
Node.js is only needed for the build-from-source path (Node 20+).
The one-click Claude Desktop extension needs nothing extra — the server is bundled
inside the .mcpb (formerly .dxt; legacy .dxt files still install).
Get started
You set up two sides: your AI (so it gets the tdmcp tools) and TouchDesigner (so the AI can drive it).
🤖 Easiest — let your AI install it. Using Claude Code, Codex, or Cursor? Paste this one message in:
Install and connect tdmcp for me using the official install guide:
https://pantani.github.io/tdmcp/guide/install
Do every step yourself; only stop when you need me to paste one line into TouchDesigner.It clones, builds and wires everything up; the only manual step is pasting one line into TouchDesigner (Step 2 below).
🟢 Claude Desktop — one-click .mcpb (no terminal, no Node). Download
tdmcp.mcpb,
then in Claude Desktop open Settings → Extensions and install it (drag it in or
Install from file). Leave host/port at 127.0.0.1 / 9980. Full walkthrough:
the install guide.
🛠️ Claude Code / Codex / Cursor — build from source.
git clone https://github.com/Pantani/tdmcp.git
cd tdmcp
npm run setup # installs, builds, and prints the exact line to connect your clientTurn on the bridge inside TouchDesigner (everyone)
Open TouchDesigner, open the Textport (Dialogs → Textport and DATs), paste
this one line and press Enter:
import urllib.request; exec(urllib.request.urlopen("https://github.com/Pantani/tdmcp/raw/main/td/bootstrap.py").read().decode())You should see [tdmcp] bridge running on port 9980 (/project1/tdmcp_bridge). ✅
It's safe and reversible — it adds one tidy component; remove it later with
from mcp import install; install.uninstall(). Other install methods (module
path, terminal, reusable .tox) are in the
bridge docs.
Make something
With TouchDesigner open and your AI connected, ask in plain language:
"Create an audio-reactive particle galaxy and show me a preview."
The AI builds the network, checks it for errors, and returns a thumbnail. Iterate: "make it warmer," "add a feedback trail," "output it fullscreen." More ideas in the prompt cookbook.
Not connecting? The two most common fixes: make sure the bridge is on (
curl http://127.0.0.1:9980/api/inforeturns JSON), and restart your AI client after adding the server. Full troubleshooting.
What you can do
286 tools across three layers, plus library/packaging, AI session memory and
Obsidian vault integrations — from one-line artist generators
(create_feedback_network, create_audio_reactive, create_particle_system,
create_generative_art, …) to building blocks (create_control_panel,
animate_parameter, create_external_io for OSC/MIDI/DMX/NDI, …) down to
atomic node CRUD and inspection. Many systems arrive already playable, with
a control panel you can tweak, preset, or map to a controller. See the full,
always-current
tools reference and the
recipe gallery.
Security
The bridge runs arbitrary Python inside your TD process and listens on port
9980 on all interfaces — treat it like an open door to that machine. Run it only
on a trusted network, and for untrusted networks turn on bridge auth
(TDMCP_BRIDGE_TOKEN) and/or disable the exec endpoints
(TDMCP_BRIDGE_ALLOW_EXEC=0). Details:
Security.
Contributing & development
Build with npm install && npm run build; run npm test, npm run typecheck,
npm run lint. Work on the docs with npm run docs:dev (the
tools reference is generated by
scripts/gen-tool-docs.ts). See CONTRIBUTING.md,
CHANGELOG.md, and the roadmap.
License
MIT — see LICENSE.
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pantani/tdmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server