返回市场
开放BIM-MCP

开放BIM-MCP

作者:helenkwok28 星标更新:2025-09-18

项目介绍

Fragment MCP Server

用于处理建筑信息模型(BIM)文件的模型上下文协议(MCP)服务器。此服务器提供了将IFC文件转换为片段格式、加载片段以及按类别查询BIM数据的工具。

<a href="https://glama.ai/mcp/servers/@helenkwok/openbim-mcp"> <img width="380" height="200" src="https://gips2.baidu.com/it/u=987538614,2675878800&fm=3081&app=3_081&f=PNG?w=760&h=400" alt="Fragment Server MCP server" /> </a>

特性

  • IFC到片段转换:将工业基础类(IFC)文件转换为开放且高效的片段格式
  • 片段加载:加载并处理预转换的片段文件
  • 基于类别的查询:按类别(如墙壁、门、窗户)获取BIM元素,并可配置属性和关系

工具

convert-ifc-to-frag

将IFC文件转换为.frags文件格式,以便高效处理。

参数:

  • inputPath (字符串):要转换的IFC文件的完整路径
  • outputPath (字符串):输出.frags文件保存的完整路径

示例:

输入: /path/to/building.ifc
输出: /path/to/building.frag

load-frag

将.frags文件加载到内存中以进行查询。

参数:

  • filePath (字符串):要加载的.frags文件的完整路径

fetch-elements-of-category

从已加载的片段中获取指定IFC类别的元素。

参数:

  • category (字符串):类别名称(例如:"IFCWALL","IFCDOOR","IFCWINDOW")
  • config (对象):获取元素的配置,具有以下结构:
    • attributesDefault (布尔值):是否包含默认属性
    • attributes (数组):要包含的具体属性列表
    • relations (对象):关系配置
      • HasAssociations:是否包含关联关系
      • IsDefinedBy:是否包含定义关系

依赖项

安装

  1. 安装依赖项:
pnpm install
  1. 运行服务器:
node main.ts

Claude Desktop 集成

要在Claude Desktop中使用此MCP服务器,请在您的Claude Desktop设置文件中添加以下配置:

配置

  1. 打开Claude Desktop设置
  2. 导航至MCP服务器配置
  3. 添加以下JSON配置:
{
  "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"
      ]
    }
  }
}

使用Claude Desktop的前提条件

  • 必须安装Node.js并通过npx访问
  • 应该可用tsx包(如果需要,可以通过npm install -g tsx全局安装)
  • 文件系统和BIM服务器都需要配置以实现全部功能

使用流程

  1. 将IFC转换为片段:使用convert-ifc-to-frag将您的IFC文件转换为高效的片段格式
  2. 加载片段:使用load-frag将片段文件加载到内存中
  3. 查询元素:使用fetch-elements-of-category按其IFC类别检索特定的建筑元素

支持的IFC类别

您可以查询的常见类别包括:

  • IFCWALL - 墙壁
  • IFCDOOR - 门
  • IFCWINDOW - 窗户
  • IFCSLAB - 楼板
  • IFCBEAM - 梁
  • IFCCOLUMN - 柱子
  • IFCSPACE - 空间/房间

要求

  • Node.js
  • 文件系统访问权限,用于读取IFC文件和写入片段文件
  • 与模型上下文协议客户端兼容

作者

Helen Kwok