HO

helenkwok/openbim-mcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

39 stars 7 forks 品質 64 トレンド 12MIT

OpenBIM 用のモデルコンテキストプロトコル (MCP) サーバー

概要

ビルド情報モデリング(BIM)ファイルを扱うモデルコンテキストプロトコル(MCP)サーバー。 このサーバーは、IFCファイルをフラグメント形式に変換し、フラグメントをロードし、BIMデータをカテゴリ別にクエリするツールを提供します。 - : 業界ファンデーションクラス(IFC)ファイルをオープンで効率的なフラグメント形式に変換 - : 事前変換されたフラグメントファイルでロードして作業 - : 設定可能な属性と関係を持つカテゴリ(例、壁、ドア、窓)によるBIM要素をフェッチする IFC ファイルを .frag ファイル形式に変換し、効率的な処理を実現します。 - inputPath (string): IFCファイルのフルパス - outputPath (string): 出力.fragsファイルが保存されるフルパス .frag ファイルをクエリ用のメモリに読み込みます。 - filePath (string): .frag ファイルのロードのフルパス ロードされたフラグメントから指定されたIFCカテゴリの要素をフェッチします。 -カテゴリ(文字列):カテゴリ名(例).

概要(AI 翻訳)

ビルド情報モデリング(BIM)ファイルを扱うモデルコンテキストプロトコル(MCP)サーバー。 このサーバーは、IFCファイルをフラグメント形式に変換し、フラグメントをロードし、BIMデータをカテゴリ別にクエリするツールを提供します。

##特徴

-IFCからフラグメント変換:業界基礎クラス(IFC)ファイルをオープンかつ効率的なフラグメント形式に変換する

  • フラグメントローディング:事前変換されたフラグメントファイルで読み込み、作業 -Category-based Querying: 構成可能な属性および関係のカテゴリ(例、壁、ドア、窓)によってBIM要素をフェッチ

ツール

##[convert-ifc-to-frag

IFC ファイルを .frag ファイル形式に変換し、効率的な処理を実現します。

パラメーター:

  • [inputPath(文字列):変換するIFCファイルのフルパス
  • [outputPath(文字列):出力.fragsファイルが保存されるフルパス

例:

##[load-frag

.frag ファイルをクエリ用のメモリに読み込みます。

パラメーター:

  • [filePath (文字列): .fragファイルの読み込みのフルパス

##[fetch-elements-of-category

ロードされたフラグメントから指定されたIFCカテゴリの要素をフェッチします。

パラメーター:

  • [category(文字列):カテゴリ名(例:「IFCWALL」、「IFCDOOR」、「IFCWINDOW」)

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

Fragment MCP Server

A Model Context Protocol (MCP) server for working with Building Information Modeling (BIM) files. This server provides tools to convert IFC files to fragment format, load fragments, and query BIM data by category.

Features

  • IFC to Fragment Conversion: Convert Industry Foundation Classes (IFC) files to the open and efficient fragment format
  • Fragment Loading: Load and work with pre-converted fragment files
  • Category-based Querying: Fetch BIM elements by category (e.g., walls, doors, windows) with configurable attributes and relations

Tools

convert-ifc-to-frag

Converts an IFC file to a .frag file format for efficient processing.

Parameters:

  • inputPath (string): Full path of the IFC file to convert
  • outputPath (string): Full path where the output .frags file will be saved

Example:

Input: /path/to/building.ifc
Output: /path/to/building.frag

load-frag

Loads a .frag file into memory for querying.

Parameters:

  • filePath (string): Full path of the .frag file to load

fetch-elements-of-category

Fetches elements of a specified IFC category from loaded fragments.

Parameters:

  • category (string): Category name (e.g., “IFCWALL”, “IFCDOOR”, “IFCWINDOW”)
  • config (object): Configuration for fetching elements with the following structure:
    • attributesDefault (boolean): Include default attributes
    • attributes (array): List of specific attributes to include
    • relations (object): Relation configuration
      • HasAssociations: Include association relations
      • IsDefinedBy: Include definition relations

Dependencies

Installation

  1. Install dependencies:
pnpm install
  1. Run the server:
node main.ts

Claude Desktop Integration

To use this MCP server with Claude Desktop, add the following configuration to your Claude Desktop settings file:

Configuration

  1. Open Claude Desktop settings
  2. Navigate to the MCP servers configuration
  3. Add the following JSON configuration:
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/path/to/your/models/directory"
      ]
    },
    "bim": {
      "command": "npx",
      "args": [
        "-y",
        "tsx",
        "/path/to/your/openbim-mcp/main.ts"
      ]
    }
  }
}
GitHub で README 全文を見る

インストール

npx -y @modelcontextprotocol/server-filesystem /path/to/your/models/directory
MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/path/to/your/models/directory" ] }, "bim": { "command": "npx", "args": [ "-y", "tsx", "/path/to/your/openbim-mcp/main.ts" ] } } }