bim-portal-mcp

razbakov/bim-portal-mcp

3.3

If you are the rightful owner of bim-portal-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The BIM MCP Server is a comprehensive Model Context Protocol server implemented in TypeScript, providing access to the German BIM Portal REST API.

Tools
5
Resources
0
Prompts
0

BIM MCP Server

A comprehensive Model Context Protocol (MCP) server implemented in TypeScript that provides access to the German BIM Portal REST API.

Features

  • Organizations: Manage and query organizations
  • Properties: Search and retrieve building properties and property groups
  • LOINs: Access Level of Information Need definitions
  • Domain Models: Work with domain-specific models
  • Context Information: Retrieve construction context data
  • AIA Templates & Projects: Access AIA (Auftraggeber-Informations-Anforderungen) resources
  • Filters: Global filtering capabilities
  • Export Capabilities: PDF, XML, OpenOffice, OKSTRA formats

Setup

Prerequisites

  1. Get your BIM Portal credentials by registering at https://via.bund.de/bim
  2. Install Node.js and npm

Adding to Cursor

  1. Open Cursor Settings (Cmd/Ctrl + ,)
  2. Search for "MCP" in settings
  3. Click "Edit in settings.json" next to "Mcp: Servers"
  4. Add the BIM Portal MCP server configuration:
{
  "mcpServers": {
    "bim-portal": {
      "command": "npx",
      "args": ["-y", "bim-portal-mcp"],
      "env": {
        "BIM_EMAIL": "your-bim-portal-email@example.com",
        "BIM_PASSWORD": "your-bim-portal-password"
      }
    }
  }
}
  1. Save the settings file
  2. The BIM Portal tools will now be available in your AI conversations

Adding to Claude Desktop

  1. Locate your Claude Desktop configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Edit the configuration file and add the MCP server:

{
  "mcpServers": {
    "bim-portal": {
      "command": "npx",
      "args": ["-y", "bim-portal-mcp"],
      "env": {
        "BIM_EMAIL": "your-bim-portal-email@example.com",
        "BIM_PASSWORD": "your-bim-portal-password"
      }
    }
  }
}
  1. Save the file
  2. Restart Claude Desktop
  3. The BIM Portal tools will be available in your conversations

Available Tools

Organization Tools
  • bim_get_organizations: Get all available organizations
  • bim_get_my_organizations: Get user's organizations
Property Tools
  • bim_search_properties: Search for properties with filters
  • bim_get_property: Get specific property by GUID
  • bim_search_property_groups: Search for property groups
  • bim_get_property_group: Get specific property group by GUID
  • bim_get_global_filters: Get all global property filters
LOIN Tools
  • bim_search_loins: Search for LOINs (Level of Information Need)
  • bim_get_loin: Get specific LOIN by GUID
  • bim_get_loin_pdf: Export LOIN as PDF
  • bim_get_loin_xml: Export LOIN as XML
Domain Model Tools
  • bim_search_domain_models: Search for domain-specific models
  • bim_get_domain_model: Get specific domain model by GUID
Context Information Tools
  • bim_search_context_info: Search for context information
  • bim_get_context_info: Get specific context info by GUID
AIA Template Tools
  • bim_search_aia_templates: Search for AIA templates
  • bim_get_aia_template: Get specific AIA template by GUID
AIA Project Tools
  • bim_search_aia_projects: Search for AIA projects
  • bim_get_aia_project: Get specific AIA project by GUID
Filter Tools
  • bim_get_aia_filters: Get all global AIA filters

Development

Installation

  1. Install dependencies:
npm install
  1. Build the TypeScript code:
npm run build

Running the Server Locally

Start the MCP server:

npm start

Development Mode (with watch)

npm run dev

Project Structure

bim-mcp-server/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ index.ts          # Main server implementation
│   └── bim-api-client.ts # BIM Portal API client
ā”œā”€ā”€ dist/                 # Compiled JavaScript (generated)
ā”œā”€ā”€ package.json          # Dependencies and scripts
ā”œā”€ā”€ tsconfig.json         # TypeScript configuration
└── README.md            # This file

BIM Portal API

This server connects to the German Federal BIM Portal at https://via.bund.de/bim and provides access to:

  • Infrastructure elements and properties
  • Building Information Modeling data
  • Level of Information Need (LOIN) specifications
  • Domain-specific models
  • AIA (Client Information Requirements) templates and projects
  • Construction context information

MCP Protocol

This server implements the Model Context Protocol (MCP) and communicates via stdio. It can be used with any MCP-compatible client to provide comprehensive access to the BIM Portal API functionality.

Error Handling

All API errors are properly caught and returned as error responses with descriptive messages. The server maintains authentication state and handles token refresh automatically.