openbim
Model Context Protocol (MCP) server for openBIM
claude mcp add --transport stdio helenkwok-openbim-mcp node main.ts
How to use
The openbim MCP server provides a workflow for working with Building Information Modeling (BIM) data by converting IFC files to an efficient fragment format, loading those fragments into memory, and querying BIM elements by category. It exposes three core tools: convert-ifc-to-frag, load-frag, and fetch-elements-of-category. You can first convert an IFC file to a .frag fragment with convert-ifc-to-frag, then load the resulting fragment using load-frag, and finally fetch elements by a specified IFC category (for example walls, doors, or windows) with configurable attribute and relation options. This enables efficient querying of BIM elements and their relationships within a fragment-based pipeline.
Usage flow:
- Convert: Run convert-ifc-to-frag with an input IFC file path and a desired output fragment path.
- Load: Use load-frag to load the produced .frag file into memory for subsequent queries.
- Query: Call fetch-elements-of-category with a category like IFCWALL, IFCDOOR, or IFCWINDOW and a config object that selects attributes and relations to include in the results. Options such as attributesDefault, attributes, and relations (HasAssociations, IsDefinedBy) tailor the returned data to your needs.
The server supports common BIM querying tasks such as retrieving elements by category and accessing their attributes and relational context, enabling integration with downstream workflows or visualization tools.
How to install
Prerequisites:
- Node.js (LTS) installed and available in your PATH
- Git to clone the repository
- Basic familiarity with npm/pnpm if you choose to install dependencies locally
Step-by-step:
-
Clone the repository: git clone https://github.com/@helenkwok/openbim-mcp.git cd openbim-mcp
-
Install dependencies (choose your package manager):
- Using pnpm (recommended): pnpm install
- Using npm: npm install
-
Run the server: node main.ts
-
(Optional) Configure environment variables if needed for your environment (e.g., port, data paths).
Notes:
- The project relies on @modelcontextprotocol/sdk and related libraries; ensure network access for npm install and the ability to compile any native dependencies if required.
Additional notes
Tips and considerations:
- If you plan to expose the server to external clients, consider configuring an appropriate port and enabling authentication as needed for your environment.
- The fragment processing relies on web-ifc and the fragment library; ensure your system meets any platform-specific build requirements for those dependencies.
- When using Claude Desktop or similar clients, you can wrap the local MCP server in the standard MCP server JSON configuration to streamline integration.
- If you encounter memory issues while loading large fragments, monitor memory usage and consider loading smaller fragments or streaming results where supported.
- The supported BIM categories include common IFC entities such as IFCWALL, IFCDOOR, IFCWINDOW, IFCSLAB, IFCBEAM, IFCCOLUMN, and IFCSPACE; you can extend queries by adjusting the fetch-elements-of-category config to include additional attributes and relations.
Related MCP Servers
iterm
A Model Context Protocol server that executes commands in the current iTerm session - useful for REPL and CLI assistance
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management
editor
MCP Server for Phaser Editor
DoorDash
MCP server from JordanDalton/DoorDash-MCP-Server
mcp
MCP сервер для автоматического создания и развертывания приложений в Timeweb Cloud