{
  "markdown": "# MindDesigner (tdmcp) — TouchDesigner MCP server\n\n[![CI](https://github.com/Pantani/tdmcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Pantani/tdmcp/actions/workflows/ci.yml)\n[![Docs](https://github.com/Pantani/tdmcp/actions/workflows/docs.yml/badge.svg)](https://pantani.github.io/tdmcp/)\n[![npm version](https://img.shields.io/npm/v/@dpantani/tdmcp?logo=npm&color=cb3837)](https://www.npmjs.com/package/@dpantani/tdmcp)\n[![Node.js](https://img.shields.io/node/v/@dpantani/tdmcp?logo=nodedotjs&color=339933)](https://nodejs.org)\n[![MCP server](https://img.shields.io/badge/MCP-server-000?logo=modelcontextprotocol&logoColor=white)](https://modelcontextprotocol.io)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![tdmcp MCP server](https://glama.ai/mcp/servers/Pantani/tdmcp/badges/score.svg)](https://glama.ai/mcp/servers/Pantani/tdmcp)\n\n**tdmcp is a [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server\nfor [TouchDesigner](https://derivative.ca)** — build TouchDesigner from plain\nlanguage. You describe a visual to an AI assistant (Claude, Claude Code, Cursor,\nCodex); the AI builds the actual network of nodes inside your project, checks it\nfor errors, and shows you a preview.\n\n> *\"Create a feedback tunnel from noise with blur and displace, then add bloom and\n> output it to a window.\"*\n\n…and the nodes appear, wired up, in your `/project1`.\n\nIt works because it pairs two things every other tool was missing:\n\n- **Real knowledge** — an embedded reference of 629 operators, 68 Python classes,\n  workflow patterns, GLSL techniques and tutorials, so the AI uses real\n  TouchDesigner operators instead of guessing.\n- **Real execution** — a small **bridge** running inside TouchDesigner that\n  actually creates, connects, inspects and previews nodes — with a\n  create → verify → preview loop so the AI can see and fix its own work. Every\n  generated network is auto-arranged into a readable left→right layout.\n\n## 📖 Documentation\n\nFull guides and reference live on the **docs site → <https://pantani.github.io/tdmcp/>**\n\n| For artists / musicians | For developers |\n| --- | --- |\n| [What is tdmcp?](https://pantani.github.io/tdmcp/guide/what-is-tdmcp) | [Architecture](https://pantani.github.io/tdmcp/reference/architecture) |\n| [Install (no terminal)](https://pantani.github.io/tdmcp/guide/install) | [Tools reference](https://pantani.github.io/tdmcp/reference/tools) |\n| [Your first visual](https://pantani.github.io/tdmcp/guide/first-visual) | [Environment variables](https://pantani.github.io/tdmcp/reference/environment) |\n| [Shader Park](https://pantani.github.io/tdmcp/guide/shader-park) | [CLI & local copilot](https://pantani.github.io/tdmcp/reference/cli) |\n| [Prompt cookbook](https://pantani.github.io/tdmcp/guide/prompt-cookbook) | [Bridge & REST API](https://pantani.github.io/tdmcp/reference/bridge-api) |\n| [Recipe gallery](https://pantani.github.io/tdmcp/guide/recipes) | [Roadmap](docs/ROADMAP.md) |\n| [Troubleshooting](https://pantani.github.io/tdmcp/guide/troubleshooting) | [Deployment](docs/DEPLOYMENT.md) |\n\n🇧🇷 **Portuguese documentation:** <https://pantani.github.io/tdmcp/pt/>\n\n## How it works\n\nThree pieces talk to each other on your computer:\n\n```\n   You + your AI            tdmcp server               TouchDesigner\n  (Claude / Cursor)   ─▶   (a small program)    ─▶   (the bridge inside TD)\n   \"make a feedback                                      builds real nodes\n    tunnel from noise\"                                   in /project1\n```\n\n1. **Your AI assistant** — where you type what you want.\n2. **The tdmcp server** — a small Node program that gives the AI a set of\n   TouchDesigner \"tools\" and the operator knowledge base. You install it once.\n3. **The bridge** — a tiny piece that runs *inside* TouchDesigner so the server\n   can actually drive it. You switch it on once per machine.\n\n## What you'll need\n\n- **[TouchDesigner](https://derivative.ca/download)** — the free non-commercial\n  edition is fine.\n- An MCP-capable AI assistant: **Claude Desktop** (easiest), **Claude Code**,\n  **Codex**, or **Cursor**.\n\nNode.js is only needed for the build-from-source path (**[Node 20+](https://nodejs.org)**).\nThe one-click Claude Desktop extension needs nothing extra — the server is bundled\ninside the `.mcpb` extension file.\n\n## Get started\n\nYou set up **two sides**: your **AI** (so it gets the tdmcp tools) and\n**TouchDesigner** (so the AI can drive it).\n\n**🤖 Easiest — let your AI install it.** Using **Claude Code**, **Codex**, or\n**Cursor**? Paste this one message in:\n\n```text\nInstall and connect tdmcp for me using the official install guide:\nhttps://pantani.github.io/tdmcp/guide/install\nDo every step yourself; only stop when you need me to do the TouchDesigner bridge step.\n```\n\nIt clones, builds and wires everything up; the only manual step is pasting one\nline into TouchDesigner (Step 2 below).\n\n**🟢 Claude Desktop — one-click `.mcpb` (no terminal, no Node).** Download\n**[tdmcp.mcpb](https://github.com/Pantani/tdmcp/releases/latest/download/tdmcp.mcpb)**,\nthen in Claude Desktop open **Settings → Extensions** and install it (drag it in or\n**Install from file**). Leave host/port at `127.0.0.1` / `9980`. Full walkthrough:\n[the install guide](https://pantani.github.io/tdmcp/guide/install).\n\n**🛠️ Claude Code / Codex / Cursor — build from source.**\n\n```bash\ngit clone https://github.com/Pantani/tdmcp.git\ncd tdmcp\nnpm run setup   # installs, builds, and prints the exact line to connect your client\n```\n\n### Turn on the bridge inside TouchDesigner (everyone)\n\n**Easiest — no Textport.** Download\n[**tdmcp_bridge_package.tox**](https://github.com/Pantani/tdmcp/releases/latest/download/tdmcp_bridge_package.tox)\nfrom the latest release, drag it into your `/project1` network, and click\n**Install** on the component. The package self-bootstraps and starts the bridge on\nport 9980. ✅\n\n<details>\n<summary>Prefer a one-line Textport command?</summary>\n\nOpen the **Textport** (`Dialogs → Textport and DATs`), paste this **one line** and\npress Enter:\n\n```python\nimport urllib.request; exec(urllib.request.urlopen(\"https://github.com/Pantani/tdmcp/raw/v0.13.2/td/bootstrap.py\").read().decode())\n```\n\nYou should see `[tdmcp] bridge running on port 9980 (/project1/tdmcp_bridge)`.\n\n</details>\n\nEither way it's safe and reversible — it adds one tidy component; remove it later\nwith `from mcp import install; install.uninstall()`. Other install methods (module\npath, terminal, Palette package) are in the\n[bridge docs](https://pantani.github.io/tdmcp/reference/bridge-api).\n\n### Make something\n\nWith TouchDesigner open and your AI connected, ask in plain language:\n\n> *\"Create an audio-reactive particle galaxy and show me a preview.\"*\n\nThe AI builds the network, checks it for errors, and returns a thumbnail. Iterate:\n*\"make it warmer,\" \"add a feedback trail,\" \"output it fullscreen.\"* More ideas in\nthe [prompt cookbook](https://pantani.github.io/tdmcp/guide/prompt-cookbook).\n\n> **Not connecting?** The two most common fixes: make sure the bridge is on\n> (`curl http://127.0.0.1:9980/api/info` returns JSON), and **restart your AI\n> client** after adding the server. Full\n> [troubleshooting](https://pantani.github.io/tdmcp/guide/troubleshooting).\n\n## What you can do\n\n**508 tools** across three layers, plus foundation primitives, CLI automation,\nlibrary/packaging, AI session memory and\nObsidian vault integrations — from one-line artist generators\n(`create_feedback_network`, `create_audio_reactive`, `create_particle_system`,\n`create_generative_art`, …) to building blocks (`create_control_panel`,\n`animate_parameter`, `create_external_io` for OSC/MIDI/DMX/NDI, …) down to\natomic node CRUD and inspection. Many systems arrive **already playable**, with\na control panel you can tweak, preset, or map to a controller. See the full,\nalways-current\n[tools reference](https://pantani.github.io/tdmcp/reference/tools) and the\n[recipe gallery](https://pantani.github.io/tdmcp/guide/recipes).\n\n## Optional: Creative RAG\n\nA local, opt-in creative repertoire of open-licensed artworks/artists/techniques\nthe AI can search for inspiration. Off by default. Repertoire, not policy — no\nbridge, DMX or Python exec. Enable with `TDMCP_RAG_ENABLED=1` plus a local\n[Ollama](https://ollama.com) install, then `tdmcp creative-rag {sync|index|search}`.\nFull guide: [docs/CREATIVE_RAG.md](docs/CREATIVE_RAG.md).\n\n## Security\n\nThe bridge runs **arbitrary Python inside your TD process** and listens on port\n`9980` on all interfaces — treat it like an open door to that machine. Run it only\non a trusted network, and for untrusted networks turn on bridge auth\n(`TDMCP_BRIDGE_TOKEN`) and/or disable the exec endpoints\n(`TDMCP_BRIDGE_ALLOW_EXEC=0`). Details:\n[Security](https://pantani.github.io/tdmcp/reference/architecture#security).\n\n## Links & community\n\n- **Glama MCP directory** — tdmcp's listing: <https://glama.ai/mcp/servers/Pantani/tdmcp>\n- **awesome-touchdesigner** — the community-curated TouchDesigner list: <https://github.com/monkeymonk/awesome-touchdesigner>\n- **Docs site** — <https://pantani.github.io/tdmcp/> · **Roadmap** — [docs/ROADMAP.md](docs/ROADMAP.md)\n\n## Contributing & development\n\nBuild with `npm install && npm run build`; run `npm test`, `npm run typecheck`,\n`npm run lint`. Work on the docs with `npm run docs:dev` (the\n[tools reference](https://pantani.github.io/tdmcp/reference/tools) is generated by\n`scripts/gen-tool-docs.ts`). See [CONTRIBUTING.md](CONTRIBUTING.md),\n[CHANGELOG.md](CHANGELOG.md), and the [roadmap](docs/ROADMAP.md).\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n",
  "bytes": 9605,
  "sha": "5d763627b1faca58bd3900050e0a64d8734b88aa34f03e88fb72b650b8ccac2a",
  "repo_slug": "pantani/tdmcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_pantani_tdmcp_ea54f890/readme"
}