Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Build real visual systems in TouchDesigner from plain language with Claude, Cursor or Codex.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
TDMCP_TOOL_PROFILE, TDMCP_RAW_PYTHONYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"tdmcp": {
"command": "npx",
"args": [
"-y",
"@dpantani/tdmcp"
],
"env": {
"TDMCP_TOOL_PROFILE": "your-value",
"TDMCP_RAW_PYTHON": "your-value"
}
}
}
}Run this in your terminal
claude mcp add tdmcp --env TDMCP_TOOL_PROFILE=your-value --env TDMCP_RAW_PYTHON=your-value -- npx -y @dpantani/tdmcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"tdmcp": {
"command": "npx",
"args": [
"-y",
"@dpantani/tdmcp"
],
"env": {
"TDMCP_TOOL_PROFILE": "your-value",
"TDMCP_RAW_PYTHON": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"tdmcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dpantani/tdmcp"
],
"env": {
"TDMCP_TOOL_PROFILE": "your-value",
"TDMCP_RAW_PYTHON": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
TDMCP_TOOL_PROFILE envTDMCP_RAW_PYTHON envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account Pantani, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.13.2) reached the registry 3 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, ProAgentStore
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
MCP-first control plane for ProAgentStore agents and private instances.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
tdmcp is a [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server for [TouchDesigner](https://derivative.ca) — 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:
Full guides and reference live on the docs site → [https://pantani.github.io/tdmcp/](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/
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
Node.js is only needed for the build-from-source path ([Node 20+](https://nodejs.org)). The one-click Claude Desktop extension needs nothing extra — the server is bundled inside the .mcpb extension file.
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](https://github.com/Pantani/tdmcp/releases/latest/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
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:
import urllib.request; exec(urllib.request.urlopen("https://github.com/Pantani/tdmcp/raw/v0.13.2/td/bootstrap.py").read().decode())
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.
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
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.
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.
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.
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.
MIT — see LICENSE.