TouchDesigner MCP
Dies ist die Implementierung eines MCP-Servers (Model Context Protocol) für TouchDesigner. Ziel ist es, KI-Agenten die Steuerung und Bedienung von TouchDesigner-Projekten zu ermöglichen.
Überblick
TouchDesigner MCP fungiert als Brücke zwischen KI-Modellen und dem TouchDesigner WebServer DAT und ermöglicht KI-Agenten:
- Erstellen, Ändern und Löschen von Knoten
- Knoteneigenschaften und Projektstruktur abfragen
- TouchDesigner programmgesteuert über Python-Skripte steuern
Verwendung
Erfordert die Installation von Docker oder Node.js
1. Klonen Sie das Repository:
2. Richten Sie die Umgebungsdatei ein und erstellen Sie:
Kopieren Sie die Vorlagendatei und passen Sie TD_WEB_SERVER_HOST und TD_WEB_SERVER_PORT nach Bedarf an, bevor Sie das Docker-Image erstellen.
3. Installieren Sie den API-Server in Ihrem TouchDesigner-Projekt:
Starten Sie TouchDesigner und importieren Sie die Komponente td/mcp_webserver_base.tox
direkt in das TouchDesigner-Projekt, das Sie steuern möchten. Beispiel: Platzieren Sie sie als /project1/mcp_webserver_base
Durch das Importieren des Tox wird das Skript td/import_modules.py
ausgelöst, das Module wie API-Server-Controller lädt.
Sie können die Startprotokolle überprüfen, indem Sie den Textport über das TouchDesigner-Menü öffnen.
4. Starten Sie den MCP-Servercontainer
5. Konfigurieren Sie Ihren KI-Agenten für die Verwendung des Docker-Containers:
Beispiel für Claude Desktop
Geben Sie auf Windows-Systemen den Laufwerksbuchstaben an, z. B. C: C:\\path\\to\\your\\touchdesigner-mcp\\docker-compose.yml
So verwenden Sie das vorgefertigte JS direkt von Node.js:
1. Installieren Sie das Paket
2. Installieren Sie den API-Server in Ihrem TouchDesigner-Projekt:
Starten Sie TouchDesigner und importieren Sie die Komponente some/node_modules/touchdesigner-mcp-server/td/mcp_webserver_base.tox
direkt unter dem TouchDesigner-Projekt, das Sie steuern möchten. Beispiel: Platzieren Sie sie als /project1/mcp_webserver_base
Durch das Importieren des Tox wird das Skript some/node_modules/touchdesigner-mcp-server/td/import_modules.py
ausgelöst, das Module wie API-Server-Controller lädt.
Sie können die Startprotokolle überprüfen, indem Sie den Textport über das TouchDesigner-Menü öffnen.
3. Konfigurieren Sie Ihren KI-Agenten:
Beispiel für Claude Desktop
Geben Sie auf Windows-Systemen den Laufwerksbuchstaben an, z. B. C: C:\\path\\to\\your\\node_modules\\touchdesigner-mcp-server\\dist\\index.js
3. Verbindung überprüfen
Wenn der MCP-Server erkannt wird, ist die Einrichtung abgeschlossen. Falls er nicht erkannt wird, starten Sie Ihren KI-Agenten neu. Tritt beim Start ein Fehler auf, starten Sie den Agenten erneut, nachdem Sie TouchDesigner gestartet haben. Wenn der API-Server in TouchDesigner ordnungsgemäß läuft, kann der Agent die bereitgestellten Tools zur Bedienung von TouchDesigner nutzen.
MCP-Serverfunktionen
Dieser Server ermöglicht Operationen auf TouchDesigner über das Model Context Protocol (MCP) und bietet Verweise auf verschiedene Implementierungsdokumente.
Werkzeuge
Mithilfe von Tools können KI-Agenten Aktionen im TouchDesigner ausführen.
Werkzeugname | Beschreibung |
---|---|
create_td_node | Erstellen Sie einen neuen Knoten. |
delete_td_node | Löschen Sie einen vorhandenen Knoten. |
exec_node_method | Rufen Sie eine Python-Methode auf einem Knoten auf. |
execute_python_script | Führen Sie ein beliebiges Python-Skript in TD aus. |
get_td_class_details | Erhalten Sie Details zu einer TD Python-Klasse/einem TD Python-Modul. |
get_td_classes | Holen Sie sich eine Liste der TouchDesigner-Python-Klassen. |
get_td_info | Informieren Sie sich über die TD-Serverumgebung. |
get_td_node_parameters | Rufen Sie die Parameter eines bestimmten Knotens ab. |
get_td_nodes | Holen Sie sich Knoten unter einem übergeordneten Pfad (optional gefiltert). |
update_td_node_parameters | Aktualisieren Sie die Parameter eines bestimmten Knotens. |
Eingabeaufforderungen
Eingabeaufforderungen enthalten Anweisungen für KI-Agenten zum Ausführen bestimmter Aktionen in TouchDesigner.
Eingabeaufforderungsname | Beschreibung |
---|---|
Search node | Fuzzy-Suche nach Knoten und Abrufen von Informationen basierend auf Name, Familie und Typ. |
Node connection | Geben Sie Anweisungen zum Verbinden von Knoten innerhalb von TouchDesigner. |
Check node errors | Überprüfen Sie Fehler für einen angegebenen Knoten, rekursiv für untergeordnete Knoten, falls vorhanden. |
Ressourcen
Nicht implementiert
Für Entwickler
Erstellen von Client- und API-Servercode
cp dotenv .env
- Passen Sie
TD_WEB_SERVER_HOST
undTD_WEB_SERVER_PORT
in der.env
Datei an Ihre Entwicklungsumgebung an - Führen Sie
make build
odernpm run build
um den Code neu zu generieren
Wenn Sie den erstellten Code widerspiegeln müssen, starten Sie sowohl den MCP-Server als auch TouchDesigner neu.
Überprüfen des API-Servers
npm run test
Führen Sie Unit-Tests für den MCP-Servercode und Integrationstests mit TouchDesigner aus. Sie können Kommunikationsprotokolle überprüfen, indem Sie den Textport über das TouchDesigner-Menü öffnen.npm run dev
Starten Sie @modelcontextprotocol/inspector, um verschiedene Funktionen zu debuggen.
Projektstrukturübersicht
Workflow zur API-Codegenerierung
Dieses Projekt verwendet OpenAPI-basierte Codegenerierungstools (Orval / openapi-generator-cli):
API-Definition: Der API-Vertrag zwischen dem Node.js MCP-Server und dem Python-Server, der in TouchDesigner ausgeführt wird, ist in src/api/index.yml
definiert.
- Python-Servergenerierung (
npm run gen:webserver
):- Verwendet
openapi-generator-cli
über Docker. - Liest
src/api/index.yml
. - Generiert ein Python-Server-Skelett (
td/modules/td_server/
) basierend auf der API-Definition. Dieser Code wird in TouchDesigner über WebServer DAT ausgeführt. - Erfordert, dass Docker installiert und ausgeführt wird.
- Verwendet
- Python-Handler-Generierung (
npm run gen:handlers
):- Verwendet ein benutzerdefiniertes Node.js-Skript (
td/genHandlers.js
) und Mustache-Vorlagen (td/templates/
). - Liest den generierten Python-Servercode oder die OpenAPI-Spezifikation.
- Generiert Handler-Implementierungen (
td/modules/mcp/controllers/generated_handlers.py
), die eine Verbindung zur Geschäftslogik intd/modules/mcp/services/api_service.py
herstellen.
- Verwendet ein benutzerdefiniertes Node.js-Skript (
- TypeScript-Client-Generierung (
npm run gen:mcp
):- Verwendet
Orval
, um API-Clientcode und Zod-Schemas für die Toolvalidierung aus dem vonopenapi-generator-cli
gebündelten YAML-Schema zu generieren. - Generiert einen typisierten TypeScript-Client (
src/tdClient/
), der vom Node.js-Server verwendet wird, um Anfragen an das WebServer-DAT zu stellen.
- Verwendet
Der Build-Prozess ( npm run build
) führt alle notwendigen Generierungsschritte ( npm run gen
) aus, gefolgt von der TypeScript-Kompilierung ( tsc
).
Beitragen
Wir freuen uns über Ihre Beiträge!
- Forken Sie das Repository
- Erstellen Sie einen Feature-Zweig (
git checkout -b feature/amazing-feature
) - Nehmen Sie Ihre Änderungen vor
- Fügen Sie Tests hinzu und stellen Sie sicher, dass alles funktioniert (
npm test
). - Übernehmen Sie Ihre Änderungen (
git commit -m 'Add some amazing feature'
) - Pushen Sie zu Ihrem Zweig (
git push origin feature/amazing-feature
) - Öffnen einer Pull-Anfrage
Bitte schließen Sie bei Implementierungsänderungen immer entsprechende Tests ein.
Lizenz
MIT
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Ein Model Context Protocol-Server, der es KI-Agenten ermöglicht, TouchDesigner-Projekte durch Erstellen, Ändern und Abfragen von Knoten und Projektstrukturen zu steuern und zu betreiben.
- Überblick
- Verwendung
- 1. Klonen Sie das Repository:
- 2. Richten Sie die Umgebungsdatei ein und erstellen Sie:
- 3. Installieren Sie den API-Server in Ihrem TouchDesigner-Projekt:
- 4. Starten Sie den MCP-Servercontainer
- 5. Konfigurieren Sie Ihren KI-Agenten für die Verwendung des Docker-Containers:
- 1. Installieren Sie das Paket
- 2. Installieren Sie den API-Server in Ihrem TouchDesigner-Projekt:
- 3. Konfigurieren Sie Ihren KI-Agenten:
- 3. Verbindung überprüfen
- MCP-Serverfunktionen
- Für Entwickler
- Beitragen
- Lizenz
Related MCP Servers
- AsecurityAlicenseAqualityA 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 -8446PythonMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI agents to generate, fetch, and manage UI components through natural language interactions.Last updated -34314TypeScript
- -securityAlicense-qualityA Model Context Protocol server that enables AI agents to control and automate Android devices through natural language, supporting actions like app management, UI interactions, and device monitoring.Last updated -15PythonMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server providing AI assistants with comprehensive project, task, and subtask management capabilities with project-specific storage.Last updated -295347TypeScriptMIT License