/ Directorio / Playground / TouchDesigner MCP
● Comunidad 8beeeaaat 🔑 Requiere tu clave

TouchDesigner MCP

por 8beeeaaat · 8beeeaaat/touchdesigner-mcp

Control TouchDesigner nativo de IA: los agentes crean nodos, modifican parámetros, ejecutan Python y leen errores a través de un puente DAT de servidor web local.

touchdesigner-mcp permite a un agente operar un proyecto TouchDesigner en ejecución a través de MCP. 12 herramientas cubren lo esencial: listar/crear/eliminar nodos, establecer parámetros, ejecutar Python arbitrario en TouchDesigner e introspeccionar el entorno (catálogo de clases, errores de nodos, ayuda del módulo). Un DAT de servidor web dentro de TouchDesigner (de mcp_webserver_base.tox, API ≥1.3.0) escucha en el puerto 9981; el servidor MCP le habla a través de HTTP. Dirigido a diseñadores de movimiento, artistas visuales en vivo e ingenieros de instalación que desean un programador de pares de IA dentro de TouchDesigner.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

touchdesigner-mcp.replay ▶ listo
0/0

Instalar

Elige tu cliente

~/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"
      }
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.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 usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

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"
      }
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "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"
      }
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

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

Continue usa un array de objetos de servidor en lugar de un mapa.

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

Añádelo a context_servers. Zed recarga en caliente al guardar.

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

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: TouchDesigner MCP

Armar un parche inicial de TouchDesigner a partir de un resumen

👤 Diseñadores de movimiento e ingenieros visuales creando prototipos. ⏱ ~30 min intermediate

Cuándo usarlo: Estás comenzando un nuevo parche y quieres que el esqueleto esté en su lugar antes de realizar el ajuste manual.

Requisitos previos
  • TouchDesigner ejecutándose con mcp_webserver_base.tox cargado — Descargue el tox, ingrese a su proyecto, configure el puerto 9981
  • Versión API ≥ 1.3.0 — Verifique la versión de TouchDesigner
Flujo
  1. Describe el parche
    Armar un parche de imágenes generativas: partículas audiorreactivas (ruido → creación de instancias), floración de posprocesamiento, salida de 1080p.✓ Copiado
    → El agente crea un gráfico de nodos coherente con los operadores nombrados
  2. Corregir errores
    Informe errores de TD y corríjalos.✓ Copiado
    → Utiliza get_td_node_errors, corrige parámetros, itera

Resultado: Un parche inicial funcional que puedes modificar, en lugar de arrastrarlo desde cero.

Errores comunes
  • Agente inventa operadores que no existen — Haga que primero llame a get_td_classes y se ciña a los nombres de clases reales
Combinar con: filesystem

Barrer parámetros y comparar resultados visuales.

👤 Artistas afinando looks ⏱ ~20 min intermediate

Cuándo usarlo: Quiere explorar un rango de parámetros sin hacer clic en la interfaz de usuario de TD.

Flujo
  1. Describe el barrido
    En ruido1, período de barrido=0,2,0,5,1,0,2,0 y armónicos=1,2,4. Instantánea de cada uno a través de renderpick1.✓ Copiado
    → Utiliza update_td_node_parameters y ejecutar_python_script para guardar instantáneas
  2. Nombra al ganador
    Me gustó el período = 1,0 armónicos = 2. Aplicar y guardar el proyecto.✓ Copiado
    → Conjunto de parámetros, proyecto guardado a través de Python Exec

Resultado: Iteración más rápida; el aburrido trabajo combinatorio de clics se ha ido.

Errores comunes
  • Scripts largos de Python que bloquean el hilo principal de TD — Dividir en llamadas de ejecución corta o ejecutar dentro de un DAT de ejecución

Aprenda la API Python de TouchDesigner preguntándole al agente

👤 Diseñadores nuevos en Python de TouchDesigner ⏱ ~10 min beginner

Cuándo usarlo: Estás escribiendo un script CHOP/DAT y necesitas saber a qué método llamar.

Flujo
  1. pregunta por la clase
    ¿Qué métodos existen en la clase 'Op' para niños que caminan?✓ Copiado
    → El agente llama a get_td_class_details y devuelve métodos reales
  2. Ver un ejemplo ejecutable
    Muestre un breve fragmento de Python que registre la ruta de cada descendiente.✓ Copiado
    → El fragmento utiliza API real, no métodos inventados

Resultado: Ejemplos precisos de Python basados ​​en la instancia activa de TouchDesigner.

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

touchdesigner-mcp + filesystem

Guarde instantáneas/renderizados en el disco y haga referencia a ellos en el próximo turno.

Después de cada conjunto de parámetros, guarde un PNG mediante renderpick1 en ~/td-snapshots/ y vuelva a leer el manifiesto.✓ Copiado
touchdesigner-mcp + xcodebuild

Renderizado y empaquetado para quiosco macOS

Procese una salida y un paquete como un paquete de aplicación macOS a través de xcodebuild.✓ Copiado
touchdesigner-mcp + filesystem

Archivar estados del proyecto como exportaciones .toe rastreables por git

Exporte el proyecto actual como .toe y confírmelo.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
create_td_node parent_path, type, name? Agregar un nuevo operador 0
delete_td_node path Eliminar una operadora 0
update_td_node_parameters path, params map Establecer uno o varios parámetros en un nodo 0
get_td_nodes filter? Enumerar nodos que coincidan con un filtro 0
get_td_node_parameters path Leer los valores de los parámetros actuales 0
get_td_node_errors (none) Buscar y solucionar problemas en el proyecto actual. 0
execute_python_script script: str Trampilla de escape para cualquier cosa que las otras herramientas no cubran 0
exec_node_method path, method, args Llame a un método específico en un nodo (por ejemplo, .cook()) 0
get_td_classes (none) Lista de clases disponibles para elegir 0
get_td_class_details class_name Sugerencias terrestres de Python en una superficie API real 0
get_module_help module_name Recuperar cadenas de documentación del módulo 0
get_td_info (none) Verifique la versión de TD y el estado del servidor 0

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
Ninguna
Tokens por llamada
Pequeño: rutas de nodos + mapas de parámetros pequeños
Monetario
Gratis; Se aplica la licencia TouchDesigner
Consejo
Prefiere update_td_node_parameters con un mapa en lugar de muchas llamadas de un solo parámetro.

Seguridad

Permisos, secretos, alcance

Almacenamiento de credenciales: Sin credenciales
Salida de datos: HTTP a 127.0.0.1:<puerto>. No exponga el DAT del servidor web a la red pública.

Resolución de problemas

Errores comunes y soluciones

ECONNREGUSADO 127.0.0.1:9981

TouchDesigner no se está ejecutando o WebServer DAT no está activo. Abra el tox y confirme que esté activo.

Verificar: In TD console: op('mcpwebserver').par.active.eval()
Versión de API demasiado baja

Actualice TouchDesigner a una compilación donde la API sea ≥ 1.3.0.

Verificar: Help → About TouchDesigner
La ejecución de Python falla silenciosamente

Verifique el puerto de texto TD para ver el rastreo; Algunas operaciones solo se cocinan cuando están conectadas a un espectador.

Verificar: Alt-T opens the textport

Alternativas

TouchDesigner MCP vs otros

AlternativaCuándo usarlaContrapartida
unrealEstás manejando escenas de Unreal Engine, no parches de TouchDesignerTiempo de ejecución diferente; DCC diferente
unityUnity es tu motor objetivoDCC completamente diferente
godot-mcp-pro-2Godot es tu motorDCC diferente

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills