/ 目錄 / 演練場 / TouchDesigner MCP
● 社群 8beeeaaat 🔑 需要你的金鑰

TouchDesigner MCP

作者 8beeeaaat · 8beeeaaat/touchdesigner-mcp

AI 原生 TouchDesigner 控制項 — 代理程式建立節點、調整參數、執行 Python 並透過本機 WebServer DAT 橋接器讀取錯誤。

touchdesigner-mcp 允許代理程式透過 MCP 操作正在執行的 TouchDesigner 專案。 12 個工具涵蓋了基本功能:列出/建立/刪除節點、設定參數、在 TouchDesigner 中執行任意 Python 以及內省環境(類別目錄、節點錯誤、模組幫助)。 TouchDesigner 內的 WebServer DAT(來自“mcp_webserver_base.tox”,API ≥1.3.0)偵聽連接埠 9981;MCP 伺服器透過 HTTP 與其對話。 針對希望在 TouchDesigner 中進行 AI 配對程式設計的動作設計師、現場視覺藝術家和安裝工程師。

為什麼要用

核心特性

即時演示

實際使用效果

touchdesigner-mcp.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "touchdesigner-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "touchdesigner-mcp-server"
      ],
      "env": {
        "TD_WEBSERVER_HOST": "127.0.0.1",
        "TD_WEBSERVER_PORT": "9981"
      }
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "touchdesigner-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "touchdesigner-mcp-server"
      ],
      "env": {
        "TD_WEBSERVER_HOST": "127.0.0.1",
        "TD_WEBSERVER_PORT": "9981"
      }
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "touchdesigner-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "touchdesigner-mcp-server"
      ],
      "env": {
        "TD_WEBSERVER_HOST": "127.0.0.1",
        "TD_WEBSERVER_PORT": "9981"
      }
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "touchdesigner-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "touchdesigner-mcp-server"
      ],
      "env": {
        "TD_WEBSERVER_HOST": "127.0.0.1",
        "TD_WEBSERVER_PORT": "9981"
      }
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "touchdesigner-mcp",
      "command": "npx",
      "args": [
        "-y",
        "touchdesigner-mcp-server"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "touchdesigner-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "touchdesigner-mcp-server"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add touchdesigner-mcp -- npx -y touchdesigner-mcp-server

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: TouchDesigner MCP

從簡報中建立一個 TouchDesigner 入門補丁

👤 運動設計師和視覺工程師原型製作 ⏱ ~30 min intermediate

何時使用: 您正在開始一個新的補丁,並希望在手動調整之前將骨架固定到位。

前置條件
  • TouchDesigner 執行時期載入了 mcp_webserver_base.tox — 下載tox,放入你的專案中,設定連接埠9981
  • API版本≥1.3.0 — 檢查 TouchDesigner 版本
步驟
  1. 描述一下補丁
    建立一個生成視覺補丁:音頻反應粒子(噪音 → 實例化)、後製綻放、1080p 輸出。✓ 已複製
    → 代理程式使用命名運算子創建連貫的節點圖
  2. 修復錯誤
    報告 TD 錯誤並修復它們。✓ 已複製
    → 使用 get_td_node_errors,修正參數,迭代

結果: 您可以調整一個有效的啟動補丁,而不是從頭開始拖曳。

注意事項
  • 代理發明了不存在的操作員 — 讓它先呼叫 get_td_classes 並堅持使用真實的類別名
搭配使用: filesystem

掃描參數並比較視覺輸出

👤 藝術家調整外觀 ⏱ ~20 min intermediate

何時使用: 您希望在不單擊 TD UI 的情況下探索參數範圍。

步驟
  1. 描述掃蕩
    對於雜訊 1,掃描週期=0.2,0.5,1.0,2.0,諧波=1,2,4。 透過 renderpick1 拍攝每個快照。✓ 已複製
    → 使用update_td_node_parameters和execute_python_script進行快照儲存
  2. 命名獲勝者
    我喜歡週期=1.0 諧波=2。 應用並保存項目。✓ 已複製
    → 參數設置,透過 python exec 儲存項目

結果: 更快的迭代;無聊的組合點擊工作已經消失了。

注意事項
  • 長 Python 腳本阻塞 TD 的主線程 — 分成短期運行調用,或在執行 DAT 內運行

透過詢問代理來學習 TouchDesigner 的 Python API

👤 剛接觸 TouchDesigner Python 的設計師 ⏱ ~10 min beginner

何時使用: 您正在編寫腳本 CHOP/DAT 並且需要知道要呼叫哪個方法。

步驟
  1. 詢問班級
    「Op」類中有哪些針對步行兒童的方法?✓ 已複製
    → 代理呼叫 get_td_class_details 並傳回真實方法
  2. 查看可運行的範例
    顯示一個簡短的 Python 片段,記錄每個後代的路徑。✓ 已複製
    → 程式碼片段使用真實的 API,而不是虛構的方法

結果: 基於即時 TouchDesigner 實例的準確 Python 範例。

組合

與其他 MCP 搭配,撬動十倍槓桿

touchdesigner-mcp + filesystem

將快照/渲染保存到磁碟並在下一輪引用它們

設定每個參數後,透過 renderpick1 將 PNG 儲存到 ~/td-snapshots/ 並讀回清單。✓ 已複製
touchdesigner-mcp + xcodebuild

適用於 macOS kiosk 的渲染和打包

透過 xcodebuild 渲染輸出並打包為 macOS 應用程式套件。✓ 已複製
touchdesigner-mcp + filesystem

存檔專案狀態為 git-trackable .toe 匯出

將當前項目匯出為 .toe 並提交。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
create_td_node parent_path, type, name? 新增操作員 0
delete_td_node path 刪除操作員 0
update_td_node_parameters path, params map 在節點上設定一個或多個參數 0
get_td_nodes filter? 枚舉與過濾器匹配的節點 0
get_td_node_parameters path 讀取目前參數值 0
get_td_node_errors (none) 尋找並修復當前專案中的問題 0
execute_python_script script: str 其他工具無法覆蓋的任何物品的逃生艙口 0
exec_node_method path, method, args 呼叫節點上的特定方法(例如 .cook()) 0
get_td_classes (none) 列出可供選擇的課程 0
get_td_class_details class_name 真實 API 表面中的 Python 建議 0
get_module_help module_name 檢索模組文件字串 0
get_td_info (none) 檢查TD版本和伺服器狀態 0

成本與限制

運行它的成本

API 配額
沒有任何
每次呼叫 Token 數
小:節點路徑+小參數映射
費用
自由的; TouchDesigner 授權適用
提示
偏好使用映射的 update_td_node_parameters 而不是許多單參數呼叫。

安全

權限、密鑰、影響範圍

憑證儲存: 沒有憑證
資料出站: HTTP 至 127.0.0.1:<連接埠>。 不要將 WebServer DAT 暴露到公共網路。

故障排查

常見錯誤與修復

經濟拒絕 127.0.0.1:9981

TouchDesigner 未運作或 WebServer DAT 未啟動。 打開毒物並確認其處於活動狀態。

驗證: In TD console: op('mcpwebserver').par.active.eval()
API版本太低

將 TouchDesigner 升級到 API ≥ 1.3.0 的版本。

驗證: Help → About TouchDesigner
Python 執行無提示地失敗

檢查 TD 文字連接埠的回溯;有些操作僅在連接到檢視器時才進行烹調。

驗證: Alt-T opens the textport

替代方案

TouchDesigner MCP 對比其他方案

替代方案何時用它替代權衡
unreal您正在驅動虛幻引擎場景,而不是 TouchDesigner 補丁不同的運行時間;不同的DCC
unityUnity 是您的目標引擎完全不同的DCC
godot-mcp-pro-2戈多是你的引擎不同的DCC

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills