ifc-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ifc-mcpload the IFC file 'office.ifc' from my desktop"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
IFC MCP Server
An MCP (Model Context Protocol) server that enables AI agents to understand and query IFC (Industry Foundation Classes) building model files. This server exposes a rich set of tools for loading IFC files, traversing spatial hierarchies, inspecting elements and properties, querying materials and quantities, and retrieving geometry bounding boxes — allowing AI assistants like Claude to reason about building information models without requiring the user to manually extract data.
Installation
From PyPI (recommended)
pip install ifc-mcp
# or with uv:
uv tool install ifc-mcpClaude Desktop config (no path needed):
{
"mcpServers": {
"ifc": {
"command": "uvx",
"args": ["ifc-mcp"]
}
}
}To update
uv tool upgrade ifc-mcpOr pin to a specific version:
"args": ["ifc-mcp==0.2.0"]Skip permission prompts (Claude Code)
Add the tools to your ~/.claude/settings.json so Claude Code never asks for confirmation:
{
"permissions": {
"allow": [
"mcp__ifc__load_ifc_file",
"mcp__ifc__list_loaded_models",
"mcp__ifc__unload_ifc_file",
"mcp__ifc__get_spatial_structure",
"mcp__ifc__get_element_containment",
"mcp__ifc__get_elements_by_type",
"mcp__ifc__get_element_by_id",
"mcp__ifc__search_elements",
"mcp__ifc__get_property_sets",
"mcp__ifc__get_quantities",
"mcp__ifc__get_material",
"mcp__ifc__get_model_statistics",
"mcp__ifc__get_bounding_box",
"mcp__ifc__get_element_placement",
"mcp__ifc__get_element_local_bbox",
"mcp__ifc__get_element_body_mapping",
"mcp__ifc__get_property_sets_detail",
"mcp__ifc__get_element_by_label",
"mcp__ifc__get_representation",
"mcp__ifc__get_elements_batch"
]
}
}Related MCP server: OpenStudio MCP Server
Development Setup
Prerequisites: Python 3.11+, uv
git clone <repo>
cd IfcMcp
uv sync
uv run pytest # verify all tests passClaude Desktop config for local dev:
{
"mcpServers": {
"ifc": {
"command": "uv",
"args": ["run", "python", "server.py"],
"cwd": "/absolute/path/to/IfcMcp"
}
}
}On Windows, use double backslashes: "cwd": "C:\\Users\\...\\IfcMcp"
Tools Reference
Every tool (except list_loaded_models) requires a model_id — the value returned by load_ifc_file.
Tool | Parameters | Description |
|
| Load an IFC file; returns |
| — | List all models in memory |
|
| Free a loaded model |
|
| Full spatial hierarchy (Project→Site→Building→Storey→Space) |
|
| Full containment chain up to Site |
|
| Paginated list by IFC type |
|
| Full element details (includes |
|
| Look up element by integer STEP label ( |
|
| Batch query; |
|
| Filter elements by type/name/pset/property |
|
| All Psets for an element |
|
| Psets split by instance-level vs type-level |
|
| All quantity sets for an element |
|
| Material info (name, layers, category) |
|
| Element counts by type, storey names, schema |
|
| Min/max XYZ bounding box in world coordinates |
|
|
|
|
| Bounding box in element's local coordinate frame |
|
| Body mapping matrix, world transform, mirroring detection |
|
| Representation structure without tessellating geometry |
MCP Resource
Each loaded model exposes a pre-computed summary resource:
ifc://model/{model_id}/summaryThis resource is computed at load time and contains the project name, IFC schema version, element counts by type, and storey names. It gives AI agents a fast overview of a model without issuing individual tool calls.
Error Responses
All tools return structured error objects. Common codes:
{"error": "element_not_found", "details": "..."}
{"error": "model_not_loaded", "details": "..."}
{"error": "geometry_unavailable", "details": "..."}
{"error": "file_not_found", "details": "..."}
{"error": "load_failed", "details": "..."}
{"error": "query_failed", "details": "..."}This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to create, validate, and manage buildingSMART IDS (Information Delivery Specification) files with 100% compliance to the IDS 1.0 standard using IfcOpenShell's IfcTester library.Last updated1726MIT
- Alicense-qualityFmaintenanceEnables AI assistants to interact with OpenStudio building energy models through natural language, allowing users to load, inspect, and manipulate OSM files including building geometry, HVAC systems, materials, schedules, and internal loads.Last updated10MIT
- AlicenseCqualityDmaintenanceEnables AI assistants to create, edit, and export IFC5/IFCX building information models through natural language, handling spatial structure, elements, geometry, metadata, validation, and export.Last updated731318Apache 2.0
- Flicense-qualityDmaintenanceEnables AI assistants to query standardized building classifications, properties, and data dictionaries from buildingSMART for BIM model enrichment.Last updated3
Related MCP Connectors
Convert Revit files to XKT, IFC, or DWG and query BIM data via natural language.
DXF drawings for AI agents: structured facts, PNG renders, and an interactive in-chat viewer.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/WolfzTech/Ifc-Mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server