Skip to main content
Glama
bimq

bimq

by aec-platform

Distinct property values

bim_property_values
Read-only

Lists each distinct value of a BIM property with counts and example GlobalIds, so you can see actual model spellings before filtering elements by that property.

Instructions

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.

Input Schema

NameRequiredDescriptionDefault
psetNoRestrict to this property set.
typeNoEntity type, e.g. IfcDoor. Subtypes included by default.
storeyNoStorey name or GlobalId. Substring match on the name.
propertyYesProperty name to tabulate.
name_containsNoCase-insensitive substring of the element name.
include_missingNoInclude a row for elements with no value.
predefined_typeNoPredefinedType / surfaceType value, e.g. FIRE_RATED.
include_subtypesNoMatch subtypes of `type`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint/openWorldHint=false; the description adds genuinely non-obvious behavior — that real models spell the same concept inconsistently across property sets, which is exactly why the tool exists. It also discloses the return shape (each distinct value, a count, up to three example GlobalIds). It doesn't discuss cost/performance on large models, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the motivating question, then the sequencing instruction, then the return shape — each sentence carries distinct information. The fire-rating example is concrete and earns its space as the justification for existence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description supplies the return format (value + count + sample GlobalIds) and the core motivation, which is enough to call it correctly. It doesn't cover interaction between flags like include_missing/include_subtypes or behavior on very large models, but nothing critical is missing for a read-only tabulation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all eight parameters are documented there (pset, type, storey, property, name_contains, include_missing, predefined_type, include_subtypes). The description adds no parameter-level meaning beyond 'this field', so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a concrete question the tool answers ('What values does this field actually take?') and names the resource (distinct property values with counts and sample GlobalIds). It explicitly distinguishes itself from the sibling bim_elements_by_property, so an agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly prescribes sequencing: 'Run this before elements_by_property rather than guessing.' That is a clear when-to-use plus a named alternative. It stops short of stating when *not* to use it (e.g., for absent values, where bim_elements_missing_property may fit), so it is strong but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.