/ Annuaire / Playground / TouchDesigner MCP
● Communauté 8beeeaaat 🔑 Nécessite votre clé

TouchDesigner MCP

par 8beeeaaat · 8beeeaaat/touchdesigner-mcp

Contrôle TouchDesigner natif IA : les agents créent des nœuds, modifient les paramètres, exécutent Python et lisent les erreurs via un pont DAT de serveur Web local.

touchdesigner-mcp permet à un agent d'exploiter un projet TouchDesigner en cours d'exécution sur MCP. 12 outils couvrent l'essentiel : lister/créer/supprimer des nœuds, définir des paramètres, exécuter du Python arbitraire dans TouchDesigner et introspecter l'environnement (catalogue de classes, erreurs de nœuds, aide du module). Un DAT de serveur Web dans TouchDesigner (à partir de mcp_webserver_base.tox, API ≥1.3.0) écoute sur le port 9981 ; le serveur MCP lui parle via HTTP. Destiné aux motion designers, aux artistes visuels en direct et aux ingénieurs d'installation qui souhaitent un programmeur IA dans TouchDesigner.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

touchdesigner-mcp.replay ▶ prêt
0/0

Installer

Choisissez votre client

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

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

~/.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 utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

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

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "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"
      }
    }
  }
}

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

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

Continue utilise un tableau d'objets serveur plutôt qu'une map.

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

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

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

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : TouchDesigner MCP

Élaborer un patch TouchDesigner de démarrage à partir d'un brief

👤 Prototypage de motion designers et ingénieurs visuels ⏱ ~30 min intermediate

Quand l'utiliser : Vous démarrez un nouveau patch et souhaitez que le squelette soit en place avant le réglage manuel.

Prérequis
  • TouchDesigner exécuté avec mcp_webserver_base.tox chargé — Téléchargez le tox, accédez à votre projet, définissez le port 9981
  • Version API ≥ 1.3.0 — Vérifier la version de TouchDesigner
Déroulement
  1. Décrire le patch
    Échafaudez un patch visuel génératif : particules audio-réactives (bruit → instanciation), floraison de post-traitement, sortie 1080p.✓ Copié
    → L'agent crée un graphe de nœuds cohérent avec les opérateurs nommés
  2. Corriger les erreurs
    Signalez les erreurs TD et corrigez-les.✓ Copié
    → Utilise get_td_node_errors, corrige les paramètres, itère

Résultat : Un patch de démarrage fonctionnel que vous modifiez, au lieu de le faire glisser à partir de zéro.

Pièges
  • L'agent invente des opérateurs qui n'existent pas — Faites-le appeler get_td_classes en premier et tenez-vous-en aux vrais noms de classe
Combiner avec : filesystem

Balayez les paramètres et comparez les résultats visuels

👤 Les artistes peaufinent leurs looks ⏱ ~20 min intermediate

Quand l'utiliser : Vous souhaitez explorer une plage de paramètres sans cliquer dans l'interface utilisateur TD.

Déroulement
  1. Décrire le balayage
    Sur bruit1, période de balayage=0,2,0,5,1,0,2,0 et harmoniques=1,2,4. Instantané chacun via renderpick1.✓ Copié
    → Utilise update_td_node_parameters et execute_python_script pour les sauvegardes d'instantanés
  2. Nommez le gagnant
    J'ai aimé période = 1,0 harmoniques = 2. Postulez et enregistrez le projet.✓ Copié
    → Paramètres définis, projet enregistré via python exec

Résultat : Itération plus rapide ; le travail de clic combinatoire ennuyeux a disparu.

Pièges
  • Longs scripts Python bloquant le thread principal de TD — Divisé en appels à court terme ou exécuté dans un DAT d'exécution

Apprenez l'API Python de TouchDesigner en demandant à l'agent

👤 Concepteurs novices avec Python de TouchDesigner ⏱ ~10 min beginner

Quand l'utiliser : Vous écrivez un script CHOP/DAT et devez savoir quelle méthode appeler.

Déroulement
  1. Demandez le cours
    Quelles méthodes existent dans la classe 'Op' pour promener les enfants ?✓ Copié
    → L'agent appelle get_td_class_details et renvoie de vraies méthodes
  2. Voir un exemple exécutable
    Afficher un court extrait Python qui enregistre le chemin de chaque descendant.✓ Copié
    → Snippet utilise une véritable API, pas des méthodes inventées

Résultat : Exemples Python précis basés sur l'instance TouchDesigner en direct.

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

touchdesigner-mcp + filesystem

Enregistrez les instantanés/rendus sur le disque et référencez-les au prochain tour

Après chaque jeu de paramètres, enregistrez un PNG via renderpick1 dans ~/td-snapshots/ et relisez le manifeste.✓ Copié
touchdesigner-mcp + xcodebuild

Rendu et package pour le kiosque macOS

Affichez une sortie et un package sous forme d'application macOS via xcodebuild.✓ Copié
touchdesigner-mcp + filesystem

Archiver les états du projet sous forme d'exportations .toe traçables par git

Exportez le projet actuel au format .toe et validez-le.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
create_td_node parent_path, type, name? Ajouter un nouvel opérateur 0
delete_td_node path Supprimer un opérateur 0
update_td_node_parameters path, params map Définir un ou plusieurs paramètres sur un nœud 0
get_td_nodes filter? Énumérer les nœuds correspondant à un filtre 0
get_td_node_parameters path Lire les valeurs actuelles des paramètres 0
get_td_node_errors (none) Rechercher et résoudre les problèmes dans le projet en cours 0
execute_python_script script: str Trappe de secours pour tout ce que les autres outils ne couvrent pas 0
exec_node_method path, method, args Appeler une méthode spécifique sur un nœud (par exemple, .cook()) 0
get_td_classes (none) Liste des cours disponibles parmi lesquels choisir 0
get_td_class_details class_name Suggestions Python au sol dans une surface d'API réelle 0
get_module_help module_name Récupérer les docstrings du module 0
get_td_info (none) Vérifiez la version TD et l'état du serveur 0

Coût et limites

Coût d'exécution

Quota d'API
Aucune
Tokens par appel
Petit : chemins de nœuds + petites cartes de paramètres
Monétaire
Gratuit; La licence TouchDesigner s'applique
Astuce
Préférez update_td_node_parameters avec une carte au lieu de nombreux appels à paramètre unique.

Sécurité

Permissions, secrets, portée

Stockage des identifiants : Aucune information d'identification
Sortie de données : HTTP vers 127.0.0.1 :<port>. N'exposez pas le DAT du serveur Web au réseau public.

Dépannage

Erreurs courantes et correctifs

ÉCONNREFUSÉ 127.0.0.1:9981

TouchDesigner n'est pas en cours d'exécution ou le DAT du serveur Web n'est pas actif. Ouvrez le tox et confirmez qu'il est actif.

Vérifier : In TD console: op('mcpwebserver').par.active.eval()
Version de l'API trop basse

Mettez à niveau TouchDesigner vers une version où l'API est ≥ 1.3.0.

Vérifier : Help → About TouchDesigner
L'exécution de Python échoue silencieusement

Vérifiez le port de texte TD pour le traçage ; certaines opérations ne cuisinent que lorsqu'elles sont connectées à une visionneuse.

Vérifier : Alt-T opens the textport

Alternatives

TouchDesigner MCP vs autres

AlternativeQuand l'utiliserCompromis
unrealVous pilotez des scènes Unreal Engine, pas des correctifs TouchDesignerDurée d'exécution différente ; CDC différent
unityUnity est votre moteur cibleDCC entièrement différent
godot-mcp-pro-2Godot est ton moteurCDC différent

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills