Skip to main content
Glama

Maya MCP

Maya MCP

Model Context Protocol (MCP)-Serverimplementierung für Autodesk Maya

Getestet mit Maya 2023, 2025.

Version 0.2.0

Dieses Projekt ermöglicht es KI-Assistentenclients wie Claude Desktop, Autodesk Maya mithilfe des Model Context Protocol (MCP) über natürliche Sprache zu steuern.

Der Maya MCP-Server befindet sich noch in der Anfangsphase und verfügt über einen minimalen Funktionsumfang. Der Fokus lag zunächst auf dem Architekturdesign und der Einfachheit.

Hier ist eine Liste einiger der bei Maya MCP registrierten Tools.

Grundlegende Werkzeuge

WerkzeugBeschreibung
Objekte nach Typ auflistenRufen Sie eine Liste der Objekte in der Szene ab. Verwenden Sie filter_by, um nach bestimmten Objekten wie „Kameras“, „Lichtern“, „Materialien“ oder „Formen“ zu filtern.
Objekt erstellenErstellen Sie ein Objekt in der Maya-Szene. Verfügbare Objekttypen sind Würfel, Kegel, Kugel, Zylinder, Kamera, Spotlicht, Punktlicht und Richtungslicht.
get_object_attributesRufen Sie eine Liste der Attribute eines Maya-Objekts ab.
Objektattribute festlegenLegen Sie für das Attribut eines Objekts einen bestimmten Wert fest.
neue SzeneErstellen Sie eine neue Szene in Maya. Verwenden Sie das Argument „force“, um eine neue Szene zu erzwingen, wenn eine vorhandene Szene geladen und geändert wurde.
Szene_öffnenLaden Sie eine Szene in Maya.
Szene speichernSpeichert die aktuelle Szene. Wenn kein Dateiname angegeben ist, wird die Szene unter dem aktuellen Namen gespeichert.
Objekt auswählenWählen Sie ein Objekt in der Szene aus.

Erweiterte Modellierungswerkzeuge

WerkzeugBeschreibung
Erstellen Sie ein erweitertes ModellErstellen Sie komplexe 3D-Modelle wie Autos, Bäume, Gebäude, Tassen und Stühle mit detaillierten Parametern.
Mesh-OperationenFühren Sie Modellierungsvorgänge wie Extrudieren, Abschrägen, Unterteilen, Boolesche Operationen, Kombinieren, Überbrücken und Teilen durch.
Material erstellenErstellen und weisen Sie Materialien verschiedener Typen zu (Lambert, Phong, Holz, Marmor, Chrom, Glas usw.).
Kurve erstellenGenerieren Sie NURBS-Kurven für verschiedene Formen (Linie, Kreis, Spirale, Helix, Stern, Zahnrad usw.)
KurvenmodellierungErstellen Sie Geometrie mithilfe kurvenbasierter Modellierungstechniken (Extrudieren, Loften, Drehen, Sweeping usw.).
Objekte organisierenOrganisieren Sie Objekte durch Gruppieren, Zuordnung, Layout, Ausrichtung und Verteilung.
Szene generierenGenerieren Sie komplette 3D-Szenen mit mehreren Objekten (Stadt, Wald, Wohnzimmer, Büro, Park)

Installation

Der Maya MCP-Server ist so konzipiert, dass er nur einen MCP-Server enthält und keine Installation innerhalb von Maya erfordert. Dies ist hilfreich, da Sie problemlos verschiedene Maya-Versionen verwenden können und sich nicht um die Koordination von Versionsänderungen kümmern müssen. Dies geschieht durch die Nutzung des standardmäßigen Befehlsports, den Maya für MEL-Skripting öffnet.

MCP erfordert Python 3.10 oder höher. Derzeit wird pip verwendet, da die Paketanforderungen minimal sind. So installieren Sie die virtuelle Umgebung:

  1. Laden Sie dieses Projekt herunter
  2. Erstellen Sie mit Python 3.10+ eine virtuelle Umgebung im Projektverzeichnis. python -m venv .venv
  3. Aktivieren Sie die virtuelle Umgebung
    • Windows: .venv\Scripts\activate.bat
    • Mac/Linux: source .venv\bin\activate.sh
  4. pip install -r requirements.txt

Wie gesagt, für Maya muss nichts installiert werden.

MCP-Client-Konfiguration

Je nachdem, welchen MCP-Client Sie verwenden, unterscheidet sich der Speicherort der Konfigurationsdatei. Für Anthopic Claude Desktop gehen Sie zu Datei -> Einstellungen -> Registerkarte „Entwickler“ und klicken Sie auf die Schaltfläche „Konfiguration bearbeiten“. Dadurch wird der Dateifinder im Verzeichnis der JSON-Konfigurationsdatei geöffnet.

Anschließend müssen Sie die JSON-Konfigurationsdatei manuell mit einem Texteditor bearbeiten. Achten Sie darauf, vollständige Dateipfade zu verwenden.

{ "mcpServers": { "MayaMCP": { "command": "[FULL PATH TO MayaMCP PROJECT]/.venv/Scripts/python.exe", "args": [ "[FULL PATH TO MayaMCP PROJECT]/src/maya_mcp_server.py" ] } } }

Sobald die Änderungen vorgenommen wurden, starten Sie Claude Desktop neu (verwenden Sie den Menüpunkt „Beenden“, anstatt das Fenster einfach zu schließen). Im Reiter „Entwickler“ wird nun der Maya MCP-Server aufgelistet.

In Claude Desktop können Sie überprüfen, ob die Maya MCP-Tools verfügbar sind. Drücken Sie die Schaltfläche und ein detailliertes Popup wird angezeigt.

Maya-Kommunikation

Wenn der Maya MCP-Server zum ersten Mal versucht, mit Maya zu kommunizieren, wird dieses Popup in Maya angezeigt. Klicken Sie auf „Alle zulassen“, um die fortlaufende Kommunikation zwischen dem MCP-Server und Maya zu ermöglichen. Dies muss bei jeder Maya-Sitzung wiederholt werden.

Entwicklernotizen

Das Maya MCP-Servermodul wurde so konzipiert, dass es einfach und ohne Eingriffe geändert werden kann. Dies geschieht, indem der Maya-Python-Code auf dem MCP-Server gespeichert und zur Ausführung an den Maya-Befehlsport gesendet wird. Die Ergebnisse werden an den Server zurückgesendet und verarbeitet.

Der Standard-Maya-Befehlsport führt MEL aus, sodass der Python-Code so geändert wird, dass er innerhalb des MEL-Funktionsaufrufs an den Python-Interpreter ausgeführt wird. Es gibt auch einige Einschränkungen, z. B. kann mehrzeiliger Python-Code keine Ergebnisse liefern. Daher stellt jeder Befehl zwei Verbindungen zu Maya her. Die erste Verbindung führt den Vorgang aus und speichert die Ergebnisse. Die zweite Verbindung dient dann zum Zurücklesen der Ergebnisse.

Um den Namespace im globalen Maya-Python-Interpreter möglichst wenig zu füllen, werden an Maya gesendete Funktionen und Variablen mit dem Gültigkeitsbereich mcp_maya * versehen. Jedes Maya-Tool ist in einer Funktion namens _mcp_maya_scope() enthalten. Die Ergebnisse werden der Variable _mcp_maya_results zugewiesen. Dadurch wird die Möglichkeit von Namenskollisionen deutlich reduziert.

Dieses Design ist elegant. Sie können einfach die Python-Datei hinzufügen, den MCP-Client und den Maya-MCP-Server neu starten und loslegen. Sie müssen die Vorgänge nicht sowohl auf dem Maya-MCP-Server als auch in Maya selbst integrieren. Der hinzugefügte Code ist ausschließlich Maya-spezifisches Python und benötigt keine zusätzlichen MCP-Dekoratoren. Dieses Design lässt sich deutlich besser erweitern und an verschiedene Installationen anpassen als ein fester Satz von Tools.

Der Maya MCP-Server wurde mit dem Low-Level-Python-MCP-Modul erstellt. Dies war notwendig, um alle Werkzeuge zur Laufzeit dynamisch definieren zu können. Die Werkzeugfunktionssignaturen werden beim Serverstart dynamisch erfasst.

Neue Tools hinzufügen

Das Hinzufügen neuer Tools zu Maya MCP ist ganz einfach. Der vorhandene Code muss nicht geändert werden. Sie müssen lediglich eine Python-Datei mit einem Tool-Befehl im Verzeichnis mayatools/thirdparty hinzufügen. Das Tool selbst wird in Maya ausgeführt und hat Zugriff auf alle Maya-Python-Module. Das Tooldesign enthält einige Programmierhinweise.

  • Der Name der Python-Datei und der Funktionsname müssen identisch sein. Stellen Sie sicher, dass sie eindeutig sind.
  • Die Python-Funktion wird sowohl vom Server als auch von Maya geladen. Jeglicher Code außerhalb der Funktion muss in eigenständiges Python geladen werden können. Das bedeutet, dass alle Importe wie maya.cmds im Funktionsumfang erfolgen sollten. Der MCP-Server lädt die Funktion, um die Funktionssignatur zu prüfen und die Informationen per JSON-RPC an den MCP-Client zu senden.
  • Die Funktionssignatur wird analysiert und muss alle Typen in der Funktionsargumentannotation enthalten.
  • Wenn Ihre Funktion an Maya gesendet wird, wird sie innerhalb der Funktion _mcp_maya_scope ausgeführt. Dies bietet mehrere Vorteile. Die an Maya gesendeten Funktionen belasten den globalen Python-Speicherplatz bei der Ausführung in Maya nicht übermäßig. Außerdem werden alle ausgelösten Ausnahmen abgefangen und als Fehler an den MCP-Client zurückgegeben.
  • Im Allgemeinen möchten Sie entweder eine Liste oder ein Wörterbuch zurückgeben oder eine Ausnahme auslösen, wenn ein Fehler auftritt.
  • Benennen Sie Ihre Funktion und Argumente entsprechend, damit der LLM die Operation verstehen kann. Fügen Sie eine Funktionsdokumentationszeichenfolge ein.
  • Standardargumente sind gut.
  • Die Fehlerprüfung ist gut, sodass Fehlermeldungen bessere Erklärungen für die Fehler liefern können.

Ich empfehle, sich die vorhandenen Maya-Tools in diesem Projekt als Beispiele anzusehen.

Testen

Maya MCP wurde derzeit nur unter Windows getestet. Es sollte sowohl unter Linux als auch unter Mac funktionieren, da alles Standard-Python verwendet.

Ideen für die Zukunft

MCP steckt noch in den Kinderschuhen und es gibt viel zu verbessern. Hier sind einige Ideen.

  • Mehr Funktionalität bereitstellen.
  • Verbessern Sie die Verwendung von Prompt Engineering, insbesondere die Beschreibung der Verwendung und Datenbeziehungen von Maya.
  • Alles ist als Werkzeug registriert und ermöglicht Ressourcen und Eingabeaufforderungen.
  • Es ist möglich, in Maya Plugins mit MCP-Tools zu finden. Beispielsweise könnte man den PYTHONPATH in Maya mit einem beliebigen Verzeichnis namens MCP überprüfen. Alle diese könnten überprüft und anschließend an den MCP-Client zurückgegeben werden.

Lizenz

MIT

Wichtiger Hinweis

Dieses Projekt wurde in meiner Freizeit und mit meiner Ausrüstung durchgeführt, um mehr über MCP zu erfahren. Das Projekt steht in keiner Verbindung zu meinem derzeitigen Arbeitgeber und repräsentiert weder dessen Arbeit noch dessen Interessen.

-
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.

Maya MCP

  1. Grundlegende Werkzeuge
    1. Erweiterte Modellierungswerkzeuge
      1. Installation
        1. MCP-Client-Konfiguration
        2. Maya-Kommunikation
      2. Entwicklernotizen
        1. Neue Tools hinzufügen
      3. Testen
        1. Ideen für die Zukunft
          1. Lizenz
            1. Links
              1. Wichtiger Hinweis

                Related MCP Servers

                View all related MCP servers

                MCP directory API

                We provide all the information about MCP servers via our MCP API.

                curl -X GET 'https://glama.ai/api/mcp/v1/servers/PatrickPalmer/MayaMCP'

                If you have feedback or need assistance with the MCP directory API, please join our Discord server