Türk mevzuatının resmî güncel metnini (mevzuat.gov.tr) yapay zekâ araçlarına açan MCP sunucusu.
Server provides 4 tools with complete input schemas and descriptions in Turkish. Naming follows verb_noun pattern (madde_getir, kanun_metni_getir, mevzuat_ara, bilinen_kanunlar). Descriptions are detailed (150-250 chars) and explain WHAT, WHEN, and dependencies. However, output schemas are not formally documented, responses are inferred from code comments. Parameter descriptions are present but lack explicit constraints (e.g., 'adet: 1-50' is stated in description but not as JSON Schema minItems/maxItems). No error handling guidance in tool descriptions. Tool composition is sound: each tool has one responsibility, and outputs contain IDs for chaining (mevzuat_id returned by mevzuat_ara can feed madde_getir/kanun_metni_getir).
Kayıtlı kanunları (kısaltma, no, ad, mevzuat_id) listeler. Kayıtta olmayan kanunlar da numara/kimlikle çağrılabilir; bu yalnızca yaygın kanunların hızlı dizinidir.
Bir kanunun RESMÎ güncel tam metnini getirir (mevzuat.gov.tr). Büyük kanunlar uzundur; tek madde gerekiyorsa `madde_getir` tercih edilmeli. Dönen: {kanun, mevzuat_id, kaynak, uzunluk, metin}. kanun: kısaltma ("TMK"), numara ("4721") veya tam kimlik ("1.5.4721").
Bir kanunun belirli maddesinin RESMÎ güncel metnini getirir. Atıf yapmadan önce bunu çağır: dönen `metin` mevzuat.gov.tr'nin yürürlükteki konsolide metnidir; `kaynak` doğrulama URL'sidir. `metin` None ise madde bulunamamıştır (numara yanlış ya da mülga) — uydurma, `uyari`yı aktar. kanun: kısaltma ("TBK"), numara ("6098") veya tam kimlik ("1.5.6098").
mevzuat.gov.tr'de KANUN arar; eşleşen kanunları ve kimliklerini döndürür. Kanunun numarasını bilmiyorsan önce bunu çağır: dönen her sonucun `mevzuat_id` değeri doğrudan `madde_getir`/`kanun_metni_getir`'e verilebilir. nerede: "Baslik" (kanun adında ara — kanunu bulmak için), "Icerik" (tam metinde ara — bir kavramın hangi kanunlarda geçtiğini taramak için) ya da "Tumu". adet: en çok kaç sonuç (1-50).
Output schemas not formally documented. Tool descriptions mention return structure (e.g., '{kanun, mevzuat_id, kaynak, uzunluk, metin}') but no JSON Schema definition visible in code. LLMs cannot reliably parse unstructured responses or plan downstream calls.
Parameter constraints stated in descriptions but not enforced in JSON Schema. 'adet: 1-50' is prose; should be minValue/maxValue in schema. 'nerede' enum values ('Baslik', 'Icerik', 'Tumu') are documented but not declared as enum in schema.
No error handling guidance in tool descriptions. If madde_getir returns metin=None (article not found), description says 'uydurma, uyari`yı aktar' (don't make it up, relay the warning) but does not explain what the LLM should do next or how to recover.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Tool descriptions are in Turkish. While domain-appropriate, descriptions should be in English for LLM compatibility. Most LLMs are trained primarily on English; Turkish descriptions may be misunderstood or ignored.
kanun parameter accepts multiple formats (abbreviation, number, full ID) but no validation or error message if format is invalid. LLM may pass malformed input; tool should return actionable error (e.g., 'Invalid kanun format. Expected: abbreviation (TBK), number (6098), or full ID (1.5.6098)').