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 ( : 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 ( : 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)
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
ausAktivieren 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
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
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
- -securityAlicense-qualityA Model Context Protocol server that allows Claude to interact with Linear's API for managing teams, issues, projects, and cycles.Last updated -1,4542MIT License
- -securityFlicense-qualityA Model Context Protocol server that enables Claude AI to interact directly with SketchUp, allowing for automated 3D modeling, woodworking joint creation, and component manipulation through natural language commands.
- AsecurityFlicenseAqualityA Model Context Protocol server that allows integration with Claude Desktop by creating and managing custom tools that can be executed through the MCP framework.Last updated -31
- AsecurityAlicenseAqualityA Model Context Protocol server that enables Claude to interact directly with Unity projects, providing tools for script creation, asset management, and project building.Last updated -156MIT License