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
- Klonen Sie das Repository:
- Richten Sie die Umgebungsdatei ein und erstellen Sie:
- Installieren Sie den API-Server in Ihrem TouchDesigner-Projekt:
- Starten Sie den MCP-Servercontainer
- Konfigurieren Sie Ihren KI-Agenten für die Verwendung des Docker-Containers:
- Installieren Sie das Paket
- Installieren Sie den API-Server in Ihrem TouchDesigner-Projekt:
- Konfigurieren Sie Ihren KI-Agenten:
- 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 -8439PythonMIT License
- -securityAlicense-qualityA 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 -343MIT License
- -securityAlicense-qualityA 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 -1TypeScriptMIT License
- -security-license-qualityA 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 -202TypeScript