Skip to main content
Glama

ifc-tools-vn

Bộ công cụ kiểm tra mô hình IFC theo cách làm Việt Nam: yêu cầu thông tin (IDS), mức độ phát triển (LOD), bóc khối lượng — chạy bằng dòng lệnh hoặc gọi thẳng trong Claude Desktop qua MCP.

English summary at the end.

Vì sao có bộ này

Báo cáo kiểm IDS thường chỉ ghi "% đạt". Nhưng theo chuẩn IDS, một yêu cầu ở dạng mặc định (không khai báo bắt buộc phải có cấu kiện) mà không áp dụng lên cấu kiện nào vẫn được tính là đạt. Nên "100% đạt" có thể là 100% của phần chưa kiểm gì.

Bộ này chấm bằng ifctester (IfcOpenShell) theo chuẩn buildingSMART IDS 1.0 và báo thêm độ phủ: bao nhiêu cấu kiện trong mô hình thực sự có yêu cầu kiểm, yêu cầu nào không khớp cấu kiện nào. Muốn một yêu cầu bắt buộc phải có cấu kiện, dùng eir_to_ids --bat-buoc.

Ví dụ trên mô hình mẫu Duplex: 8/10 yêu cầu đạt, nhưng độ phủ chỉ 101/245 cấu kiện (41%) — 144 cấu kiện không có yêu cầu nào áp dụng.

Related MCP server: ACC MCP

Gồm những gì

Lệnh MCP

Module dòng lệnh

Làm gì

Kết quả

kiem_tra_ids

eir_to_ids → ids_run

Sinh file .ids theo bộ môn + giai đoạn, chấm mô hình, đo độ phủ

IDS_KetQua_*.xlsx, .html (báo cáo gốc của ifctester), .bcf

kiem_tra_lod

lod_checker

LOD 100–500 từng cấu kiện theo giai đoạn

LOD_Audit_*.xlsx

boc_khoi_luong

ifc_qto

Bóc khối lượng từ BaseQuantities; tuỳ chọn đo từ hình học khi IFC không có

IFC_QTO_*.xlsx (+ <tên>_BoSungQTO.ifc)

tong_hop_audit

audit_summary_report

Gộp 3 kết quả trên thành 1 bảng gửi trưởng bộ môn

AuditSummary_*.xlsx

kiem_tra_toan_dien

bim_audit_pipeline

Chạy IDS → LOD → QTO trong 1 lệnh

BIM_HealthDashboard_*.xlsx

Giai đoạn: TKCS · TKKT · TKTC · AS-BUILT. Bộ môn: KT · KC · MEP · ALL.

Cài đặt

Cần Python 3.10 trở lên.

python -m venv .venv
.venv\Scripts\activate          # macOS/Linux: source .venv/bin/activate
pip install git+https://github.com/nguyenthang325-prog/ifc-tools-vn

Thư viện kéo theo: ifcopenshell, ifctester (LGPL, cài qua pip, không đóng gói trong repo), openpyxl, numpy, mcp.

Dùng trong Claude Desktop

Mở claude_desktop_config.json (Claude Desktop → Settings → Developer → Edit Config), thêm:

{
  "mcpServers": {
    "ifc-tools-vn": {
      "command": "C:\\duong\\dan\\toi\\.venv\\Scripts\\ifc-tools-vn.exe",
      "env": { "IFC_TOOLS_OUTPUT": "C:\\duong\\dan\\luu\\ket_qua" }
    }
  }
}

command là file ifc-tools-vn trong thư mục Scripts (Windows) hoặc bin (macOS/Linux) của venv vừa tạo. Bỏ env thì kết quả ghi vào ~/ifc_tools_output/. Khởi động lại Claude Desktop rồi hỏi, ví dụ: "Kiểm tra IDS file C:...\Duplex_A_20110907.ifc, bộ môn KT, giai đoạn TKTC".

Dùng bằng dòng lệnh

python -m ifc_tools_vn.checks.bim_audit_pipeline --ifc Duplex_A_20110907.ifc --project Duplex --stage TKTC --discipline KT

python -m ifc_tools_vn.checks.eir_to_ids --du-an Duplex --discipline KT --stage TKTC -o EIR_Duplex_KT_TKTC.ids
python -m ifc_tools_vn.checks.ids_run --ids EIR_Duplex_KT_TKTC.ids --ifc Duplex_A_20110907.ifc --project Duplex

python -m ifc_tools_vn.checks.lod_checker --ifc Duplex_A_20110907.ifc --stage TKTC --discipline KT
python -m ifc_tools_vn.checks.ifc_qto --ifc Duplex_A_20110907.ifc --discipline ALL --project Duplex --bo-sung-qto
python -m ifc_tools_vn.checks.audit_summary_report --project Duplex --discipline KT --stage TKTC

Thêm -h sau mỗi lệnh để xem đủ tuỳ chọn. Kết quả ghi vào ./ifc_tools_output/<ngày>/, hoặc thư mục trong biến IFC_TOOLS_OUTPUT.

Dùng file .ids của dự án mình: gọi thẳng ids_run --ids <file của bạn>.ids. Lệnh MCP kiem_tra_ids luôn sinh .ids từ bộ yêu cầu mẫu bên dưới.

Bộ yêu cầu mẫu

eir_to_ids sinh .ids từ một bộ 19 yêu cầu do tác giả soạn, tham khảo bảng thông tin theo giai đoạn của QĐ 347/QĐ-BXD và cách Revit xuất IFC2X3. Đây không phải yêu cầu chính thức của văn bản nào — ví dụ "tường phải khai FireRating từ TKTC" là yêu cầu tác giả đặt ra. Bảng đầy đủ và lý do từng lựa chọn: examples/EIR_mau/README_EIR.md. Dự án thật nên dùng .ids theo EIR của chủ đầu tư.

Thử với mô hình mẫu

Tải mô hình Duplex của buildingSMART (CC BY 4.0): Duplex_A_20110907.ifc. Chạy lệnh bim_audit_pipeline ở trên, kết quả đúng phải là:

Kiểm

Kết quả

IDS (KT, TKTC)

8/10 yêu cầu đạt · độ phủ 101/245 · 58 cấu kiện trượt (57 tường thiếu FireRating + công trình thiếu tên)

LOD (KT, TKTC)

197 cấu kiện, 0% đạt LOD 350 (104 thiếu vật liệu, 90 thiếu FireRating, 3 không có hình học)

Khối lượng --bo-sung-qto

216 cấu kiện

Kiểm tự động: DUPLEX_PATH=<đường dẫn file> python -m unittest discover tests -v (cần bản clone repo).

Giới hạn đã biết

  • Đã chạy thử trên Windows 11 với Python 3.10 và 3.14, ifcopenshell 0.8.5 và 0.9.0. CI cấu hình chạy trên Windows và Ubuntu, Python 3.12.

  • Viết cho IFC2X3 xuất từ Revit. Định dạng khác vẫn chạy nhưng ít được thử.

  • --bo-sung-qto chưa đo được lan can, cầu thang gộp, nội thất, MEP. Thứ tự dòng trong bảng có thể đổi giữa các lần chạy (engine hình học chạy nhiều luồng); nội dung không đổi.

  • Điểm IDS cao không có nghĩa mô hình dùng được để thanh toán: IDS không kiểm phân loại đúng/sai hay hình học.

  • Chưa có công cụ báo cáo xung đột (Navisworks) — dự kiến bản sau.

Giấy phép

MIT — xem LICENSE. Tác giả: Nguyễn Đắc Thắng.


English summary

ifc-tools-vn checks IFC models against Vietnamese practice: information requirements (buildingSMART IDS 1.0, checked with IfcOpenShell's ifctester), LOD per project stage, and quantity take-off — from the command line or as an MCP server for Claude Desktop.

Its main point is coverage: under the IDS standard, an optional (default) specification that matches no element still passes, so "100% compliant" can mean nothing was checked. Reports here state how many elements were actually covered (e.g. Duplex sample: 8/10 specs pass, but only 101/245 elements covered).

Install with pip install git+https://github.com/nguyenthang325-prog/ifc-tools-vn; run modules as python -m ifc_tools_vn.checks.<name> -h, or register the ifc-tools-vn executable as an MCP server (see docs/claude_desktop_config.example.json). The bundled requirement set is the author's own sample loosely based on Decision 347/QĐ-BXD, not an official specification. Output and messages are in Vietnamese. MIT licensed.

Available Tools

5 tools
boc_khoi_luongA

Bóc khối lượng QTO từ IFC dựa trên BaseQuantities Psets. Xuất IFC_QTO_*.xlsx.

IFC xuất từ Revit nên bật 'Export base quantities'. Nếu IFC không có BaseQuantities (ra 0 giá trị), đặt bo_sung_qto=True: đo khối lượng từ hình học, ghi bản sao <tên>_BoSungQTO.ifc vào thư mục kết quả rồi bóc trên bản đó.

Args: ifc_path: Đường dẫn đầy đủ tới file IFC discipline: KT / KC / MEP / ALL stage: TKCS / TKKT / TKTC / AS-BUILT project: Tên dự án bo_sung_qto: True = đo từ hình học khi IFC thiếu BaseQuantities

ParametersJSON Schema
NameRequiredDescriptionDefault
stageNoTKKT
projectNo
ifc_pathYes
disciplineNoALL
bo_sung_qtoNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose the important side effect: bo_sung_qto=True writes a copy '<tên>_BoSungQTO.ifc' into the output folder and runs the takeoff on that copy. It does not cover overwrite behavior, runtime cost of geometric measurement, or permissions, so it is good but not complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and output filename are front-loaded, the Revit prerequisite follows, then the fallback flag, then the Args block. Slightly redundant in restating ifc_path and bo_sung_qto after the prose already covered them, but there is little wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained; the description instead covers inputs, the prerequisite, and the fallback workflow. Remaining gaps are minor: where the output folder is defined and whether prior outputs are overwritten.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does: every one of the five parameters is documented, including allowed value sets for discipline (KT/KC/MEP/ALL) and stage (TKCS/TKKT/TKTC/AS-BUILT) that the schema does not enumerate. It stops short of explaining how discipline/stage alter the takeoff output.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific verb and resource (extract QTO from IFC via BaseQuantities Psets) and names the produced artifact (IFC_QTO_*.xlsx). What's missing is any explicit contrast with the kiem_tra_*/tong_hop_audit siblings, though the resource difference is self-evident.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states a concrete precondition (IFC exported from Revit must have 'Export base quantities' enabled) and gives an explicit trigger for the fallback path: when IFC yields zero BaseQuantities values, set bo_sung_qto=True. There is no explicit when-not-to-use guidance or routing to the sibling check tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kiem_tra_idsA

Kiểm tra IFC theo IDS chuẩn buildingSMART (EIR/QD347 -> .ids -> ifctester).

Tự sinh file .ids từ bộ yêu cầu EIR theo bộ môn + giai đoạn rồi chấm bằng ifctester; báo cả độ phủ (bao nhiêu cấu kiện thực sự được kiểm), không chỉ % đạt.

Args: ifc_path: Đường dẫn đầy đủ tới file IFC discipline: KT / KC / MEP / ALL stage: TKCS / TKKT / TKTC / AS-BUILT project: Tên dự án (tự nhận diện nếu để trống)

ParametersJSON Schema
NameRequiredDescriptionDefault
stageNoTKKT
projectNo
ifc_pathYes
disciplineNoALL

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does add real behavioral context: it generates an .ids file, scores with ifctester, and reports element coverage rather than just a pass percentage. It omits the side effect of where/whether the generated .ids is persisted, required permissions, and how failures or missing EIR data are handled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and pipeline (EIR -> .ids -> ifctester) before a compact args block; almost every line carries information. The coverage-reporting clause is slightly elliptical but not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter validation tool with an output schema present, the description covers purpose, pipeline, and all parameter meanings, plus an extra note on coverage reporting the schema cannot express. The main remaining gap is the undisclosed write side effect of emitting an .ids file.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and all parameters carry only bare titles, so the description must compensate, and it does: ifc_path is defined as a full path, discipline as KT/KC/MEP/ALL, stage as TKCS/TKKT/TKTC/AS-BUILT, and project is described as auto-detected when left empty. These enum values and the auto-detect semantics are unavailable anywhere in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: validates an IFC model against buildingSMART IDS via ifctester, auto-generating the .ids from EIR requirements by discipline and stage. That is clearly distinct from siblings like kiem_tra_lod or boc_khoi_luong, though the description never names a sibling to contrast with explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied through the EIR/QD347 and discipline/stage framing, which tells an agent the context it fits. There is no explicit when-to-use versus kiem_tra_toan_dien or kiem_tra_lod, and no stated prerequisites such as needing an EIR config or a resolvable project name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kiem_tra_lodB

Kiểm tra LOD (Level of Development) 100–500 từng element theo stage và discipline.

Args: ifc_path: Đường dẫn đầy đủ tới file IFC stage: TKCS / TKKT / TKTC / AS-BUILT discipline: KT / KC / MEP / ALL project: Tên dự án (tự nhận diện nếu để trống)

ParametersJSON Schema
NameRequiredDescriptionDefault
stageNoTKKT
projectNo
ifc_pathYes
disciplineNoALL

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether the operation is read-only, what permissions are needed, whether it mutates files, or any limitations; the output schema covers returns but not these behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in one sentence, followed by a compact args list. Every line adds useful information, especially the allowed stage and discipline values.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The core parameters are documented and the output schema exists, so the definition is usable. Still, for a no-annotation tool, it lacks sibling routing guidance and behavioral context such as safety, permissions, or side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description compensates well by documenting all four parameters. It gives the stage values (TKCS/TKKT/TKTC/AS-BUILT), discipline values (KT/KC/MEP/ALL), the meaning of ifc_path, and that project is auto-detected when blank.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: checking LOD 100–500 per element according to stage and discipline. It is clear what the tool does, but it does not explicitly distinguish itself from siblings such as kiem_tra_toan_dien or kiem_tra_ids.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the stage and discipline scoping, which gives the agent context for when the tool applies. However, there is no explicit guidance on when to use this instead of the sibling audit or IDS-check tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kiem_tra_toan_dienB

Chạy toàn bộ BIM audit pipeline (IDS + LOD + QTO) và xuất BIM Health Dashboard.

Args: ifc_path: Đường dẫn đầy đủ tới file IFC project: Tên dự án (tự nhận diện từ tên file nếu để trống) stage: Giai đoạn: TKCS / TKKT / TKTC / AS-BUILT (mặc định: TKKT) discipline: Discipline: KT / KC / MEP / ALL (mặc định: ALL)

ParametersJSON Schema
NameRequiredDescriptionDefault
stageNoTKKT
projectNo
ifc_pathYes
disciplineNoALL

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full behavioral burden and falls short: it doesn't say whether the pipeline is read-only or writes artifacts to disk (the dashboard export strongly implies file output), how long a full audit takes, or what happens if one stage fails. The only behavioral hint is the implication that a dashboard artifact is produced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose sentence is front-loaded and free of padding, followed by a compact Args block scoped to the four parameters. Slightly terse in that the Args lines are reference fragments rather than prose, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be described, and the parameters are well covered despite 0% schema coverage. However, for a multi-stage pipeline tool with zero annotations, the missing side-effect and failure-mode information leaves an agent without enough to set expectations before invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the schema has no enums at all, so the Args block is doing real work: it supplies the valid stage values (TKCS/TKKT/TKTC/AS-BUILT) and discipline values (KT/KC/MEP/ALL) that the schema lacks entirely, plus the auto-detect rule for project when blank. It stops short of explaining what stage actually changes in the audit or how discipline filtering behaves.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb and resource: it runs the entire BIM audit pipeline (IDS + LOD + QTO) and exports a BIM Health Dashboard. Naming IDS/LOD/QTO implicitly links to the sibling tools kiem_tra_ids, kiem_tra_lod, and boc_khoi_luong, but the description never explicitly contrasts itself with them or with tong_hop_audit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'toàn bộ' (entire) implies this is the aggregate entry point versus the individual checks, so usage is inferable rather than stated. It gives no explicit 'use this when...' rule, no when-not conditions, and no guidance on choosing between this and tong_hop_audit, which sounds like an overlapping synthesis tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tong_hop_auditA

Tổng hợp kết quả IDS + LOD + QTO từ thư mục kết quả để gửi cho lead discipline. Không cần file IFC — đọc từ các file audit đã chạy trước.

Args: project: Tên dự án (phải khớp với tên đã dùng khi chạy audit trước đó) discipline: KT / KC / MEP / ALL stage: TKCS / TKKT / TKTC / AS-BUILT top: Số lỗi ưu tiên hiển thị (mặc định: 10)

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
stageNoTKKT
projectYes
disciplineNoALL

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the burden. It does disclose two useful traits: the tool is file-based (no IFC input) and reads prior audit outputs, and that the project name must match a previous run (an implicit failure mode). It says nothing about whether a file is written or a report sent to the lead, nor about error behavior when no prior audit exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first two sentences, followed by a compact Args block whose lines each add value (allowed values, defaults) rather than restating type information. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be described, and parameters are covered. Missing is what "gửi cho lead discipline" actually means operationally (does it write a file, emit a report payload, or nothing beyond the return value), which matters for an aggregation tool with no annotations at all.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate — and it largely does, documenting all four parameters including the discipline and stage value sets (KT/KC/MEP/ALL, TKCS/TKKT/TKTC/AS-BUILT), the top default of 10, and the matching constraint on project. The abbreviations (KT, KC, TKCS…) are left unexplained, one notch below full marks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: aggregates IDS + LOD + QTO results from a results folder into a summary for the lead discipline. It implicitly distinguishes itself from the per-check siblings (kiem_tra_ids, kiem_tra_lod, boc_khoi_luong) by being the aggregator, but never names them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Không cần file IFC — đọc từ các file audit đã chạy trước" gives a real precondition (the individual audits must already have run) and implicitly positions this as a follow-up step. However no sibling is named and no explicit "use this instead of X when…" routing is offered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.1.0
    • First observedboc_khoi_luong
    • First observedkiem_tra_ids
    • First observedkiem_tra_lod
    • First observedkiem_tra_toan_dien
    • First observedtong_hop_audit

TDQS

A3.8/5.0

Scored across 5 tools

Disambiguation4/5

Each tool targets a distinct scope: a full pipeline, three individual checks (IDS/LOD/QTO), and an aggregation step that reads prior results without an IFC file. The only overlap is that kiem_tra_toan_dien subsumes the three individual check tools, which could cause an agent to pick the wrong granularity, but the descriptions make the run-all vs. run-one distinction reasonably clear.

Naming Consistency5/5

All five names follow the same snake_case Vietnamese verb_noun pattern (kiem_tra_*, boc_khoi_luong, tong_hop_audit) with no mixing of casing or verb styles. The pattern is predictable and readable across the whole set.

Tool Count5/5

Five tools map cleanly onto a BIM audit workflow: three checks, one orchestrator, one report aggregator. Nothing feels redundant or missing at the count level, and the scope is comfortably within a well-scoped set.

Completeness4/5

The surface covers the full audit lifecycle: IDS compliance, LOD, QTO, an end-to-end pipeline, and result aggregation. Minor gaps exist: no element-level drill-down or inspection tool, no clash detection/coordination check, and no way to list prior audit runs or available projects/stages.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    AI-powered BIM tool that connects Claude to a Revit file conversion and BIM query service, enabling users to convert .rvt files to XKT, IFC, and DWG, and explore building elements through natural language.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server that lets Claude manage an ISO 19650 / TCVN 14177 Common Data Environment on Autodesk Construction Cloud — projects, CDE folder trees, permissions, files, document status and naming compliance.
    45
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that lets users query, validate, convert, and compare IFC/BIM files using natural language. Runs fully locally and integrates with AI agents like Claude.
    8
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that enables one-click BIM audits by chaining IFC statistics, validation, and quantity takeoff workflows through natural language queries.
    MIT