tdmcp

tdmcp

tdmcp is an open-source (MIT) Model Context Protocol server for TouchDesigner. You describe a visual in plain language and your AI assistant builds the real node network inside TouchDesigner, checks it for errors, and shows a preview — it ships an embedded operator knowledge base so the model uses real operators instead of guessing. TypeScript codebase, runs locally.

Category
Visit Server

README

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/

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

🇧🇷 Documentação em português: 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
  1. Your AI assistant — where you type what you want.
  2. 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.
  3. 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 by reading and following
https://raw.githubusercontent.com/Pantani/tdmcp/main/tdmcp-install-prompt.md
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 client

Turn 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://raw.githubusercontent.com/Pantani/tdmcp/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/info returns JSON), and restart your AI client after adding the server. Full troubleshooting.

What you can do

175 tools across three layers, plus library/packaging 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured