MCP server for IFC4.3 specification reference - search and retrieve IFC entity definitions, attributes, inheritance, and PropertySets
Four well-defined tools with consistent naming patterns (all prefixed with 'ifc_'), comprehensive parameter schemas using JSON Schema with types and descriptions, and clear tool descriptions. All tools are READ_ONLY with no destructive operations. Parameters include proper constraints (enums, min/max, length limits). Descriptions are 150-200+ characters, well above the 10-char minimum. Output schemas are implicitly documented through response_format parameters (markdown/json). However, no explicit output schema documentation in visible code, and no tool annotations (readOnlyHint, etc.) visible in registration. Error handling not explicitly documented in source. All tools follow single-responsibility principle focused on IFC specification reference queries.
Get the complete definition of an IFC4.3 entity including attributes, inheritance, WHERE rules, and description. Returns the entity's structural definition from the EXPRESS schema merged with the Markdown documentation.
Get the inheritance hierarchy of an IFC4.3 entity. Shows ancestor chain (supertypes up to IfcRoot) and/or descendant tree (subtypes).
Get or search IFC4.3 PropertySet definitions. In 'get' mode, retrieves the full definition of a named PropertySet including individual property names, data types, and IFC type mappings. In 'search' mode, searches PropertySets by keyword.
Search IFC4.3 entities by name or description keyword. Returns matching entities with their name, layer, schema, and short definition. Supports partial name matching and description text search.
Tool annotations (readOnlyHint, destructiveHint, idempotentHint) not visible in source code. Tools are READ_ONLY but hint not explicitly declared in registration.
Output schemas not explicitly documented in visible source. While response_format parameter indicates markdown/json output, the actual schema structure (which fields, types, required) is not visible in parameter definitions or tool documentation.
Error handling and recovery guidance not documented in tool descriptions. Users/LLMs don't know what to do if a query returns no results, or what 'cannot answer' means vs. true non-existence.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
ifc_get_propertyset 'mode' parameter dual behavior (get vs search) with mode='get' as default could be clearer. Consider whether this should be two separate tools (get_propertyset / search_propertysets) to avoid mode confusion.