
tdmcp — TouchDesigner MCP server
io.github.PantaniPublished by GitHub account Pantaniv0.13.2Updated Oct 24, 2026
Build real visual systems in TouchDesigner from plain language with Claude, Cursor or Codex.
Overview
Local MCP server that lets an AI assistant build, wire, inspect and preview TouchDesigner node networks from plain-language prompts.
- What you can do
- Create and connect TouchDesigner nodes inside the open project, from one-line artist generators to atomic node CRUD
- Inspect networks, check them for errors, auto-arrange layouts and return preview thumbnails
- Build control panels, animate parameters and set up external I/O such as OSC, MIDI, DMX and NDI
- Look up an embedded reference of operators, Python classes, GLSL techniques and workflow patterns
- Optionally search a local creative RAG repertoire of artworks and techniques for inspiration
- When to use it
- Useful when you work in TouchDesigner and want an AI assistant to generate and iterate on visual networks, shaders and interactive installations directly in your project instead of only describing them.
- Requirements
- Runs as a local Node.js process (Node 20+ for the build-from-source path; the Claude Desktop extension bundles it). Needs TouchDesigner installed, with a bridge component enabled inside it listening on port 9980, and an MCP-capable client such as Claude Desktop, Claude Code, Codex or Cursor. Optional creative RAG needs a local Ollama install.
Installation
In SourceWeft
- Open tdmcp — TouchDesigner MCP server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
MindDesigner (tdmcp) — TouchDesigner MCP server
[CI] [Docs] [npm version] [Node.js] [MCP server] [License: MIT] [tdmcp 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/
🇧🇷 Portuguese documentation: https://pantani.github.io/tdmcp/pt/
How it works
Three pieces talk to each other on your computer:
- Your 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 extension file.
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:
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.
Turn on the bridge inside TouchDesigner (everyone)
Easiest — no Textport. Download
tdmcp_bridge_package.tox
from the latest release, drag it into your /project1 network, and click
Install on the component. The package self-bootstraps and starts the bridge on
port 9980. ✅
Prefer a one-line Textport command?
Open the Textport (Dialogs → Textport and DATs), paste this one line and
press Enter:
You should see [tdmcp] bridge running on port 9980 (/project1/tdmcp_bridge).
Either way 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, Palette package) 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
509 tools across three layers, plus foundation primitives, CLI automation,
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.
Optional: Creative RAG
A local, opt-in creative repertoire of open-licensed artworks/artists/techniques
the AI can search for inspiration. Off by default. Repertoire, not policy — no
bridge, DMX or Python exec. Enable with TDMCP_RAG_ENABLED=1 plus a local
Ollama install, then tdmcp creative-rag {sync|index|search}.
Full guide: docs/CREATIVE_RAG.md.
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.
Links & community
- Glama MCP directory — tdmcp's listing: https://glama.ai/mcp/servers/Pantani/tdmcp
- awesome-touchdesigner — the community-curated TouchDesigner list: https://github.com/monkeymonk/awesome-touchdesigner
- Docs site — https://pantani.github.io/tdmcp/ · Roadmap — docs/ROADMAP.md
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.
Source: README.md at commit ba09285
Tools
0Version history
1- v0.13.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts