TouchDesigner MCP

Integrations

  • Required for code generation during development, used to generate API client/server schemas for the TouchDesigner integration.

  • Required runtime environment for the TouchDesigner MCP server, enabling the bridge between AI models and TouchDesigner.

  • Used within TouchDesigner for scripting and controlling nodes, allowing AI agents to execute Python code to manipulate TouchDesigner projects.

TouchDesigner MCP

Esta es una implementación de un servidor MCP (Protocolo de Contexto de Modelo) para TouchDesigner. El objetivo es permitir que los agentes de IA controlen y operen proyectos de TouchDesigner.

Inglés / Japonés

Descripción general

TouchDesigner MCP actúa como un puente entre los modelos de IA y TouchDesigner WebServer DAT, lo que permite a los agentes de IA:

  • Crear, modificar y eliminar nodos
  • Consultar propiedades del nodo y estructura del proyecto
  • Controlar TouchDesigner programáticamente mediante scripts de Python

Uso

Requiere que Node.js esté instalado

1. Instale el paquete touchdesigner-mcp-server

mkdir some && cd ./some (Si es necesario) npm install touchdesigner-mcp-server

2. Conéctese a TouchDesigner

Coloque mcp_webserver_base.tox en TouchDesigner

Inicie TouchDesigner e importe el componente td/mcp_webserver_base.tox directamente en su proyecto de TouchDesigner. Ejemplo: Colóquelo como /project1/mcp_webserver_base

Al importar el tox se activará el script td/import_modules.py , que carga módulos como los controladores del servidor API.

Puede comprobar los registros de arranque abriendo Textport desde el menú TouchDesigner.

3. Configurar el servidor MCP de TouchDesigner

Con TouchDesigner en ejecución, configure su agente de IA (Claude Desktop, Cursor, VSCode CopilotChat, etc.) para conectarse al servidor MCP.

Ejemplo: Claude Desktop

{ "mcpServers": { "touchdesigner": { "args": [ "/path/to/your/node_modules/touchdesigner-mcp-server/dist/index.js", // <-- Replace with the absolute path to node_modules/touchdesigner-mcp-server/dist/index.js "--stdio" ], "command": "node", "transportType": "stdio" } } }

En el sistema Windows, incluya la letra de la unidad, como C:, por ejemplo, C:\\path\\to\\your\\node_modules\\touchdesigner-mcp-server\\dist\\index.js

Si se reconoce el servidor MCP, la configuración está completa. Si no se reconoce, reinicie el agente. Si se produce un error al iniciar, intente reiniciar el agente después de iniciar TouchDesigner. Si el servidor API se ejecuta en TouchDesigner, el agente puede usar TouchDesigner mediante las herramientas proporcionadas.

Características del servidor MCP

Este servidor permite operaciones en TouchDesigner a través del Protocolo de contexto de modelo (MCP) y proporciona referencias a varios documentos de implementación.

Herramientas

Las herramientas permiten que los agentes de IA realicen acciones en TouchDesigner.

Nombre de la herramientaDescripción
create_td_nodeCrear un nuevo nodo.
delete_td_nodeEliminar un nodo existente.
exec_node_methodLlamar a un método Python en un nodo.
execute_python_scriptEjecutar un script de Python arbitrario en TD.
get_td_class_detailsObtenga detalles de una clase/módulo de Python de TD.
get_td_classesObtenga una lista de clases de Python de TouchDesigner.
get_td_infoObtenga información sobre el entorno del servidor TD.
get_td_node_parametersObtener parámetros de un nodo específico.
get_td_nodesObtener nodos bajo una ruta principal (opcionalmente filtrada).
update_td_node_parametersActualizar los parámetros de un nodo específico.

Indicaciones

Las indicaciones proporcionan instrucciones para que los agentes de IA realicen acciones específicas en TouchDesigner.

Nombre del avisoDescripción
Search nodeBúsqueda difusa de nodos y recuperación de información según nombre, familia y tipo.
Node connectionProporciona instrucciones para conectar nodos dentro de TouchDesigner.
Check node errorsComprueba los errores de un nodo específico y, de forma recursiva, de los nodos secundarios si los hay.

Recursos

No implementado

Para desarrolladores

Construyendo el código del servidor MCP

  1. Clonar el repositorio
git clone https://github.com/8beeeaaat/touchdesigner-mcp.git
  1. Instalar dependencias
cd touchdesigner-mcp npm install
  1. Configurar el archivo de entorno y compilarlo
# Copy the template and adjust TD_WEB_SERVER_URL as needed cp dotenv .env # Build the project (generates API client/server schemas and compiles MCP resources) # Make sure the Docker daemon is running before executing this command npm run build

Configuración de TouchDesigner

1. Generación de código:

Ejecute npm run build para generar el siguiente código:

  • Código del servidor MCP
  • Código de servidor API para TouchDesigner WebServer DAT
2. Importe el servidor web para el servidor MCP en TouchDesigner:

Inicie TouchDesigner e importe el componente td/mcp_webserver_base.tox directamente en su proyecto. Al importar el componente tox, se activará el script td/import_modules.py , que carga módulos como los controladores del servidor API.

3. Verificar el funcionamiento del servidor API:

Asegúrese de que los módulos de Python en el directorio td/modules sean accesibles desde el componente mcp_webserver_base . Ejecute npm run test para ejecutar pruebas unitarias y de integración para el código del servidor MCP y la conexión a TouchDesigner. Puede consultar los registros de comunicación abriendo Textport desde el menú de TouchDesigner.

Puede depurar con @modelcontextprotocol/inspector usando npm run dev .

CONSEJOS: mcp_webserver_base.tox incluye un archivo DAT de servidor web configurado para vincular el servidor MCP con TouchDesigner. Asegúrese de que este archivo DAT esté activo y ejecutándose en el puerto especificado por TD_WEB_SERVER_URL en su archivo .env (predeterminado: 9981 ). Para cambiar el puerto:

  1. Cambiar TD_WEB_SERVER_PORT en .env
  2. Vuelva a ejecutar npm run build
  3. Cambie el puerto en mcp_webserver_base (WebServer DAT) y reinicie el DAT

Conexión con agentes de IA compatibles con MCP

Con TouchDesigner en ejecución, configure su agente de IA (Cursor, Claude Desktop, VSCode CopilotChat, etc.) para conectarse al servidor MCP.

Ejemplo: Claude Desktop
{ "mcpServers": { "dev_touchdesigner": { "args": [ "/path/to/your/touchdesigner-mcp/dist/index.js", // <-- Replace with the absolute path to /dist/index.js after build "--stdio" ], "command": "node", "transportType": "stdio" } } }

En el sistema Windows, incluya la letra de la unidad, como C:, por ejemplo C:\\path\\to\\your\\touchdesigner-mcp\\dist\\index.js

Estructura del proyecto después de la configuración

├── src/ # MCP server source code │ ├── api/ # OpenAPI spec for TD WebServer │ ├── core/ # Core utilities (logger, error handling) │ ├── features/ # MCP feature implementations │ │ ├── prompts/ # Prompt handlers │ │ ├── resources/ # Resource handlers │ │ └── tools/ # Tool handlers (e.g., tdTools.ts) │ ├── gen/ # Code generated from OpenAPI schema for MCP server │ ├── server/ # MCP server logic (connections, main server class) │ ├── tdClient/ # TD connection API client │ ├── index.ts # Main entry point for Node.js server │ └── ... ├── td/ # TouchDesigner related files │ ├── modules/ # Python modules for TouchDesigner │ │ ├── mcp/ # Core logic for handling MCP requests in TD │ │ │ ├── controllers/ # API request controllers (api_controller.py, generated_handlers.py) │ │ │ └── services/ # Business logic (api_service.py) │ │ ├── td_server/ # Python model code generated from OpenAPI schema │ │ └── utils/ # Shared Python utilities │ ├── templates/ # Mustache templates for Python code generation │ ├── genHandlers.js # Node.js script for generating generated_handlers.py │ ├── import_modules.py # Helper script to import API server modules into TD │ └── mcp_webserver_base.tox # Main TouchDesigner component ├── tests/ # Test code │ ├── integration/ │ └── unit/ ├── .env # Local environment variables (git ignored) ├── dotenv # Template for .env └── orval.config.ts # Orval config (TS client generation)

Flujo de trabajo de generación de código API

Este proyecto utiliza herramientas de generación de código basadas en OpenAPI (Orval / openapi-generator-cli):

Definición de API: El contrato de API entre el servidor MCP Node.js y el servidor Python que se ejecuta dentro de TouchDesigner se define en src/api/index.yml .

  1. Generación del servidor Python ( npm run gen:webserver ):
    • Utiliza openapi-generator-cli a través de Docker.
    • Lee src/api/index.yml .
    • Genera un esqueleto de servidor Python ( td/modules/td_server/ ) basado en la definición de la API. Este código se ejecuta dentro de TouchDesigner mediante el DAT del servidor web.
    • Requiere que Docker esté instalado y en ejecución.
  2. Generación de controladores de Python ( npm run gen:handlers ):
    • Utiliza un script Node.js personalizado ( td/genHandlers.js ) y plantillas Mustache ( td/templates/ ).
    • Lee el código del servidor Python generado o la especificación OpenAPI.
    • Genera implementaciones de controladores ( td/modules/mcp/controllers/generated_handlers.py ) que se conectan a la lógica empresarial en td/modules/mcp/services/api_service.py .
  3. Generación de cliente TypeScript ( npm run gen:mcp ):
    • Utiliza Orval para generar código de cliente API y esquemas Zod para la validación de herramientas a partir del esquema YAML incluido en openapi-generator-cli .
    • Genera un cliente TypeScript tipificado ( src/tdClient/ ) utilizado por el servidor Node.js para realizar solicitudes al DAT del servidor web.

El proceso de compilación ( npm run build ) ejecuta todos los pasos de generación necesarios ( npm run gen ), seguido de la compilación de TypeScript ( tsc ).

Contribuyendo

¡Agradecemos sus contribuciones!

  1. Bifurcar el repositorio
  2. Crear una rama de características ( git checkout -b feature/amazing-feature )
  3. Realiza tus cambios
  4. Agregue pruebas y asegúrese de que todo funcione ( npm test )
  5. Confirme sus cambios ( git commit -m 'Add some amazing feature' )
  6. Subir a su rama ( git push origin feature/amazing-feature )
  7. Abrir una solicitud de extracción

Incluya siempre pruebas adecuadas al realizar cambios de implementación.

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Un servidor de protocolo de contexto de modelo que permite a los agentes de IA controlar y operar proyectos de TouchDesigner mediante la creación, modificación y consulta de nodos y estructuras de proyectos.

  1. Descripción general
    1. Uso
      1. 1. Instale el paquete touchdesigner-mcp-server
      2. 2. Conéctese a TouchDesigner
      3. 3. Configurar el servidor MCP de TouchDesigner
    2. Características del servidor MCP
      1. Herramientas
      2. Indicaciones
      3. Recursos
    3. Para desarrolladores
      1. Construyendo el código del servidor MCP
      2. Configuración de TouchDesigner
      3. Conexión con agentes de IA compatibles con MCP
      4. Estructura del proyecto después de la configuración
      5. Flujo de trabajo de generación de código API
    4. Contribuyendo
      1. Licencia

        Related MCP Servers

        • A
          security
          A
          license
          A
          quality
          A Model Context Protocol server that allows AI assistants to interact with Appwrite's API, providing tools to manage databases, users, functions, teams, and other resources within Appwrite projects.
          Last updated -
          84
          36
          Python
          MIT License
          • Linux
          • Apple
        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that enables AI agents to interact with ClickUp workspaces, allowing task creation, management, and workspace organization through natural language commands.
          Last updated -
          203
          MIT License
        • -
          security
          A
          license
          -
          quality
          A Model Context Protocol server that enables AI assistants to interact with Fingertip's site management capabilities, allowing them to list, view details of, and create websites.
          Last updated -
          1
          TypeScript
          MIT License
        • -
          security
          -
          license
          -
          quality
          A Model Context Protocol server implementation that enables AI assistants to interact with Linear project management systems, allowing them to create, retrieve, and modify data related to issues, projects, teams, and users.
          Last updated -
          20
          2
          TypeScript

        View all related MCP servers

        ID: llzbz83vrf