Labsco
MCP SERVER

Bonsai MCP

by JotaDeRodriguez

Query and edit IFC building models loaded in Blender - spatial structure, properties, quantities, drawings and construction budgets.

3D, CAD & Game Engines
Summary
Goes past inspection into the deliverables an architect actually owes someone.

Reading an IFC model is where most of these stop. Exporting a floor plan as a PNG, and generating a BC3 budget with elements categorised, measured by the right metric and priced from a customisable table, is a different class of output - it produces the document, not just the answer. The unit prices and category mappings are JSON files you can edit for your region.

What it is

A fork of BlenderMCP focused on IFC. A Blender addon opens a socket inside Blender; the MCP server talks to it, reaching the IFC model through the Bonsai BIM addon and ifcopenshell.

What you get
  • Project overview - name, description and entity counts - and entity listings filtered by type or by what is selected in Blender
  • All properties of an entity by its GlobalId, its relationships, and the spatial hierarchy from site down to spaces
  • Quantities - areas, volumes - for elements, filtered by type or selection
  • The complete structure combining spatial hierarchy with the building elements inside each container
  • The current Blender viewport captured as an image, so the model can be looked at as well as queried
  • Export of IFC data to JSON or CSV, high-resolution PNG plan and 3D drawings, and a BC3 construction budget in the Spanish FIEBDC standard
  • Georeferencing read back, and coordinate reference systems written into the model
  • Sequential thinking for stepwise analysis, and the original arbitrary-Python-in-Blender tool
Requirements

Blender 4.0 or newer with the Bonsai BIM addon and an IFC file loaded, Python 3.12 or newer, and uv. Install the repository's addon.py into Blender, enable it, and start the connection from the 3D View sidebar before the tools will work. A Dockerfile is provided that exposes the same tools as a REST and OpenAPI service on port 8000 for clients that are not MCP. The arbitrary code execution tool inherited from the original project is still present - it runs any Python inside Blender, so save your work.

Setup effort

Build from source — clone the repository and build it, then point your client at the binary