bsdd-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BSDD_TIMEOUT_MS | No | Per-request timeout | 30000 |
| BSDD_USER_AGENT | No | User-Agent sent to bSDD | bsdd-mcp/<version> |
| BSDD_MAX_RETRIES | No | Retries on HTTP 429 / 5xx | 3 |
| BSDD_API_BASE_URL | No | Point at another bSDD instance | https://api.bsdd.buildingsmart.org |
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 the dictionaries (classification systems, e.g. IFC, ETIM, Uniclass) published in bSDD. Start here to discover the dictionary URIs the other tools need. |
| bsdd_list_dictionary_classesA | List the classes of one dictionary, optionally filtered by text, class type or related IFC entity. Use this to browse a dictionary; use bsdd_search_classes to search across dictionaries. |
| bsdd_list_dictionary_propertiesA | List the properties defined by one dictionary, optionally filtered by text. |
| bsdd_search_classesA | Free-text search for classes across all bSDD dictionaries, including IFC. This is the best starting point for questions like "which class describes a wall?". |
| bsdd_search_textA | Free-text search returning both classes and properties. Pagination is shared: classes are listed first, properties after them. Note that the IFC dictionary is only included when includePreview is true (the default here); use bsdd_search_classes for class-only searches. |
| bsdd_get_classA | Get the details of one class: definition, class type, related IFC entities and (optionally) child classes and relations. Properties are fetched separately with bsdd_get_class_properties. |
| bsdd_get_class_propertiesA | List the properties assigned to a class, with their data type, units, allowed values and property set. Use this instead of the deprecated IncludeClassProperties option of bsdd_get_class. |
| bsdd_get_class_relationsA | List the relations of a class (e.g. IsEqualTo, HasMaterial, IsParentOf) or, with reverse=true, the classes that point at it. Useful for mapping between dictionaries. |
| bsdd_get_propertyA | Get the details of one property: data type, units, allowed values, description and related properties. |
| bsdd_get_property_classesA | List the classes that use a given property. |
| bsdd_get_property_valueA | Get the details of a single property value (an item of an enumeration), by its URI. |
| bsdd_list_reference_dataA | List one of the bSDD reference lists: countries, languages, units (with QUDT URIs) or reference documents. These are the allowed values for the corresponding fields on classes and properties. |
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 12 tools
Each tool targets a distinct resource-action combination: list vs search vs get, and each resource (dictionaries, classes, properties, relations, reference data) has a single clear purpose. The search tools are differentiated by scope (classes-only vs classes+properties), and listing tools specify whether they are scoped to a dictionary.
All tools follow the bsdd_<verb>_<noun> pattern, with verbs limited to list, search, and get. The noun phrases are consistently compound structures (e.g., dictionary_classes, class_properties, property_value), making the naming predictable and uniform.
12 tools is well-scoped for a read-only dictionary API, covering the core entities (dictionaries, classes, properties, relations, reference data) without redundancy or fragmentation. Each tool earns its place.
The tool set provides comprehensive read access to bSDD: dictionary discovery, class/property browsing and search, detailed entity retrieval, relations, property values, and reference data. No significant gaps exist for the stated purpose of reading the dictionary.