Bonsai-mcp - Model Context Protocol Integration für IFC über IfcOpenShell und Blender
Bonsai-mcp ist ein Fork von BlenderMCP , der die ursprüngliche Funktionalität um dedizierte Unterstützung für IFC-Modelle (Industry Foundation Classes) über Bonsai (früher BlenderBIM) erweitert. Diese Integration ist eine Plattform, mit der LLMs IFC-Dateien lesen und bearbeiten können.
Merkmale
- IFC-spezifische Funktionalität : Abfragen von IFC-Modellen, Analysieren räumlicher Strukturen und Untersuchen von Gebäudeelementen
- Elf IFC-Tools enthalten : Projektinformationen prüfen, Entitäten auflisten, Eigenschaften untersuchen, räumliche Struktur erkunden, Beziehungen analysieren und mehr
- Sequentielles Denken : Enthält das sequentielle Denktool von modelcontextprotocol/servers für strukturierte Problemlösung
- Code-Ausführungstool aus der ursprünglichen BlenderMCP-Implementierung : Erstellen und ändern Sie Objekte, wenden Sie Materialien an und führen Sie Python-Code in Blender aus
Komponenten
Das System besteht aus zwei Hauptkomponenten:
- Blender-Addon (
addon.py
) : Ein Blender-Addon, das einen Socket-Server innerhalb von Blender erstellt, um Befehle zu empfangen und auszuführen, einschließlich IFC-spezifischer Operationen - MCP-Server (
tools.py
) : Ein Python-Server, der das Model Context Protocol implementiert und eine Verbindung zum Blender-Add-on herstellt
Installation – Über die MCP-Clienteinstellungen
Voraussetzungen
- Blender 4.0 oder neuer
- Python 3.12 oder neuer
- UV-Paketmanager
- Bonsai BIM-Add-on für Blender (für IFC-Funktionalität)
UV installieren:
Mac:
Windows:
Informationen zu anderen Plattformen finden Sie in der UV-Installationsanleitung .
Klonen Sie das Repository
Claude für Desktop-Integration
Bearbeiten Sie Ihre Datei claude_desktop_config.json
(Claude > Einstellungen > Entwickler > Konfiguration bearbeiten), um Folgendes einzuschließen:
Installation über Docker
Das Repository verfügt über eine Docker-Datei, die die Bereitstellung in verschiedenen Umgebungen einfach und konsistent macht.
Schnellstart
Sobald der Container ausgeführt wird, stellt er die MCP-Tools als REST/OpenAPI-APIs unter http://localhost:8000
bereit.
- Um Ihre Installation zu überprüfen, öffnen Sie Ihren Browser und navigieren Sie zu
http://localhost:8000/docs
- Sie sehen die Swagger-Benutzeroberfläche mit allen verfügbaren Endpunkten
- Testen Sie einen Endpunkt, indem Sie darauf klicken. Klicken Sie dann auf „Ausprobieren“ und „Ausführen“.
Herstellen einer Verbindung mit Open WebUI oder anderen API-Clients
So verbinden Sie diese API mit Open WebUI:
- Gehen Sie in Open WebUI zu Einstellungen > Tool-Server verwalten
- Fügen Sie eine neue Verbindung hinzu mit:
- URL:
http://localhost:8000
- Pfad zur OpenAPI-Spezifikation:
/openapi.json
- Authentifizierung: Keine (sofern nicht anders konfiguriert)
- URL:
Umgebungsvariablen
Der Docker-Container akzeptiert mehrere Umgebungsvariablen, um sein Verhalten anzupassen:
Installieren des Blender-Add-ons
- Laden Sie die Datei
addon.py
aus diesem Repo herunter - Öffnen Sie Blender
- Gehen Sie zu Bearbeiten > Einstellungen > Add-ons
- Klicken Sie auf „Installieren…“ und wählen Sie die Datei
addon.py
aus - Aktivieren Sie das Add-on, indem Sie das Kontrollkästchen neben „Schnittstelle: Blender MCP – IFC“ aktivieren.
Verwendung
Starten der Verbindung
- Gehen Sie in Blender zur Seitenleiste „3D-Ansicht“ (drücken Sie N, wenn sie nicht sichtbar ist).
- Suchen Sie die Registerkarte „Blender MCP – IFC“
- Klicken Sie auf „Mit Claude verbinden“
- Stellen Sie sicher, dass der MCP-Server läuft
Verwendung mit Claude
Sobald die Verbindung hergestellt ist, sehen Sie in Claudes Benutzeroberfläche ein Hammersymbol mit Tools für die Blender MCP IFC-Integration.
IFC-Werkzeuge
Dieses Repo enthält neun IFC-spezifische Tools, die eine umfassende Abfrage und Bearbeitung von IFC-Modellen ermöglichen:
get_ifc_project_info : Ruft grundlegende Informationen zum IFC-Projekt ab, einschließlich Name, Beschreibung und Anzahl der verschiedenen Entitätstypen. Beispiel: „Was sind die grundlegenden Informationen zu diesem IFC-Projekt?“
list_ifc_entities : Listet IFC-Objekte eines bestimmten Typs (Wände, Türen, Räume usw.) mit Optionen zum Einschränken der Ergebnisse und Filtern nach Auswahl auf. Beispiel: „Listet alle Wände in diesem IFC-Modell auf“ oder „Zeigt mir die Fenster in diesem Gebäude“
get_ifc_properties : Ruft alle Eigenschaften einer bestimmten IFC-Entität anhand ihrer GlobalID oder der aktuell ausgewählten Objekte ab. Beispiel: „Welche Eigenschaften hat diese Wand mit der ID 1Dvrgv7Tf5IfTEapMkwDQY?“
get_ifc_spatial_structure : Ruft die räumliche Hierarchie des IFC-Modells ab (Gelände, Gebäude, Stockwerke, Räume). Beispiel: „Zeigen Sie mir die räumliche Struktur dieses Gebäudes.“
get_ifc_relationships : Ruft alle Beziehungen für eine bestimmte IFC-Entität ab. Beispiel: „Welche Beziehungen bestehen für die Eingangstür?“
get_selected_ifc_entities : Ruft Informationen zu IFC-Entitäten ab, die den aktuell in der Blender-Benutzeroberfläche ausgewählten Objekten entsprechen. Beispiel: „Erzählen Sie mir von den Elementen, die ich in Blender ausgewählt habe.“
get_user_view : Erfasst den aktuellen Blender-Ansichtsbereich als Bild und ermöglicht so die Visualisierung des Modells aus der Benutzerperspektive. Beispiel: „Zeigen Sie mir, was der Benutzer aktuell in Blender sieht.“
export_ifc_data : Exportiert IFC-Daten in eine strukturierte JSON- oder CSV-Datei mit Filteroptionen nach Entitätstyp oder Gebäudeebene. Beispiel: „Alle Wanddaten in eine CSV-Datei exportieren“
place_ifc_object : Erstellt und positioniert ein IFC-Element im Modell an den angegebenen Koordinaten mit optionaler Drehung. Beispiel: „Platziere eine Tür an den Koordinaten X:10, Y:5, Z:0 mit 90-Grad-Drehung.“
Blender-Code ausführen
Veraltete Funktion aus der ursprünglichen MCP-Implementierung. Ermöglicht Claude, beliebigen Python-Code in Blender auszuführen. Mit Vorsicht verwenden.
Werkzeug für sequentielles Denken
Diese Integration umfasst das Sequential Thinking-Tool für strukturierte Problemlösung und Analyse. Es ermöglicht einen schrittweisen Denkprozess, der sich mit zunehmendem Verständnis verzweigen, überarbeiten und anpassen lässt – ideal für komplexe IFC-Modellanalysen oder Planungsaufgaben.
Beispiel: „Nutzen Sie sequentielles Denken, um die Energieeffizienz dieses Gebäudes anhand des IFC-Modells zu analysieren.“
Beispielbefehle
Hier sind einige Beispiele dafür, was Sie Claude mit IFC-Modellen tun lassen können:
- „Analysieren Sie dieses IFC-Modell und sagen Sie mir, wie viele Wände, Türen und Fenster es hat.“
- „Zeigen Sie mir die räumliche Struktur dieses Gebäudemodells“
- „Alle Räume in diesem IFC-Modell und ihre Eigenschaften auflisten“
- „Identifizieren Sie alle Strukturelemente in diesem Gebäude“
- „Welche Beziehungen bestehen zwischen dieser Wand und anderen Elementen?“
- „Nutzen Sie sequentielles Denken, um einen Wartungsplan für dieses Gebäude basierend auf dem IFC-Modell zu erstellen.“
Fehlerbehebung
- Verbindungsprobleme : Stellen Sie sicher, dass der Blender-Add-On-Server läuft und der MCP-Server in Claude konfiguriert ist.
- IFC-Modell wird nicht geladen : Stellen Sie sicher, dass Sie das Bonsai BIM-Add-on installiert haben und dass eine IFC-Datei geladen ist
- Timeout-Fehler : Versuchen Sie, Ihre Anfragen zu vereinfachen oder in kleinere Schritte aufzuteilen
Docker:
- Fehler „Verbindung abgelehnt“ : Stellen Sie sicher, dass Blender ausgeführt wird und das Add-on aktiviert ist, während der Server gestartet ist
- CORS-Probleme : Die API hat CORS standardmäßig für alle Ursprünge aktiviert. Wenn Probleme auftreten, überprüfen Sie die CORS-Einstellungen Ihres Clients.
- Leistungsbedenken : Bei großen IFC-Modellen können die API-Antworten langsamer sein. Erwägen Sie die Anpassung der Timeouts in Ihrem Client.
Technische Details
Die IFC-Integration nutzt das Bonsai BIM-Modul, um auf die ifcopenshell-Funktionalität in Blender zuzugreifen. Die Kommunikation erfolgt über dasselbe JSON-basierte Protokoll über TCP-Sockets wie das ursprüngliche BlenderMCP.
Einschränkungen und Sicherheitsüberlegungen
- Das Tool
execute_blender_code
aus dem Originalprojekt ist weiterhin verfügbar und ermöglicht die Ausführung beliebigen Python-Codes in Blender. Verwenden Sie es mit Vorsicht und speichern Sie Ihre Arbeit immer. - Bei komplexen IFC-Modellen kann es erforderlich sein, Vorgänge in kleinere Schritte aufzuteilen.
- Die Leistung der IFC-Abfrage hängt von der Größe und Komplexität des Modells ab.
- Das Tool „Benutzeransicht abrufen“ gibt ein Base64-codiertes Bild zurück. Bitte stellen Sie sicher, dass der Client dies unterstützt.
Beiträge
Dieses MIT-lizenzierte Repo kann geforkt, modifiziert und auf jede erdenkliche Weise verwendet werden. Ich bin offen für Ideen und Kooperationen. Zögern Sie also nicht, mich für Beiträge zu kontaktieren.
Credits
- Original BlenderMCP von Siddharth Ahuja
- Sequential Thinking-Tool von modelcontextprotocol/servers
- IFC-Integration basierend auf dem Bonsai BIM-Add-on für Blender
ZU TUN
Integration und Tests mit mehreren MCP-Clients
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 Claude in Blender integriert und es Benutzern ermöglicht, IFC-Gebäudemodelle (Industry Foundation Classes) über natürliche Sprachbefehle zu analysieren und mit ihnen zu interagieren.
- Merkmale
- Komponenten
- Installation – Über die MCP-Clienteinstellungen
- Installation über Docker
- Schnellstart
- Installieren des Blender-Add-ons
- Verwendung
- IFC-Werkzeuge
- Blender-Code ausführen
- Werkzeug für sequentielles Denken
- Beispielbefehle
- Fehlerbehebung
- Technische Details
- Einschränkungen und Sicherheitsüberlegungen
- Beiträge
- Credits
- ZU TUN
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that allows management and execution of Blender Python scripts, enabling users to create, edit and run scripts in a headless Blender environment through natural language interfaces.Last updated -4Python
- AsecurityFlicenseAqualityA starter template for building Model Context Protocol servers that can be integrated with Cursor or Claude Desktop, allowing developers to create custom tools and extensions for AI assistants.Last updated -169TypeScript
- -securityFlicense-qualityA Model Context Protocol server that bridges AI assistants like Claude with Wordware's specialized agent capabilities, allowing dynamic loading and access to any Wordware flow through a standardized interface.Last updated -Python
- -securityAlicense-qualityA Model Context Protocol server that enables interaction with Foundry tools through natural language, allowing users to create projects, build contracts, run tests, and manage Ethereum development environments.Last updated -1PythonMIT License