Skip to main content
Glama

ifc-ruhsat

Yapı ruhsatı IFC modelini yönetmeliğe göre kontrol eder. Türkiye'de 1 Eylül 2027'de yürürlüğe giren Mimarlık ve Mühendislik Projelerinin Dijital Olarak Hazırlanması Hakkında Yönetmelik (Resmî Gazete 5.8.2026, sayı 33331) her ruhsat projesinin IFC modelini 241 sayfalık eklere uydurmayı ve her teslimde EK-9 Model Kalite Kontrol Formu düzenlemeyi zorunlu kılıyor. Bu araç o ekleri makine kuralına çevirir: modeli okur, eksikleri madde numarasıyla söyler, EK-9 formunu doldurur. Komut satırından ya da Claude / Cursor gibi istemcilerden (MCP) kullanılır; yazılımdan bağımsızdır — Revit, Archicad, Allplan, Bonsai, hepsi IFC verir.

Otomatik ön kontroldür. Yönetmeliğin bazı satırları (LOD, mahal geometrisi, PDF–IFC uyumu) makinece denetlenemez; araç bunları "elle" diye açıkça bırakır, uygun saymaz. Nihai değerlendirme proje müellifi ile ilgili idareye aittir; bu araç hukuki görüş değildir.

uvx ifc-ruhsat kontrol 123456_00_MM_GNEL_MD_BIM_000_01_000.ifc
ornekler\hatali_ornek.ifc — IFC4X3
10 hata, 3 uyarı, 8 elle kontrol, 7 bilgi

X [m.11, EK-5 5.5 ve Tablo 5.3 · EK-9 m.5] 1 varlığın adı şablona uymuyor. Beklenen: iki harf disiplin,
  üç harf kategori kodu ve açıklama, orta tire ile (örn. MM-DVR-dis_20cm) …
    3U9N2MO4vDDA4Hfy2J54b4
X [EK-7 Tablo 7.6 · EK-9 m.6] IfcProjectedCRS.Name 'EPSG:3857'; TUREF 3° dilimlerinden biri olmalı:
  EPSG:5253 … EPSG:5259.
X [EK-6 Tablo 6.66 · EK-9 m.9] IfcWall: Pset_WallCommon.FireRating (Yangın Dayanım Sınıfı) 1 varlıkta yok ya da boş.
    3U9N2MO4vDDA4Hfy2J54b4
X [EK-6 6.1.3 · EK-9 m.17] 1 varlık IfcProxy/IfcBuildingElementProxy ile modellenmiş; yönetmelik vekil sınıfa izin vermez …
? [EK-9 madde 7] Gelişim seviyesi (LOD 300) geometrinin ayrıntısına bakılarak elle değerlendirilir.

Tam örnek: ornekler/hatali_ornek.EK-9.md — 21 satırlık EK-9 formu, her satırda Evet / Hayır / Kısmen / Elle ve dayanağı.

Kurulum

Python 3.10+ yeterli. uv varsa kurulum gerekmez, uvx ifc-ruhsat … yeter. Kalıcı kurulum:

pip install ifc-ruhsat

Related MCP server: IFCX MCP

Komutlar

Komut

Ne yapar

ifc-ruhsat kontrol model.ifc

Bütün kuralları çalıştırır; hata varsa çıkış kodu 1 (CI'da kullanılabilir). --json makine çıktısı, --ek9 form.md EK-9 formunu dosyaya yazar, --disiplin ST EK-2 disiplin kodu

ifc-ruhsat ek9 model.ifc

EK-9 Model Kalite Kontrol Formu (Tablo 9.1), Markdown

ifc-ruhsat ozet model.ifc

Şema, üreten yazılım, proje/saha/bina/katlar, sınıf sayıları

ifc-ruhsat ids

EK-6 ve EK-7'yi buildingSMART IDS dosyası olarak yazar (ids/) — Solibri, BIMcollab Zoom, usBIM.IDS, ifctester okur

ifc-ruhsat mcp [--http] [--host H] [--port P]

MCP sunucusu (stdio; --http ile streamable HTTP)

MCP ile kullanım

Claude Desktop, Claude Code, Cursor ve MCP konuşan her istemci:

{
  "mcpServers": {
    "ifc-ruhsat": { "command": "uvx", "args": ["ifc-ruhsat", "mcp"] }
  }
}

Sonra asistanınıza sorun: "C:\proje\A_blok.ifc yönetmeliğe uyuyor mu, EK-9 formunu çıkar", "IfcSlab için hangi özellikler zorunlu?", "Kolonlarda neden hata var, hangi maddeye göre?"

Araç

Ne yapar

yonetmelik_kontrolu

Modeli denetler; her bulgu seviye, madde, EK-9 satırı ve GlobalId listesiyle

ek9_formu

EK-9 formunu Markdown üretir

model_ozeti

Şema, yazılım, iskelet, sınıf sayıları

ek5_siniflar

Zorunlu / isteğe bağlı IFC sınıfları, Türkçe adları ve kategori kodları

ek6_gerekenler

Bir sınıf için zorunlu öznitelik ve özellik setleri (EK-6 / EK-7)

yonetmelik_bilgisi

Dayanak, kademeli takvim, veri kaynakları

Model araçları (model_ozeti, yonetmelik_kontrolu, ek9_formu) dosyayı dosya (yol) ya da ifc_metni (IFC metni, + dosya_adi) ile alır. Bütün araçlar salt okurdur ve MCP ek açıklamalarını (readOnlyHint, destructiveHint: false, idempotentHint, openWorldHint: false) taşır; her aracın açıklamasında ne zaman kullanılacağı, girdi örnekleri ve dönüş biçimi yazar.

Sunucu yalnızca verilen dosyayı okur; ağa hiçbir şey göndermez, kalıcı bir şey yazmaz. Cline gibi ajanlar kurulumu llms-install.md ile kendi başına yapabilir.

Uzak sunucu (Docker)

ifc-ruhsat mcp --http sunucuyu streamable HTTP ile http://<host>:8080/mcp adresinde açar (durumsuz; birden çok kopya yük dengeleyici arkasında çalışır). Hazır imaj her v* sürümünde yayımlanır:

docker run --rm -p 8080:8080 -e IFC_RUHSAT_API_KEY=gizli ghcr.io/berkantacun/ifc-ruhsat

Ortam değişkeni

Varsayılan

Anlamı

IFC_RUHSAT_HOST

0.0.0.0

Dinlenecek adres (Azure Container Apps IPv6 desteklemediği için IPv4)

IFC_RUHSAT_PORT

8080

Port

IFC_RUHSAT_API_KEY

—

Verilirse her istekte X-API-Key başlığı bu değere eşit olmalı, yoksa 401

İstemci tarafı:

{
  "mcpServers": {
    "ifc-ruhsat": {
      "type": "http",
      "url": "https://sunucu.example.com/mcp",
      "headers": { "X-API-Key": "gizli" }
    }
  }
}

Uzak modda dosya parametresi güvenlik gereği kapalıdır: sunucu kendi diskinden hiçbir yol okumaz, verilirse araç uzak-dosya-kapali hatası döner. Modeli ifc_metni ile gönderin (sunucu onu geçici bir klasörde açar, iş bitince siler). İmaj Python 3.12 slim üzerinde, root olmayan kullanıcıyla (uid 10001) çalışır. Anahtar yalnız basit bir paylaşımlı sırdır; sunucuyu internete açarken TLS sonlandıran bir ters vekil (Container Apps ingress gibi) arkasında çalıştırın.

Ne denetleniyor

EK-9 satırı

Kontrol

Durum

2 Proje bilgileri

IfcProject, IfcPerson, IfcOrganization, IfcPersonAndOrganization öznitelikleri (EK-7 Tablo 7.1–7.5)

otomatik

3 Dosya/proje adı

EK-2 Tablo 2.1 dokuz alan; IfcProject.Name

otomatik (alt disiplin/dosya türü kodları listeyle karşılaştırılmıyor)

4 Mahal no/ismi

IfcSpace.Name Kat_Bölüm_SıraNo (EK-3 Tablo 3.1, kat kodları EK-2 Tablo 2.14), LongName dolu

otomatik

5 Varlık adları

Disiplin-Kategori-Açıklama; disiplin EK-2, kategori kodu EK-5 ve sınıfla uyumu

otomatik

6 Koordinat

IfcProjectedCRS (EPSG:5253–5259, datum, zon, birim) + IfcMapConversion (EK-7 Tablo 7.6–7.7)

otomatik

7 LOD 300

—

elle

8 / 17 Sınıflar

EK-5 zorunlu + isteğe bağlı liste; IfcProxy / IfcBuildingElementProxy yasak; üst sınıf yerine alt sınıf

otomatik + elle (anlam)

9 / 20 Öznitelik ve özellikler

EK-6'nın 68 zorunlu sınıf tablosunun tamamı: Name, Tag, malzeme (Ad_Dayanım), IfcSystem bağı, katman, Pset_/Qto_/TREpys_ özellikleri, veri tipi, izinli değerler; yanlış sette bulunan özellik ayrıca

otomatik

10 Emsal

IfcSpatialZone alanları EmsalDurumu'na (DAHIL/HARIC/DIGER) göre toplanır, KAKS × parsel alanıyla karşılaştırılır

kısmen (pafta tablosuyla karşılaştırma elle)

11 İskelet

Proje, Saha, Bina, ≥1 Kat; tek IfcProject

otomatik

12 Mahal var mı

mimari disiplinde IfcSpace

otomatik

13–14 Mahal geometrisi

her mahalin hacimli 3B gövdesi var; aynı kattaki mahallerin sınır kutuları %10'dan fazla örtüşmüyor

otomatik (kutu tabanlı, kaba)

15 Kata bağlılık ve kot

her eleman bir kata bağlı; gövdesi katın kotu ile üst katın kotu arasında (±1,5 m)

otomatik

16 Yinelenen

tekrar eden GlobalId; aynı sınıf+ad+yerleşim

otomatik

18 IFC sürümü

IFC4X3, .ifc uzantısı

otomatik

19 Ön Tanımlı Tip

boş / NOTDEFINED; USERDEFINED ise ObjectType

otomatik

1, 21

dosya boyutu sınırı yayımlanmadı; PDF–IFC uyumu

elle

EK-6'nın 68 zorunlu sınıf tablosunun tamamı nihai Resmî Gazete ekinden sayfa sayfa okunup kodlandı; her öznitelik IFC 4.3 şemasına, her özellik buildingSMART'ın resmî Pset şablonlarına karşı testle doğrulanır. Hangi tablonun hangi sayfadan geldiği: KAYNAKLAR.md. Geometri kontrolleri (mahal gövdesi, örtüşme, kot) sınır kutusu tabanlıdır — hızlı ve kaba; L biçimli mahallerde yanlış alarm verebilir, bunu bulgu metni de söyler.

Gerçek modellerde ne çıkıyor

Halka açık üç modelde, hiçbir şey değiştirmeden (bu modeller yönetmelik yokken yapıldı; sonuç "hazırlık ne kadar" sorusunun cevabıdır):

Model

Şema

Süre

Hata / uyarı

Öne çıkanlar

buildingSMART resmî IFC 4.3 örneği, Building-Architecture.ifc (SketchUp, 21 varlık)

IFC4X3

< 1 s

32 / 5

Koordinat sistemi EPSG:32760 (Türkiye dilimi değil); 2 vekil sınıf; mahal numaraları ve TREpys_ setleri yok; Pset_BuildingCommon boş

Revit 2021 konut, Ifc4_Revit_ARC.ifc (13 MB, 522 varlık)

IFC4

1,7 s

47 / 12

IFC 4.3 değil; 66 IfcBuildingElementProxy; 511 varlık adı şablon dışı; 47 duvarda FireRating yok; IfcPlate (44 giydirme cephe paneli) yönetmelik listesinde yok; hiç IfcSpace yok; koordinat sistemi yok

IfcOpenShell örnek evi, Ifc4_SampleHouse.ifc (2 MB)

IFC4

< 1 s

40 / 9

IFC4; IfcWallStandardCase (4.3'te kaldırıldı); malzeme adları Ad_Dayanım biçiminde değil; 28 elemanda Ön Tanımlı Tip yok

Ders: bugünkü tipik bir Revit çıktısı ile yönetmeliğin istediği dosya arasındaki fark büyük ama sayılabilir — IFC 4.3'e geçiş, vekil sınıfların sınıflandırılması, isimlendirme şablonu, yangın/kullanım özellikleri ve Türkiye'ye özel parsel/emsal setleri. Araç bu listeyi GlobalId'leriyle veriyor. Bir de yönetmeliğin kendi boşluğu görünüyor: Revit'in giydirme cephe panellerini attığı IfcPlate EK-5'in iki listesinde de yok (KAYNAKLAR.md).

Yönetmelik ne diyor, kısaca

  • Ruhsat eki projeler BIM tabanlı hazırlanır, IFC 4.3 (TS EN ISO 16739-1) teslim edilir; 2B paftalar modelden üretilip PDF/A verilir (m.4, m.9).

  • Varlıklar EK-5'teki sınıflarla, Disiplin-KategoriKodu-Açıklama adıyla modellenir (m.11, EK-5); vekil sınıf yasak (EK-6 6.1.3).

  • Her sınıf için EK-6'daki öznitelik ve özellik setleri, projeler için EK-7 (Türkiye'ye özel TREpys_ setleri dahil) doldurulur (m.12–13).

  • Model LOD 300'dür (EK-8); her teslimde EK-9 formu düzenlenir (m.15).

  • Takvim (Geçici m.1): yürürlük 1.9.2027; IFC teslimi 1.9.2029'dan itibaren büyükşehirlerdeki >10.000 m² projelerle başlar, 1.9.2032'de bütün binalar, 1.9.2033'te konut dışı.

Metin: Resmî Gazete 20260805-2 · Ekler (241 s.): 20260805-2-1.pdf

Kendi kurallarınız

Yönetmelik verisi src/ifc_ruhsat/ekler/*.json içinde, her dosya kaynağını kendi kaynak alanında söyler. Bir EK-6 tablosu eklemek: ilgili Resmî Gazete sayfasını okuyup ek6_ozellikler.json'a satırı ve sayfa numarasını yazın, testleri çalıştırın. Kural eklemek: src/ifc_ruhsat/kurallar/ altına kontrol(baglam) -> list[Bulgu] imzasıyla bir modül, kontrol.py'daki MODULLER'e bir satır. Her bulgu bir maddeye ve bir EK-9 satırına bağlanmak zorundadır; dayanağı olmayan kural eklenmez.

uv sync && uv run pytest && uv run ruff check .

English

ifc-ruhsat checks an IFC model against Türkiye's building-permit BIM regulation (Official Gazette 5 Aug 2026, no. 33331; in force 1 Sep 2027; IFC delivery phased in from Sep 2029). It encodes the regulation's annexes — mandatory IFC 4.3 classes and 3-letter category codes (Annex 5), per-class attribute and property-set requirements including the Turkish TREpys_ sets (Annex 6), project/person/organisation and TUREF coordinate requirements (Annex 7) — and fills in the 21-row model quality-control form (Annex 9). Findings cite the article and annex table and list GlobalIds. Vendor-neutral (IfcOpenShell), usable as a CLI, as an MCP server for Claude/Cursor, and as buildingSMART IDS files for Solibri/BIMcollab/usBIM. It is an automated pre-check, not legal advice; rows that cannot be verified by machine are reported as manual, never as passed.

Lisans

MIT. Yönetmelik metni ve ekleri kamu belgesidir; buradaki JSON dosyaları o eklerin makine biçimidir, hangi sayfadan alındığı her birinde yazılıdır.

mcp-name: io.github.BerkantACUN/ifc-ruhsat

Available Tools

6 tools
ek5_siniflarA
Read-only

EK-5'teki zorunlu (Tablo 5.1) ve isteğe bağlı (Tablo 5.2) IFC sınıfları, Türkçe adı ve üç harfli kategori koduyla; ara ile sınıf/Türkçe ad filtresi. Lists the regulation's mandatory and optional IFC classes with their Turkish names and 3-letter category codes.

ParametersJSON Schema
NameRequiredDescriptionDefault
araNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds value by specifying the two tables (Tablo 5.1 mandatory, Tablo 5.2 optional) and the ara filter behavior, but does not go further (e.g., no mention of output size, matching rules, or pagination). Consistent with annotations — no contradiction.

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?

A single front-loaded sentence that states the purpose first and the filter detail second. Bilingual (Turkish/English) but no redundancy — every clause earns its place. Ideal length for a one-parameter read-only tool.

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?

Complete for a simple, one-optional-parameter, read-only lookup. The output schema exists and documents return values, so the description needn't explain them. The only minor gap is filter matching details, which are parameter semantics rather than overall completeness.

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

Parameters3/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. It does explain that `ara` filters by class/Turkish name, adding meaning beyond the bare schema. However, it omits matching semantics (partial vs. exact, case sensitivity), leaving the agent to guess filter behavior.

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

Purpose5/5

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

The description states a specific verb ('Lists') and resource ('the regulation's mandatory and optional IFC classes') with the exact data returned (Turkish names, 3-letter category codes). It's specific enough to distinguish from siblings like model_ozeti or yonetmelik_bilgisi, even without naming them.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Siblings yonetmelik_bilgisi and yonetmelik_kontrolu are closely related regulation tools, and the description doesn't disambiguate when to reach for this one. Usage context is only implied by the EK-5 IFC-class scope.

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

ek6_gerekenlerB
Read-only

Bir IFC sınıfı için yönetmeliğin istediği zorunlu öznitelikler, özellik setleri (Pset_/Qto_/TREpys_) ve Ön Tanımlı Tip listesi — EK-6 (yapı elemanları) ya da EK-7 (proje, kişi, kuruluş, koordinat). Kodlanmamış bir sınıf için bunu açıkça söyler. Required attributes and property sets for one IFC class per Annex 6/7.

ParametersJSON Schema
NameRequiredDescriptionDefault
ifc_sinifiYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already convey read-only and non-open-world behavior. The description adds useful behavioral context by stating that for an uncoded class it explicitly says so, and it clarifies which annex applies depending on the class type (building elements vs project/person/organization/coordinate). No contradiction with annotations.

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

Conciseness3/5

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

The main content is front-loaded in the first Turkish sentence, and the edge-case behavior is a useful second sentence. However, the final English sentence largely repeats the first one, adding redundancy without new information.

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?

Given the tool's simplicity (one string parameter, output schema present) and read-only annotations, the description covers the essential context: what is returned, scope, annex applicability, and unknown-class behavior. It does not over-explain return values, which is appropriate since an output schema exists.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate, but it only restates that the input is 'one IFC class,' which is already evident from the parameter name `ifc_sinifi`. It provides no format guidance, examples, or constraints (e.g., must be a valid IFC class name), leaving the agent to guess the expected string shape.

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 specifies the resource (one IFC class) and what is returned (mandatory attributes, property sets, predefined type list) and anchors it to Annex 6/7. It is clear enough to distinguish from siblings like ek5_siniflar or model_ozeti, though it lacks an explicit verb like 'returns' or 'lists'.

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 description implies the tool should be used when a user needs the required attributes or property sets for a single IFC class per Annex 6/7, but it does not explicitly mention when to prefer it over siblings or state any exclusions. No alternative tools are named or compared.

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

ek9_formuB
Read-only

EK-9 Model Kalite Kontrol Formu'nu (Tablo 9.1, 21 satır) Markdown olarak üretir; her satır Evet / Hayır / Elle ve dayanağıyla. Renders the regulation's model quality-control form (Annex 9) for the model as Markdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
dosyaYes
disiplinNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the tool is known to be a safe read operation. The description adds value by stating the output is Markdown and that each row includes Yes/No/Manual and a basis, which is behavioral context beyond annotations. However, it does not discuss any side effects, permissions, or edge cases. Given the annotations cover safety, a score of 3 is appropriate.

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?

The description is concise, using two sentences to convey the core function and output structure. It is front-loaded with the main action (generate the form) and then details the row format. No unnecessary fluff or repetition.

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

Completeness2/5

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

While an output schema exists (not shown), the description does not explain how the parameters affect the generated form, nor does it mention any prerequisites or limitations. With 2 parameters and zero schema coverage, the tool is under-specified. The description only covers the output format but leaves input semantics and usage conditions unaddressed.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides no information about the parameters 'dosya' (file) or 'disiplin' (discipline). The agent has no clue what these inputs mean, what formats they expect, or how they influence the output. This is a critical gap since the description must compensate for missing schema details but fails to do so.

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

Purpose5/5

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

The description clearly states the tool's function: generating the EK-9 Model Quality Control Form as Markdown, specifying the table number (9.1), row count (21), and the structure of each row (Evet/Hayır/Elle with justification). This distinguishes it from sibling tools like ek5_siniflar or ek6_gerekenler, which handle other annexes.

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

Usage Guidelines2/5

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

No explicit guidance is provided on when to use this tool versus the siblings. While the purpose implies it is for the EK-9 form, there is no mention of alternative tools or conditions for selection. The agent must infer usage from the name alone, which is a significant gap.

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

model_ozetiB
Read-only

IFC dosyasının kimliği: şema (IFC4X3 olmalı), üreten yazılım, proje/saha/bina/kat adları, mahal sayısı ve sınıf başına varlık sayıları. Summary of an IFC file: schema, authoring software, spatial structure and entity counts by class.

ParametersJSON Schema
NameRequiredDescriptionDefault
dosyaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

The readOnlyHint annotation already covers the absence of side effects, and the description adds a useful IFC4X3 schema constraint plus the exact dimensions of the summary. It does not, however, describe behavior when the file is missing, the schema is not IFC4X3, or the file is invalid.

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?

The description is short, front-loads the key topic, and organizes the output contents as a list. The Turkish and English sentences are near-duplicates, so the second sentence adds little information, but the overall size is appropriate.

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?

For a simple read-only tool with an output schema and one parameter, the description covers the main purpose and an important input constraint. It is not fully complete because it lacks input handling details and any pointer to when this summary is useful relative to the compliance-focused sibling tools.

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

Parameters3/5

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

With 0% schema description coverage, the description must carry the parameter meaning, and it does identify 'dosya' as an IFC file and even pins the expected schema version. It does not specify whether the string should be a file path, upload reference, or URL, but for a single parameter this is a workable level of clarity.

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 clearly identifies the tool as producing a summary of an IFC file and enumerates the exact contents: schema, authoring software, spatial structure, and per-class entity counts. It does not use an explicit verb and does not directly contrast with sibling tools, but the resource and scope are unmistakable.

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

Usage Guidelines2/5

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

There is no guidance on when to prefer this tool over siblings such as yonetmelik_kontrolu or ek5_siniflar, and no exclusions or prerequisites are stated. The only implicit signal is that a summary is returned, which is not enough for routing.

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

yonetmelik_bilgisiA
Read-only

Aracın dayandığı yönetmelik, Resmî Gazete tarihi/sayısı, yürürlük ve kademeli IFC takvimi, veri dosyalarının kaynak satırları ve araç sürümü. Which regulation this tool encodes, with the phased deadlines.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the description does not need to restate safety. It adds value by listing the exact types of information returned (regulation, gazette, calendar, source lines, version), which clarifies the tool's scope beyond the annotations. No contradictions.

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?

The description is two sentences and roughly 30 words, which is appropriately concise. However, the second sentence in English ('Which regulation this tool encodes, with the phased deadlines.') largely repeats the first sentence's content, adding redundancy. Still, it is front-loaded with the core purpose and efficient overall.

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 metadata-only tool with no parameters and an output schema present, the description covers the key return elements (regulation, gazette, calendar, source lines, version). It does not detail the output format, but the output schema presumably handles that. The description is sufficient for an agent to understand what information it will receive.

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?

The tool has zero parameters, and the input schema is empty with 100% coverage. Baseline for 0 parameters is 4. The description correctly focuses on the output content rather than parameters, since there are none to explain.

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

Purpose5/5

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

The description clearly states the tool returns regulatory metadata: the regulation, Official Gazette date/number, validity, IFC calendar, data source lines, and version. It distinguishes itself from siblings like yonetmelik_kontrolu (regulation check) and model_ozeti (model summary) by focusing on static regulatory information rather than validation or summaries.

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 description implies this is a reference/metadata lookup, but it does not explicitly state when to use it versus siblings. There is no mention of conditions like 'use this when you need the regulation basis' or exclusions. The context is somewhat clear from the name and purpose, but no direct guidance is given.

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

yonetmelik_kontroluA
Read-only

Modeli yönetmeliğe göre denetler: IFC sürümü, Proje/Saha/Bina/Kat iskeleti, EK-5 sınıf listesi ve yasak vekil sınıflar, EK-5 isimlendirme (Disiplin-Kategori-Açıklama), EK-6/EK-7 zorunlu öznitelik ve özellik setleri (TREpys_ dahil), koordinat sistemi (TUREF EPSG:5253–5259), kat bağı, yinelenen varlıklar, emsal toplamları. Her bulgu: seviye (hata/uyari/elle/bilgi), madde, EK-9 satırı, GlobalId listesi. Checks an IFC model against the Turkish building-permit BIM regulation and returns findings with article references. disiplin: EK-2 kodu (MM mimari, ST statik, MK mekanik, EE elektrik); verilmezse dosya adından, yoksa MM.

ParametersJSON Schema
NameRequiredDescriptionDefault
dosyaYes
disiplinNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

The description adds valuable behavioral context beyond the annotations: it explains the output format (level, article, EK-9 line, GlobalId list) and the default behavior of the `disiplin` parameter (derived from file name, fallback to MM). This complements the readOnlyHint and openWorldHint annotations without contradiction.

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

Conciseness3/5

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

The description is informative but somewhat verbose, with the Turkish and English sentences repeating the core purpose. It is structured with a list of checks and a parameter note, but the redundancy and length could be trimmed for clarity without losing essential details.

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?

The description covers the tool's scope, output format, and parameter behavior, and an output schema exists to specify return values. It lacks explicit mention of the `dosya` parameter's exact format and any prerequisites, but overall it is complete enough for an agent to understand how to invoke and interpret the tool.

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

Parameters3/5

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

The description thoroughly explains the `disiplin` parameter (allowed values and default logic), but it does not explicitly define the `dosya` parameter as the IFC file path, though it is implied by the tool's purpose. Given the schema has 0% coverage, the description only partially compensates for the missing parameter documentation.

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

Purpose5/5

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

The description clearly states the tool checks an IFC model against the Turkish building-permit BIM regulation, lists specific checks (IFC version, skeleton, EK-5 classes, naming, attribute sets, coordinate system, etc.), and describes the output findings. This is a distinct, comprehensive compliance check that is easily differentiated from the specialized sibling tools.

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 description implies usage for a full compliance audit but does not explicitly state when to use it versus alternatives like ek5_siniflar or ek6_gerekenler. It provides context but no exclusions or alternative conditions, leaving the agent to infer the scope.

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. 6 tool updatesv0.2.1
    • First observedek5_siniflar
    • First observedek6_gerekenler
    • First observedek9_formu
    • First observedmodel_ozeti
    • First observedyonetmelik_bilgisi
    • First observedyonetmelik_kontrolu

TDQS

A3.7/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a distinct purpose: model summary, compliance check, form generation, class listing, attribute requirements, and regulation metadata. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent pattern: lowercase Turkish nouns with underscores, e.g., model_ozeti, yonetmelik_kontrolu. No mixing of conventions or verb styles.

Tool Count5/5

6 tools is well-scoped for the IFC regulation-checking domain. Each tool provides a distinct capability without being redundant or overwhelming.

Completeness4/5

The tool set covers the core workflow: summary, compliance check, annex forms, class reference, and attribute requirements. Minor gap: no dedicated tool for Annex 7 alone, but ek6_gerekenler handles both Annex 6 and 7.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    Enables AI assistants to create, edit, and export IFC5/IFCX building information models through natural language, handling spatial structure, elements, geometry, metadata, validation, and export.
    73
    11 npm
    25
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to load, query, and analyze IFC building model files, including spatial structures, elements, properties, materials, and geometry.
    20
    MIT