XTNX

Td MCP — AI skill for Claude Code

AI community

Local MCP bridge between AI agents and TouchDesigner: build real networks, set parameters and expressions, validate, and get a real image preview back.

How to install Td MCP

This entry records only its repository, not the path inside it, so there is no exact command to give. Open XTNX/td-mcp and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Td MCP does

Local MCP bridge between AI agents and TouchDesigner: build real networks, set parameters and expressions, validate, and get a real image preview back. Works with Claude Code, Cursor, Antigravity, VS Code, Zed and other MCP hosts.

Alternatives in AI

  • Codex Skill — by klaudworks - Enables users to prompt codex from claude code 914 ★
  • OpenBridge — A free, safe and open agent for everything 430 ★
  • Openclaw MCP — 🦞 MCP server for OpenClaw - secure bridge between Claude.ai and your self-hosted OpenClaw assistant with OAut 185 ★

README

TouchDesigner ↔ MCP bridge

Local bridge that lets an AI agent read and build **real** TouchDesigner networks: create operators, wire them, set parameters and expressions, lay the network out, validate it, **look at the rendered result as an image**, and iterate on what it sees.

Works with any MCP-compatible host — Claude Code, Claude Desktop, Cursor, Antigravity, VS Code Copilot, Windsurf, Cline, Zed, Gemini CLI, Codex CLI. Nothing in the server is vendor-specific; it imports only `mcp` and `httpx`.

**→ [Connecting an AI agent](docs/agents.md)** — per-host setup, verified.

python docs/verify_stdio.py     # proves the server works with any MCP host

1. What this is

your AI agent
    │  MCP over stdio
    ▼
C:\td-claude-mcp\server.py            ← separate Python 3.11 venv
    │  HTTP POST http://127.0.0.1:9980/mcp
    ▼
TouchDesigner Web Server DAT  (mcp_webserver)
    │
    ▼
mcp_callbacks  (td_webserver_callback.py)
    │
    ▼
TouchDesigner Python API → your live project

Two hard rules the design keeps:

  • The MCP server never imports TouchDesigner. It only speaks HTTP.
  • The TouchDesigner side never needs a pip package. Standard library only.

Only TouchDesigner itself ever mutates the network, so nothing can get out of sync.

**No fake capabilities.** Every mutating tool re-reads the object from the live network after the change and returns what TouchDesigner actually holds — not what was requested. A reported success is a verified success.


2. Architecture

Piece File Runs in
MCP tool surface (32 tools) server.py venv Python 3.11
HTTP client td_bridge.py venv Python 3.11
Configuration config.py, config.json venv Python 3.11
HTTP API + TouchDesigner logic (35 actions) td_webserver_callback.py TouchDesigner
Pasteable Textport stub (4 statements) td_bootstrap.py TouchDesigner Textport
Bootstrap implementation it exec's `td_bootstra