片段MCP服务器
用于处理建筑信息建模(BIM)文件的模型上下文协议(MCP)服务器。此服务器提供了将IFC文件转换为片段格式、加载片段和按类别查询BIM数据的工具。
特性
- IFC到片段转换:将行业基础类(IFC)文件转换为开放且高效的片段格式
- 碎片加载:加载并使用预转换的片段文件
- 基于类别的查询:按类别(如墙、门、窗)获取具有可配置属性和关系的BIM元素
工具
convert-ifc-to-frag
将IFC文件转换为.frag文件格式以实现高效处理。
参数:
inputPath(string):要转换的IFC文件的完整路径outputPath(string):保存输出.frass文件的完整路径
例子:
Input: /path/to/building.ifc
Output: /path/to/building.fragload-frag
将.frag文件加载到内存中进行查询。
参数:
filePath(string):要加载的.frag文件的完整路径
fetch-elements-of-category
从加载的片段中获取指定IFC类别的元素。
参数:
category(string):类别名称(例如,“IFCWALL”、“IFCDOOR”、“IFCWINDOW”)config(object):用于获取具有以下结构的元素的配置:
- attributesDefault (boolean):包含默认属性 - attributes (array):要包含的特定属性列表 - relations (object):关系配置 - HasAssociations:包括关联关系 - IsDefinedBy:包括定义关系
依赖项
@modelcontextprotocol/sdk:MCP服务器框架@thatopen/fragments:片段处理库web-ifc:IFC文件处理zod:架构验证
安装
- 安装依赖项:
pnpm install- 运行服务器:
node main.tsClaude桌面集成
要将此MCP服务器与Claude Desktop一起使用,请将以下配置添加到您的Claude Desktop设置文件中:
配置
- 打开克劳德桌面设置
- 导航到MCP服务器配置
- 添加以下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服务器都需要配置以实现完整功能
使用工作流程
- 将IFC转换为片段:使用
convert-ifc-to-frag将IFC文件转换为高效的片段格式 - 加载碎片:使用
load-frag将片段文件加载到内存中 - 查询元素:使用
fetch-elements-of-category按IFC类别检索特定建筑图元
支持的IFC类别
您可以查询的常见类别包括:
IFCWALL-墙壁IFCDOOR-门IFCWINDOW-窗户IFCSLAB-楼板/地板IFCBEAM-横梁IFCCOLUMN-列IFCSPACE-空间/房间
需求
- Node.js
- 读取IFC文件和写入片段文件的文件系统访问
- 与模型上下文协议客户端兼容
作者
郭
