bSDD MCP Server
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bsdd_list_dictionariesA | List available bSDD dictionaries (IFC, ETIM, UniClass, etc.). Use to discover classification systems and their URIs. |
| bsdd_get_dictionary_classesA | Get the class hierarchy of a bSDD dictionary. Use to browse IFC classes, ETIM product groups, etc. |
| bsdd_get_classB | Get full details of a bSDD class (e.g. IfcWall, IfcDoor) including its properties, relations, and child classes. Essential for BIM enrichment. |
| bsdd_search_classesB | Search for classes across bSDD dictionaries by keyword. Use to find IFC classes, ETIM groups, or any classification. |
| bsdd_get_class_propertiesA | Get the paginated list of properties for a bSDD class, including data types, units, and allowed values. Use to know what properties a BIM element should have. |
| bsdd_get_class_relationsA | Get relationships between a class and other classes (parent, child, has-part, similar-to). Useful for cross-referencing between IFC, ETIM, UniClass, etc. |
| bsdd_get_propertyA | Get full details of a bSDD property: data type, unit, allowed values, connected property sets. Use to understand what a BIM property means and what values it accepts. |
| bsdd_get_property_classesA | Find which bSDD classes use a given property. Useful to understand where a property like 'FireRating' or 'AcousticRating' applies. |
| bsdd_text_searchA | Free-text search across all bSDD content (classes, properties, dictionaries). Optionally filter by dictionary URIs. Use for broad discovery queries like 'fire resistance', 'acoustic', 'thermal conductivity'. |
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 9 tools
Most tools have distinct purposes, but there is some overlap: get_class includes properties and relations, which could be confused with the dedicated get_class_properties and get_class_relations tools. Also, search_classes and text_search both support searching, though descriptions clarify the scope difference.
The common bsdd_ prefix and mostly verb_noun pattern (list, get, search) make the set predictable. However, bsdd_text_search breaks the pattern by putting the noun before the verb, and 'list' vs 'get' verbs are used inconsistently (e.g., list_dictionaries vs get_dictionary_classes).
With 9 tools, the server is well-scoped for a domain-specific read-only dictionary service. Each tool covers a distinct aspect of browsing and searching bSDD data without unnecessary bloat.
The tool surface is comprehensive for read-only access: dictionary discovery, class hierarchy, class details, properties, relations, property reverse lookup, and free-text search are all covered. Minor gaps include lack of dictionary-level metadata retrieval (e.g., versions, languages) and property-specific search, but these are not critical.