IFC核心MCP服务器
](https://www.npmjs.com/package/@shuji-bonji/ifc-core-mcp)   
MCP服务器,用于IFC4.3规范参考 --搜索和检索IFC实体定义、属性、继承层次结构和PropertySets。
与现有的IFC相关MCP服务器不同 _对...进行操作_ IFC模型文件(解析、提取、修改),此服务器提供对 IFC规范本身 作为结构化参考。它使AI能够查找 _正确的定义_ IFC4.3标准(ISO 16739-1:2024)中定义的实体、属性、类型和约束。
主要特点
- 实体搜索 --按名称或描述关键字查找IFC实体
- 实体定义 --检索包含属性、继承、WHERE规则和文档的完整定义
- 继承树 --可视化祖先链和后代层次结构
- 属性集查找 --获取或搜索带有完整文档的PropertySet定义
- 双输出 --每个工具都支持Markdown(人类可读)和JSON(结构化)格式
- 分页 --大型结果集的可配置限制/偏移
可用工具
| 工具 | 说明 |
|---|---|
ifc_search_entity | 按名称或描述关键字搜索实体 |
ifc_get_entity | 获取完整的实体定义(属性、继承、WHERE规则、文档) |
ifc_get_inheritance | 显示继承层次结构(祖先、后代或两者) |
ifc_get_propertyset | 获取或搜索PropertySet定义 |
范围
此MCP提供了什么
- IFC4.3规范参考:实体定义、属性、继承、WHERE规则、PropertySet定义
- 结构化查找 IFC标准(ISO 16739-1:2024)——人工智能词汇/词典
- 双输出 (Markdown/JSON)适合人类阅读和程序化消费
此MCP不提供什么
- 几何渲染或三维可视化
- 架构版本迁移 (IFC2x3/IFC4→ IFC4.3)--目前仅IFC4.3
- **数量信息(
Qto_*)** --计划在未来发布
如果你需要在实际操作 .ifc 运行时的文件,将此MCP(用于规范查找)与文件操作库(用于数据提取)组合在一起。
安装
npm(全局)
npm install -g @shuji-bonji/ifc-core-mcp克劳德桌面版
将以下内容添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"ifc-core": {
"command": "npx",
"args": ["-y", "@shuji-bonji/ifc-core-mcp"]
}
}
}克劳德代码
claude mcp add ifc-core -- npx -y @shuji-bonji/ifc-core-mcp来源
git clone https://github.com/shuji-bonji/ifc-core-mcp.git
cd ifc-core-mcp
npm install
npm run build
node dist/index.js手动运行(全局安装后)
之后 npm install -g @shuji-bonji/ifc-core-mcp,服务器可以通过以下方式启动:
ifc-core-mcp该过程通过stdio(MCP标准传输)进行通信,旨在由MCP客户端(Claude Desktop、Claude Code等)启动,而不是直接调用以进行交互使用。
示例用法
安装后,您可以向启用MCP的LLM(例如Claude)提出以下问题:
- _“什么属性起作用
IfcSpace在IFC4.3中?"_ - _“显示继承层次结构
IfcBuildingElement到叶亚型。"_ - _“查找与HVAC相关的所有IFC实体。”_
- _“属性集适用于什么
IfcWall,它们包含哪些属性?"_ - _“什么是定义
IfcMapConversion,哪些属性存储CRS信息?"_
LLM将调用相应的工具(ifc_search_entity, ifc_get_entity, ifc_get_inheritance,或 ifc_get_propertyset)并返回结构化结果。
数据覆盖
服务器涵盖了完整的IFC4.3架构:
| 类别 | 计数 |
|---|---|
| 实体 | 876 |
| 类型声明 | 132 |
| 计数 | 243 |
| 选择类型 | 61 |
| 功能 | 48 |
| 全局规则 | 2 |
实体跨4个IFC层组织:
| 图层 | 实体 | 描述 |
|---|---|---|
| 资源 | 392 | 几何图形、单位、材质 |
| 核心 | 145 | 内核、产品扩展 |
| 共享 | 111 | 墙、柱、梁、MEP |
| 领域 | 228 | 建筑、暖通空调、铁路、公路 |
建筑
Build time (one-time, Python):
IFC.exp (EXPRESS schema) → ifc4x3-schema.json
IFC4.3.x-development Markdown → ifc4x3-descriptions-*.json
Runtime (TypeScript MCP server):
Pre-built JSON files → Map-based indexes → MCP tools服务器在启动时加载三个预构建的JSON数据文件,并按名称为O(1)实体查找构建内存索引(Maps)。EXPRESS模式提供结构化数据(类型、属性、继承、WHERE规则),而Markdown文档提供语义数据(定义、使用、历史)。
数据源和许可证
- EXPRESS模式 (
IFC.exp)--从 buildingSMART/IFC4.3.x输出 - Markdown文档 --从 buildingSMART/IFC4.3.x-development
- IFC规范内容已获得许可 CC BY-ND 4.0 通过buildingSMART国际
发展
先决条件
- Node.js>=22
- Python 3+ IfcOpenShell (仅用于数据再生)
命令
npm run build # Compile TypeScript
npm run dev # Watch mode with tsx
npm test # Run all tests (unit + e2e)
npm run test:unit # Unit tests only
npm run test:e2e # E2E integration tests
npm run lint # ESLint check
npm run format # Prettier formatting
npm run prepare-data # Regenerate data from raw sources (requires Python)技术栈
- 运行时:TypeScript(严格),Node.js
- MCP-SDK:
@modelcontextprotocol/sdk - 验证:佐德
- 测试:Vitest(单元+e2e,带实际MCP客户端)
- 代码检查:ESLint+Prettier
- CI/CD:GitHub操作(lint→ test → 构建→ 发布)
路线图
此服务器专注于IFC4.3模式本身。正在考虑的未来潜在方向:
- **数量 设置
Qto_*)支持** --在PropertySets旁边添加数量定义 - ifcJSON模式 --补充当前EXPRESS导出的数据
- 跨版本查找 --地图IFC2x3/IFC4→ IFC4.3实体
- IFC文件操作的姐妹MCP --一个单独的项目(计划中,尚未发布),用于解析和查询实际
.ifc文件,旨在与此参考服务器配对
欢迎通过以下方式提供反馈和用例报告 .
相关项目
- w3c mcp --用于W3C/WHATWG/IIETF web规范的MCP服务器
- rfcxml-mcp --IETF RFC文档的MCP服务器(基于XML)
- epsg-mcp --用于EPSG坐标参考系的MCP服务器(与
IfcMapConversion)
