/ Diretório / Playground / TouchDesigner MCP
● Comunidade 8beeeaaat 🔑 Requer sua chave

TouchDesigner MCP

por 8beeeaaat · 8beeeaaat/touchdesigner-mcp

Controle TouchDesigner nativo de IA – os agentes criam nós, ajustam parâmetros, executam Python e leem erros por meio de uma ponte DAT de servidor Web local.

touchdesigner-mcp permite que um agente opere um projeto TouchDesigner em execução no MCP. 12 ferramentas cobrem o essencial: listar/criar/excluir nós, definir parâmetros, executar Python arbitrário no TouchDesigner e examinar o ambiente (catálogo de classes, erros de nó, ajuda do módulo). Um WebServer DAT dentro do TouchDesigner (de mcp_webserver_base.tox, API ≥1.3.0) escuta na porta 9981; o servidor MCP se comunica com ele por HTTP. Destinado a designers de movimento, artistas visuais ao vivo e engenheiros de instalação que desejam um programador de pares de IA dentro do TouchDesigner.

Por que usar

Principais recursos

Demo ao vivo

Como fica na prática

touchdesigner-mcp.replay ▶ pronto
0/0

Instalar

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

Abra Claude Desktop → Settings → Developer → Edit Config. Reinicie após salvar.

~/.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 o mesmo esquema mcpServers que o Claude Desktop. Config de projeto vence a 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"
      }
    }
  }
}

Clique no ícone MCP Servers na barra lateral do Cline, depois "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"
      }
    }
  }
}

Mesmo formato do Claude Desktop. Reinicie o Windsurf para aplicar.

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

O Continue usa um array de objetos de servidor em vez de um map.

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

Adicione em context_servers. Zed recarrega automaticamente ao salvar.

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

Uma linha só. Verifique com claude mcp list. Remova com claude mcp remove.

Casos de uso

Usos do mundo real: TouchDesigner MCP

Crie um patch inicial do TouchDesigner a partir de um breve

👤 Prototipagem de motion designers e engenheiros visuais ⏱ ~30 min intermediate

Quando usar: Você está iniciando um novo patch e deseja que o esqueleto esteja no lugar antes do ajuste manual.

Pré-requisitos
  • TouchDesigner rodando com mcp_webserver_base.tox carregado — Baixe o tox, entre no seu projeto, defina a porta 9981
  • Versão da API ≥ 1.3.0 — Verifique a versão do TouchDesigner
Fluxo
  1. Descreva o patch
    Crie um patch visual generativo: partículas reativas de áudio (ruído → instanciação), brilho pós-processamento, saída 1080p.✓ Copiado
    → O agente cria um gráfico de nó coerente com os operadores nomeados
  2. Corrigir erros
    Relate erros de TD e corrija-os.✓ Copiado
    → Usa get_td_node_errors, corrige parâmetros, itera

Resultado: Um patch inicial funcional que você ajusta, em vez de arrastar do zero.

Armadilhas
  • Agente inventa operadores que não existem — Faça com que ele chame get_td_classes primeiro e atenha-se aos nomes reais das classes
Combine com: filesystem

Varrer parâmetros e comparar resultados visuais

👤 Artistas afinando looks ⏱ ~20 min intermediate

Quando usar: Você deseja explorar um intervalo de parâmetros sem clicar na UI do TD.

Fluxo
  1. Descreva a varredura
    No ruído1, período de varredura = 0,2,0,5,1,0,2,0 e harmônicos = 1,2,4. Faça um instantâneo de cada um via renderpick1.✓ Copiado
    → Usa update_td_node_parameters e execute_python_script para salvar instantâneos
  2. Nomeie o vencedor
    Gostei do período = 1,0 harmônicos = 2. Aplique e salve o projeto.✓ Copiado
    → Conjunto de parâmetros, projeto salvo via python exec

Resultado: Iteração mais rápida; o chato trabalho combinatório de cliques acabou.

Armadilhas
  • Scripts Python longos bloqueando o thread principal do TD — Divida em chamadas de curto prazo ou execute dentro de um Execute DAT

Aprenda a API Python do TouchDesigner perguntando ao agente

👤 Designers novos no Python do TouchDesigner ⏱ ~10 min beginner

Quando usar: Você está escrevendo um script CHOP/DAT e precisa saber qual método chamar.

Fluxo
  1. Peça a aula
    Quais métodos existem na classe 'Op' para crianças ambulantes?✓ Copiado
    → Agente chama get_td_class_details e retorna métodos reais
  2. Veja um exemplo executável
    Mostre um pequeno trecho de Python que registra o caminho de cada descendente.✓ Copiado
    → O snippet usa API real, não métodos inventados

Resultado: Exemplos precisos de Python baseados na instância ao vivo do TouchDesigner.

Combinações

Combine com outros MCPs para 10× de alavancagem

touchdesigner-mcp + filesystem

Salve snapshots/renderizações em disco e faça referência a eles no próximo turno

Após cada parâmetro definido, salve um PNG via renderpick1 em ~/td-snapshots/ e leia o manifesto.✓ Copiado
touchdesigner-mcp + xcodebuild

Renderizar e empacotar para quiosque macOS

Renderize uma saída e um pacote como um pacote de aplicativos macOS via xcodebuild.✓ Copiado
touchdesigner-mcp + filesystem

Arquivar estados do projeto como exportações .toe rastreáveis ​​por git

Exporte o projeto atual como .toe e confirme-o.✓ Copiado

Ferramentas

O que este MCP expõe

FerramentaEntradasQuando chamarCusto
create_td_node parent_path, type, name? Adicionar um novo operador 0
delete_td_node path Remover um operador 0
update_td_node_parameters path, params map Defina um ou mais parâmetros em um nó 0
get_td_nodes filter? Enumerar nós que correspondem a um filtro 0
get_td_node_parameters path Leia os valores dos parâmetros atuais 0
get_td_node_errors (none) Encontre e corrija problemas no projeto atual 0
execute_python_script script: str Saída de emergência para qualquer coisa que as outras ferramentas não cubram 0
exec_node_method path, method, args Chame um método específico em um nó (por exemplo, .cook()) 0
get_td_classes (none) Liste as aulas disponíveis para escolher 0
get_td_class_details class_name Sugestões básicas do Python na superfície real da API 0
get_module_help module_name Recuperar documentos do módulo 0
get_td_info (none) Verifique a versão do TD e o estado do servidor 0

Custo e limites

O que custa rodar

Cota de API
Nenhum
Tokens por chamada
Pequeno: caminhos de nós + mapas de parâmetros pequenos
Monetário
Livre; A licença TouchDesigner se aplica
Dica
Prefira update_td_node_parameters com um mapa em vez de muitas chamadas de parâmetro único.

Segurança

Permissões, segredos, alcance

Armazenamento de credenciais: Sem credenciais
Saída de dados: HTTP para 127.0.0.1:<porta>. Não exponha o WebServer DAT à rede pública.

Solução de problemas

Erros comuns e correções

ECONNREFUSADO 127.0.0.1:9981

O TouchDesigner não está em execução ou o WebServer DAT não está ativo. Abra o exame toxicológico e confirme se está ativo.

Verificar: In TD console: op('mcpwebserver').par.active.eval()
Versão da API muito baixa

Atualize o TouchDesigner para uma versão em que a API seja ≥ 1.3.0.

Verificar: Help → About TouchDesigner
A execução do Python falha silenciosamente

Verifique a porta de texto TD para o traceback; algumas operações só funcionam quando conectadas a um visualizador.

Verificar: Alt-T opens the textport

Alternativas

TouchDesigner MCP vs. outros

AlternativaQuando usarTroca
unrealVocê está dirigindo cenas do Unreal Engine, não patches do TouchDesignerTempo de execução diferente; DCC diferente
unityUnity é o seu mecanismo alvoDCC totalmente diferente
godot-mcp-pro-2Godot é o seu motorDCC diferente

Mais

Recursos

📖 Leia o README oficial no GitHub

🐙 Ver issues abertas

🔍 Ver todos os 400+ servidores MCP e Skills