Skip to main content
Glama
bSDD MCP Server

bSDD MCP Server

bSDD MCP Server

MCP server for the buildingSMART Data Dictionary (bSDD) API. Enables AI assistants like Claude to query standardized building classifications, properties, and data dictionaries for BIM model enrichment.

bSDD + Claude Desktop Node.js License

What is bSDD?

The buildingSMART Data Dictionary is an online service that hosts classifications and their properties, allowed values, units, translations, and relations. It provides a standardized way to describe building elements across multiple classification systems like IFC, ETIM, UniClass, OmniClass, and many more.

Related MCP server: IFCX MCP

Features

This MCP server exposes 9 tools to query the bSDD API:

Tool

Description

bsdd_list_dictionaries

List available dictionaries (IFC, ETIM, UniClass, etc.)

bsdd_get_dictionary_classes

Browse class hierarchy of a dictionary

bsdd_get_class

Get full class details with properties and relations

bsdd_search_classes

Search classes by keyword across dictionaries

bsdd_get_class_properties

Get properties of a class (data types, units, allowed values)

bsdd_get_class_relations

Get relationships between classes

bsdd_get_property

Get property details (type, unit, constraints)

bsdd_get_property_classes

Find which classes use a given property

bsdd_text_search

Free-text search across all bSDD content

No API key required — the bSDD public read endpoints are used.

Installation

Prerequisites

Setup

  1. Clone the repository

git clone https://github.com/JardiMargalefAgusti/bSDD-mcp.git
cd bSDD-mcp
  1. Install dependencies

npm install
  1. Build

npm run build
  1. Configure Claude Desktop

Open Claude Desktop settings: Settings → Developers → Edit Config

Add the following entry inside "mcpServers":

{
  "mcpServers": {
    "bSDD": {
      "command": "node",
      "args": ["/absolute/path/to/bSDD-mcp/build/index.js"]
    }
  }
}

Replace /absolute/path/to/bSDD-mcp with the actual path where you cloned the repository.

Windows example:

"args": ["C:\\Users\\youruser\\bSDD-mcp\\build\\index.js"]

macOS/Linux example:

"args": ["/Users/youruser/bSDD-mcp/build/index.js"]
  1. Restart Claude Desktop

The 9 bsdd_* tools should now appear in your tool list.

Usage Examples

Once connected, you can ask Claude things like:

  • "List all available bSDD dictionaries"

  • "What properties should an IfcWall have according to IFC 4.3?"

  • "Search bSDD for fire resistance properties"

  • "Get the class definition of IfcDoor with its property sets"

  • "Which IFC classes use the AcousticRating property?"

  • "Show me the ETIM classification for electrical panels"

  • "What are the allowed values for the FireRating property?"

BIM Enrichment Workflows

This server is designed to work alongside other BIM-related MCP servers:

bSDD + IFC Viewer (BIM-Builder)

  1. Query bSDD for standard properties of an IFC class

  2. Check which properties are missing in your loaded IFC model

  3. Create PropertySets and add standardized properties

bSDD + Revit (FlowRun)

  1. Search bSDD for classification codes and required properties

  2. Generate shared parameters in Revit

  3. Assign standardized values by category/type

Project Structure

bSDD-mcp/
├── src/
│   ├── index.ts              # MCP server entry point (stdio transport)
│   ├── bsdd-client.ts        # HTTP client for bSDD REST API
│   ├── tools/
│   │   ├── dictionaries.ts   # Dictionary browsing tools
│   │   ├── classes.ts        # Class lookup, search, properties, relations
│   │   ├── properties.ts     # Property details and reverse-lookup
│   │   └── search.ts         # Free-text search
│   └── types/
│       └── bsdd.ts           # TypeScript interfaces for API responses
├── package.json
├── tsconfig.json
└── build/                    # Compiled JavaScript (generated)

API Reference

This server uses the bSDD REST API:

  • Base URL: https://api.bsdd.buildingsmart.org

  • Authentication: None required (public read access)

  • Documentation: bSDD API docs

License

MIT

Available Tools

9 tools
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.

Inputs: uri (required), languageCode, includeChildren, includeRelations, +1 more.

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.

Inputs: classUri (required), limit, offset, languageCode.

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.

Inputs: classUri (required), limit, offset.

bsdd_get_dictionary_classesA

Get the class hierarchy of a bSDD dictionary. Use to browse IFC classes, ETIM product groups, etc.

Inputs: uri (required), limit, offset, languageCode.

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.

Inputs: uri (required), languageCode.

bsdd_get_property_classesA

Find which bSDD classes use a given property. Useful to understand where a property like 'FireRating' or 'AcousticRating' applies.

Inputs: propertyUri (required), limit, offset.

bsdd_list_dictionariesA

List available bSDD dictionaries (IFC, ETIM, UniClass, etc.). Use to discover classification systems and their URIs.

Inputs: limit, offset.

bsdd_search_classesB

Search for classes across bSDD dictionaries by keyword. Use to find IFC classes, ETIM groups, or any classification.

Inputs: searchText (required), limit, offset, languageCode, +2 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

    TDQS

    A3.8/5.0

    Scored across 9 tools

    Disambiguation4/5

    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.

    Naming Consistency4/5

    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).

    Tool Count5/5

    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.

    Completeness4/5

    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.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables AI assistants to interact with Autodesk Revit to query project data, manage elements, and execute generated code via the Model Context Protocol. It provides full compatibility with GitHub Copilot and Claude to automate BIM modeling workflows.
      13
      58 npm
      MIT
    • A
      license
      C
      quality
      D
      maintenance
      Enables AI assistants to create, edit, and export IFC5/IFCX building information models through natural language, handling spatial structure, elements, geometry, metadata, validation, and export.
      73
      14 npm
      26
      Apache 2.0
    • A
      license
      A
      quality
      D
      maintenance
      Enables AI agents to load, query, and analyze IFC building model files, including spatial structures, elements, properties, materials, and geometry.
      20
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      AI-powered BIM tool that connects Claude to a Revit file conversion and BIM query service, enabling users to convert .rvt files to XKT, IFC, and DWG, and explore building elements through natural language.
      1
      MIT