Bonsai MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_scene_infoA | [QUERY] Return a summary of the current Blender scene (scene name, object count, selection, collections, IFC availability). When |
| get_selected_objectsA | [QUERY] Return name, type, location, dimensions, and (if available) IFC class and GlobalId for each currently selected object. |
| get_psetsA | [QUERY] Return IFC property sets (psets) and quantity sets (qtos) for one or more objects. Accepts any mix of |
| get_viewport_screenshotA | [QUERY] Capture the Blender 3D viewport and return the image inline. Optionally aim the viewport first: |
| get_ifc_project_infoA | [QUERY] Return IFC schema, project name, counts of sites/buildings/storeys, counts of common IFC entities, and material and classification summaries. Returns a clear error if no IFC project is loaded. |
| execute_ifc_codeA | [EDIT] PREFERRED code execution tool. Runs IfcOpenShell / Bonsai API code with a pre-injected IFC namespace. bpy access is BLOCKED; use execute_blender_code only when you genuinely need Blender operations (viewport, rendering, object transforms). Pre-injected variables: |
| execute_blender_codeA | [EDIT] Run arbitrary Python code inside Blender with full bpy access. Use ONLY when you need Blender-specific operations (viewport manipulation, rendering, object transforms, modifiers). For IFC/BIM data operations, ALWAYS prefer execute_ifc_code. LOCAL TRUSTED USE ONLY. |
| save_ifc_fileA | [EDIT] Save the loaded IFC model. With no arguments it saves the project back to its own file (in-place, like File > Save IFC). Pass |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose. execute_blender_code and execute_ifc_code are explicitly differentiated for Blender vs. IFC operations. The query tools (get_ifc_project_info, get_psets, get_scene_info, get_selected_objects) and save_ifc_file are non-overlapping.
All tool names follow a consistent verb_noun pattern (execute_, get_, save_). The naming clearly indicates action and target, making the set predictable for an agent.
With 8 tools covering code execution, queries, screenshots, and saving, the count is well-scoped for a BIM integration server. Each tool earns its place without redundancy or unnecessary complexity.
The tool surface covers core workflows: executing custom code (both Blender and IFC), querying project info and properties, capturing viewport, and saving. Minor gaps exist (e.g., no dedicated tool for creating/deleting entities), but these can be handled via execute_ifc_code.