RhinoMCP – Integration des Rhino-Modellkontextprotokolls
Dieses Projekt wurde von REER, INC. entwickelt und der Community zur Nutzung und zum Testen zur Verfügung gestellt. Wir freuen uns über Beiträge, die zur Verbesserung und Erweiterung der Funktionalität von RhinoMCP beitragen. RhinoMCP verbindet Rhino, Grasshopper und weitere Anwendungen über das Model Context Protocol (MCP) mit Claude AI. Dadurch kann Claude direkt mit Rhino interagieren und es steuern. Diese Integration ermöglicht 3D-Modellierung, Szenenerstellung und -bearbeitung mit sofortiger Unterstützung. (inspiriert von blender_mcp )
Das Projekt bietet zwei Serverimplementierungen:
- Standard-Stdio-Protokoll-MCP-Server für die Claude Desktop-Integration
- SSE-Protokollserver (Server-Side Events) für die benutzerdefinierte Webclient-Integration
Merkmale
Nashorn
- Zweiwegekommunikation : Verbinden Sie Claude AI über einen Socket-basierten Server mit Rhino
- Objektmanipulation und -verwaltung : Erstellen und ändern Sie 3D-Objekte in Rhino einschließlich Metadaten
- Ebenenverwaltung : Anzeigen und Interagieren mit Rhino-Ebenen
- Szeneninspektion : Erhalten Sie detaillierte Informationen zur aktuellen Rhino-Szene (inkl. Bildschirmaufnahme)
- Codeausführung : Führen Sie beliebigen Python-Code in Rhino von Claude aus
- Objektauswahl : Erhalten Sie Informationen zu den aktuell ausgewählten Objekten in Rhino
- RhinoScriptSyntax-Dokumentation : Suchen Sie in der Dokumentation zu einer RhinoScriptSyntax
Grasshopper (in Entwicklung)
Wichtiger Hinweis : Obwohl die Grasshopper-Integrationstools in Claude verfügbar erscheinen, befinden sie sich noch in der Entwicklung und sind noch nicht vollständig nutzbar. Wir arbeiten daran, die vollständige Grasshopper-Funktionalität in zukünftigen Versionen zu implementieren.
Komponenten
Das System besteht aus zwei Hauptkomponenten:
- Rhino-seitiges Skript (
rhino_script.py
) : Ein Python-Skript, das innerhalb von Rhino ausgeführt wird, um einen Socket-Server zu erstellen, der Befehle empfängt und ausführt - MCP-Server (
rhino_mcp/server.py
) : Ein Python-Server, der das Model Context Protocol implementiert und eine Verbindung zum Rhino-Skript herstellt
Installation
Voraussetzungen
- Rhino 7 oder neuer
- Python 3.10 oder neuer
- UV-Paketmanager
- Conda (für Umgebungsmanagement) oder eine vorhandene Python-Installation
Installationsoptionen
UV installieren
Wenn Sie einen Mac verwenden, öffnen Sie das Terminal und führen Sie Folgendes aus:
Öffnen Sie unter Windows Powershell und führen Sie aus
Ansonsten finden Sie Installationsanweisungen auf der Website: Install uv
⚠️ Fahren Sie nicht fort, bevor Sie UV installiert haben
Option 1: Schnellinstallation mit uvx/pip (empfohlen)
Zuerst müssen Sie die Integration mit Claude Desktop durchführen:
- Gehen Sie zu Claude Desktop > Einstellungen > Entwickler > Konfiguration bearbeiten
- Öffnen Sie die Datei
claude_desktop_config.json
und fügen Sie die folgende Konfiguration hinzu:
- Speichern Sie die Datei
Oder wenn Sie Cursor verwenden möchten: Für Mac-Benutzer gehen Sie zu Einstellungen > MCP und fügen Sie Folgendes ein
- Um es als globalen Server zu verwenden, verwenden Sie die Schaltfläche „Neuen globalen MCP-Server hinzufügen“ und fügen Sie
- Um es als projektspezifischen Server zu verwenden, erstellen Sie
.cursor/mcp.json
im Stammverzeichnis des Projekts und fügen Sie
Windows-Benutzer gehen zu Einstellungen > MCP > Server hinzufügen und fügen einen neuen Server mit den folgenden Einstellungen hinzu:
Installieren Sie dann das Rhino-seitige Skript:
- Laden Sie die Datei
rhino_script.py
aus dem Repository herunter - Öffnen Sie Rhino
- Für Rhino 7:
- Öffnen Sie den Python-Editor:
- Klicken Sie auf das Menü "Extras"
- Wählen Sie „Python Editor“ (oder drücken Sie Strg+Alt+P / Cmd+Alt+P)
- Im Python-Editor:
- Klicken Sie auf „Datei“ > „Öffnen“.
- Navigieren Sie zu
rhino_script.py
und wählen Sie es aus - Klicken Sie auf „Ausführen“ (oder drücken Sie F5).
- Öffnen Sie den Python-Editor:
- Für Rhino 8:
- Klicken Sie auf das Menü „Extras“
- Wählen Sie „RhinoScript“ > „Ausführen“
- Navigieren Sie zu
rhino_script.py
und wählen Sie es aus
- Das Skript wird automatisch gestartet und Sie sollten diese Meldungen im Python-Editor sehen:Copy
Starten Sie abschließend den Claude Desktop neu. Der MCP-Server wird automatisch gestartet und eine Verbindung zu Rhino hergestellt.
Diese Methode wird den meisten Benutzern empfohlen, die RhinoMCP einfach verwenden möchten, ohne den Quellcode zu ändern.
Sie können sich auch das Video-Tutorial zu dieser Methode ansehen:
Option 2: Lokale Entwicklungsinstallation
Wenn Sie den Quellcode ändern oder zum Projekt beitragen möchten, können Sie es im Entwicklungsmodus installieren:
Klonen Sie das Repository
Verwenden von Conda
- Erstellen Sie eine neue Conda-Umgebung mit Python 3.10:Copy
- Installieren Sie den
uv
Paketmanager:Copy - Installieren Sie das Paket im Entwicklungsmodus:Copy
Vorhandene Python-Installation verwenden
Wenn Sie Python bereits installiert haben, können Sie den MCP-Server direkt in Ihrer Basisumgebung installieren:
- Installieren Sie das Paket im Entwicklungsmodus:Copy
- Beachten Sie, dass Sie für die Konfiguration von Claude Desktop den korrekten Systempfad zu Ihrer Python-Installation ermitteln müssen. Diesen finden Sie, indem Sie Folgendes ausführen:Copy
Claude Desktop Integration
Wie Option 1, aber Sie müssen den vollständigen Pfad zum Python-Interpreter in der Datei claude_desktop_config.json
angeben:
Beispiel-Python-Pfade:
- Windows:
C:\\Users\\username\\anaconda3\\envs\\rhino_mcp\\python.exe
- macOS:
/Users/username/anaconda3/envs/rhino_mcp/bin/python
Stellen Sie Folgendes sicher:
- Ersetzen Sie den Python-Pfad durch den Pfad zu Python in Ihrer Conda-Umgebung oder Ihrem System-Python, wenn Sie die zweite Methode verwenden.
- Speichern Sie die Datei und starten Sie Claude Desktop neu
Wichtiger Hinweis: Wenn Sie eine Conda-Umgebung verwenden, müssen Sie den vollständigen Pfad zum Python-Interpreter wie oben gezeigt angeben.
SSE-Protokoll (Server-Side Events) Rhino MCP Server
Der SSE-Server ist eine alternative Implementierung des Rhino MCP-Servers, der Server-Side Events für die Echtzeitkommunikation nutzt. Dieser Server läuft unter 127.0.0.1:8080
und ist für die Zusammenarbeit mit benutzerdefinierten Webclients konzipiert. Er bietet die gleiche Funktionalität wie der Standard-MCP-Server, verwendet jedoch ein anderes Transportprotokoll, das besser für webbasierte Anwendungen geeignet ist.
So verwenden Sie den SSE-Server:
- Führen Sie den Server mit folgendem Befehl aus:
python -m rhino_mcp.server_sse
- Verbinden Sie Ihren Webclient mit
ws://127.0.0.1:8080/sse
- Senden Sie Nachrichten an
http://127.0.0.1:8080/messages/
Der SSE-Server unterstützt dieselben Rhino-Operationen wie der Standard-MCP-Server und eignet sich daher ideal zum Erstellen benutzerdefinierter Webschnittstellen zur Rhino-Steuerung.
Verwendung
Verwendung mit Claude
Sobald die Verbindung hergestellt ist, kann Claude oder ein anderer LLM die folgenden MCP-Tools verwenden:
get_rhino_scene_info()
: Erhalten Sie vereinfachte Szeneninformationen mit Schwerpunkt auf Ebenen und Beispielobjektenget_rhino_layers()
: Informationen zu allen Ebenen in der Rhino-Szene abrufenexecute_code(code)
: Führt beliebigen Python-Code in Rhino ausget_rhino_objects_with_metadata(filters, metadata_fields)
: Erhalten Sie detaillierte Informationen zu Objekten in der Szene mit ihren Metadaten, mit optionaler Filterungcapture_rhino_viewport(layer, show_annotations, max_size)
: Erfassen Sie den Ansichtsbereich mit optionalen Anmerkungen und Ebenenfilterungget_rhino_selected_objects(include_lights, include_grips)
: Informationen zu den aktuell im Rhino-Ansichtsfenster ausgewählten Objekten abrufenlook_up_RhinoScriptSyntax(function_name)
: Suchen Sie direkt auf der Rhino3D-Entwickler-Website nach der Dokumentation für eine RhinoScriptSyntax-Funktion.
Beispielbefehle
Hier sind einige Beispiele dafür, was Sie von Claude verlangen können:
- „Informiere dich über die aktuelle Rhino-Szene“
- "Erstelle einen Würfel am Ursprung"
- "Alle Ebenen im Rhino-Dokument abrufen"
- „Führen Sie diesen Python-Code in Rhino aus: …“
- „Können Sie mir die Abmessungen der Wand nennen, die ich in Rhino ausgewählt habe?“
- „Helfen Sie mir, die Oberfläche des ausgewählten Bodens in Rhino zu berechnen.“
- „Zeigen Sie mir die Dokumentation zur Funktion SelectedObjects“
- „Wie verwende ich die AddCylinder-Funktion in Rhino Script?“
- ...
Beitragen
Wir freuen uns über Beiträge zum RhinoMCP-Projekt! Wenn Sie uns unterstützen möchten, haben Sie folgende Möglichkeiten:
- Fehlerberichte : Wenn Sie einen Fehler finden, erstellen Sie bitte ein Problem mit einer detaillierten Beschreibung des Problems und den Schritten zur Reproduktion.
- Funktionsanfragen : Haben Sie eine Idee für eine neue Funktion? Öffnen Sie ein Problem, um es zu besprechen.
- Code-Beiträge : Möchten Sie eine Funktion hinzufügen oder einen Fehler beheben?
- Forken Sie das Repository
- Erstellen Sie einen neuen Zweig für Ihre Änderungen
- Senden Sie eine Pull-Anfrage mit einer klaren Beschreibung Ihrer Änderungen
Bitte stellen Sie sicher, dass Ihr Code dem vorhandenen Stil folgt und die entsprechende Dokumentation enthält.
Haftungsausschluss
Diese Software wird „wie besehen“ und ohne jegliche ausdrückliche oder stillschweigende Gewährleistung bereitgestellt. REER, INC. übernimmt keine Gewährleistungen, Zusicherungen oder Garantien in Bezug auf die Software, insbesondere nicht hinsichtlich Qualität, Zuverlässigkeit, Kompatibilität oder Eignung für einen bestimmten Zweck.
Durch die Verwendung dieser Software erkennen Sie an und stimmen zu, dass REER, INC. nicht für direkte, indirekte, zufällige, besondere oder Folgeschäden haftet, die sich aus der Verwendung oder der Unfähigkeit zur Verwendung der Software ergeben.
Dieses Projekt befindet sich in der aktiven Entwicklung und kann Fehler oder unvollständige Funktionen enthalten. Obwohl wir Qualität und Zuverlässigkeit anstreben, bitten wir Sie, bei der Implementierung in Produktionsumgebungen entsprechende Vorsicht walten zu lassen.
Relevante Dokumentation und Ressourcen
- Offizielle MCP-Dokumentation:
- Client-Entwickler: https://modelcontextprotocol.io/quickstart/client
- Serverentwickler: https://modelcontextprotocol.io/quickstart/server
- Open Source MCP-Dokumentation: https://github.com/cyanheads/model-context-protocol-resources
- Offene Web-Benutzeroberfläche zum Erstellen einer KI-Agentenschnittstelle: https://github.com/open-webui/open-webui
- Wechseln Sie zwischen Stdio-Server und SSE-Server: https://github.com/supercorp-ai/supergateway
This server cannot be installed
Ein Model Context Protocol-Server, der Rhino und Grasshopper mit Claude AI verbindet und durch direkte KI-Interaktion mit der Rhino-Umgebung eine sofortige 3D-Modellierung, Szenenerstellung und -bearbeitung ermöglicht.