bimq
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bim_element_detailA | The drill-down half of the loop: list queries return compact rows, and this expands named GlobalIds into every property set, quantity and material. Ids that are not returned are reported in |
| bim_elements_by_propertyA | Find elements whose property matches a condition, e.g. fire-rated doors on level 3: type=IfcDoor, storey=Level 3, property=FireRating, op=exists.
|
| bim_elements_by_typeA | List elements of an IFC type, optionally narrowed by storey, name or
PredefinedType. Subtypes are included by default, so |
| bim_elements_missing_materialA | Elements that no IfcRelAssociatesMaterial reaches — through a plain material, a
material list, a layer set, a profile set or a constituent set, all of which are
resolved before the check. Restrict with |
| bim_elements_missing_propertyA | The inverse of elements_by_property, and the one most model-audit questions reduce to: which elements of this type have no value for this field? An empty string counts as missing by default, because exporters write one for "not filled in" as often as they omit the property entirely. |
| bim_model_summaryA | Schema, authoring application, units, storeys, and the element counts by type — of the visible model, after policy. Cheap, bounded, and the right first call: it tells an agent which types and property sets exist before it starts guessing names at them. |
| bim_property_valuesA | What values does this field actually take? Run this before elements_by_property rather than guessing: it is how you learn that the model spells fire ratings "EI60", "60 min" and "60" in three different property sets, which no amount of schema documentation will tell you. Returns each distinct value with a count and up to three example GlobalIds. |
| bim_quantity_rollupA | Total a named quantity (NetSideArea, GrossVolume, Length, ...) over a selection, grouped by type, storey or PredefinedType. Lengths, areas and volumes are already converted to m, m2 and m3. Every group reports |
| bim_spaces_by_areaA | Spaces whose floor area falls inside a range, e.g. "rooms below the 8 m2 minimum". Areas are reported in square metres after unit conversion, so the threshold means the same thing on a model authored in millimetres and one authored in feet. Quantity names are tried in order: the explicit |
| bim_spatial_treeA | The containment hierarchy, which is the map an agent needs before it can ask anything storey-shaped: it turns "level 3" into a GlobalId. Element counts are counts of visible elements, so a policy that scopes the model to two storeys shows zero elsewhere rather than hinting at what it is hiding. |
| bim_citeA | Return the original file text behind a GlobalId: the STEP line that declares it, verbatim. Use it to verify a claim before repeating it, and when a reviewer asks where a number came from. |
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 11 tools
Each tool maps to a distinct IFC query or audit operation: model discovery, typed/property selection, missing-data filters, detail expansion, aggregation, spatial lookup, and raw citation. The element-query family shares a resource but the filters and inverses are clearly separated, so misselection risk is low.
All 11 names use a uniform snake_case `bim_` prefix and predictable resource/action phrasing such as `elements_by_*`, `missing_*`, and `*_rollup`. The singular `bim_element_detail` versus plural `bim_elements_*` reads naturally rather than inconsistently.
11 tools fit the scope of an IFC/BIM inspection server: a small discovery set, a coherent element-query family, and specialized aggregation, spatial, and citation tools. There is no obvious filler or missing basic operation that would require extra tools.
The surface covers discovery, filtering, missing-data audits, quantity aggregation, spatial containment, and source citation, which is strong for a read-only BIM query server. Minor gaps remain around reverse material queries and richer relationship/containment queries, but most audit workflows are covered or workable through detail expansion.