tdmcp
Enables AI assistants to build and control TouchDesigner networks by describing visuals in natural language, with automatic node creation, verification, and preview.
README
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 |
|---|---|
| What is tdmcp? | Architecture |
| Install (no terminal) | Tools reference |
| Your first visual | Environment variables |
| Shader Park | CLI & local copilot |
| Prompt cookbook | Bridge & REST API |
| Recipe gallery | Roadmap |
| Troubleshooting | Deployment |
🇧🇷 Portuguese documentation: https://pantani.github.io/tdmcp/pt/
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 /project1
- 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:
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 do the TouchDesigner bridge step.
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 client
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. ✅
<details> <summary>Prefer a one-line Textport command?</summary>
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/v0.13.1/td/bootstrap.py").read().decode())
You should see [tdmcp] bridge running on port 9980 (/project1/tdmcp_bridge).
</details>
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
507 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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。