Skip to main content
Glama
skraptt
by skraptt

Türk Mevzuat MCP

Türk kanunları için açık kaynak bir Model Context Protocol sunucusu. Claude gibi AI asistanlarına bağlanır; kanun maddelerini arar, tam metni getirir ve her sonucu atıf ("TBK m. 315"), Resmî Gazete künyesi ve mevzuat.gov.tr bağlantısıyla döndürür.

⚠️ Hukuki görüş değildir. Sunucu kanun metnine erişim sağlar; metnin belirli bir tarihteki hâlini döndürür. Güncel değişiklikleri mevzuat.gov.tr üzerinden doğrulayın.

English summary below.

Araçlar

Araç

Ne yapar

search_legislation

Doğal dil sorgusuyla madde arar ("kiracının temerrüdü", "açık rıza olmadan veri işleme"). Sorgu bir atıfsa ("TBK m. 315", "6098/344", "TMK geçici m. 1") doğrudan o maddeyi döndürür. kanun ile tek kanunda aranabilir.

get_article

Bir maddenin tam metnini getirir. madde: "315", "1/A", "Geçici 1", "Ek 3", en fazla 10 maddelik aralık ("344-347") ya da fıkra ve bent ("315/2", "5/2-ç"). Fıkra istenirse ilgili bölüm ayrıca alinti olarak döner.

get_article_history

Bir maddenin değişiklik geçmişini tarih sırasıyla verir: hangi tarihte, hangi kanun ya da KHK maddesiyle değiştirildiği, eklendiği, yürürlükten kaldırıldığı ya da Anayasa Mahkemesince iptal edildiği ve hangi fıkrada. mevzuat.gov.tr metnindeki notlardan ve dipnotlardan çıkarılır.

list_laws

Kapsanan kanunları künyeleriyle listeler.

Bütün araçlar salt okunurdur (readOnlyHint: true). Kanun metni çıktıda <kanun_metni> etiketleri içinde, veri olarak verilir.

Related MCP server: Mevzuat MCP

Kapsam

27 kanun ve 20 yönetmelik/tebliğ, yaklaşık 7.500 madde. Her sonuç iki tarih taşır: metinTarihi (metnin alındığı gün) ve sonKontrol (metnin mevzuat.gov.tr'deki güncel hâliyle en son karşılaştırıldığı gün). Metinler her gün otomatik olarak kontrol edilir (bkz. Güncellik).

Kısaltma

Kanun

TMK

4721 sayılı Türk Medeni Kanunu (ve 4722 sayılı Yürürlük Kanunu)

TBK

6098 sayılı Türk Borçlar Kanunu (ve 6101 sayılı Yürürlük Kanunu)

TTK

6102 sayılı Türk Ticaret Kanunu (ve 6103 sayılı Yürürlük Kanunu)

HMK

6100 sayılı Hukuk Muhakemeleri Kanunu

TKHK

6502 sayılı Tüketicinin Korunması Hakkında Kanun

KVKK

6698 sayılı Kişisel Verilerin Korunması Kanunu

FSEK

5846 sayılı Fikir ve Sanat Eserleri Kanunu

SMK

6769 sayılı Sınai Mülkiyet Kanunu

SPK

6362 sayılı Sermaye Piyasası Kanunu

Çek K.

5941 sayılı Çek Kanunu

İş K.

4857 sayılı İş Kanunu

İİK

2004 sayılı İcra ve İflas Kanunu

TCK

5237 sayılı Türk Ceza Kanunu

CMK

5271 sayılı Ceza Muhakemesi Kanunu

Kab. K.

5326 sayılı Kabahatler Kanunu

AY

2709 sayılı Türkiye Cumhuriyeti Anayasası

İYUK

2577 sayılı İdari Yargılama Usulü Kanunu

HUAK

6325 sayılı Hukuk Uyuşmazlıklarında Arabuluculuk Kanunu

İş Mah. K.

7036 sayılı İş Mahkemeleri Kanunu

KMK

634 sayılı Kat Mülkiyeti Kanunu

Av. K.

1136 sayılı Avukatlık Kanunu

VUK

213 sayılı Vergi Usul Kanunu

5651 s. K.

5651 sayılı İnternet Ortamında Yapılan Yayınların Düzenlenmesi … Hakkında Kanun

ETDHK

6563 sayılı Elektronik Ticaretin Düzenlenmesi Hakkında Kanun

Yönetmelik ve tebliğler

Alan

Düzenleme

KVKK ve bilişim

Veri Sorumluları Sicili Hakkında Yönetmelik · Kişisel Verilerin Silinmesi, Yok Edilmesi veya Anonim Hale Getirilmesi Hakkında Yönetmelik · Kişisel Verilerin Yurt Dışına Aktarılmasına İlişkin Usul ve Esaslar Hakkında Yönetmelik · Aydınlatma Yükümlülüğü Tebliği · Veri Sorumlusuna Başvuru Tebliği · Ticari İletişim ve Ticari Elektronik İletiler Hakkında Yönetmelik · E-Ticaret Aracı Hizmet Sağlayıcı ve Hizmet Sağlayıcılar Hakkında Yönetmelik

Tüketici

Mesafeli Sözleşmeler · Tüketici Hakem Heyetleri · Garanti Belgesi · Satış Sonrası Hizmetler · Abonelik Sözleşmeleri · Ticari Reklam ve Haksız Ticari Uygulamalar · Tüketici Sözleşmelerindeki Haksız Şartlar · Ön Ödemeli Konut Satışları · Paket Tur Sözleşmeleri · Taksitle Satış Sözleşmeleri yönetmelikleri

Usul

HUAK Yönetmeliği · Tebligat Kanununun Uygulanmasına Dair Yönetmelik · Elektronik Tebligat Yönetmeliği

Yönetmelik ve tebliğlerin numarası, mevzuat.gov.tr'deki kayıt numarasıdır (ör. Mesafeli Sözleşmeler Yönetmeliği = 20237); Resmî Gazete tarihi künyede yer alır.

Henüz kapsanmayanlar: diğer vergi kanunları, yukarıdakiler dışındaki yönetmelikler, Cumhurbaşkanlığı kararnameleri ve içtihat.

İçtihat için: Bu sunucu yalnızca kanun metni verir. Yargıtay, Danıştay ve Anayasa Mahkemesi kararları için açık kaynak Yargı MCP sunucusunu birlikte kullanabilirsiniz: biri kanunun güncel metnini, öteki o maddeyi uygulayan kararları getirir.

mevzuat.gov.tr'deki dipnotlar (değişiklik ve Anayasa Mahkemesi iptal kararı notları) atılmaz; ilgili maddenin sonucunda dipnotlar alanında döner.

Arama nasıl çalışır?

  • Sözcük araması (BM25): Türkçe karakterler katlanır ("kiracinin" = "kiracının") ve sözcükler iki düzeyde köklenir (ilk 5 ve ilk 7 karakter). Madde başlıkları gövdeden daha ağır sayılır.

  • Kavram dizini (src/concepts.mjs): Kanunun kullanmadığı gündelik terimleri ilgili maddeye bağlar; örneğin kanun "depozito" demez, TBK m. 342 "güvence" der. Kanun kitaplarının sonundaki kavram dizini gibi çalışır ve hukukçular tarafından genişletilebilir.

  • Gündelik dil sözlüğü (src/synonyms.mjs): Sorgudaki gündelik sözcüğe kanundaki karşılığını ekler ("patron" → "işveren", "maaş" → "ücret", "ev sahibi" → "kiraya veren"). Kavram dizininden farkı, belirli maddeye bağlamaması; yalnızca aramaya terim ekler.

  • Sıralama düzeltmeleri: Sorguda adı ya da kısaltması geçen kanunun maddeleri öne çıkar ("kvkk idari para cezası" → KVKK m. 18). Amaç, kapsam, dayanak, yürürlük ve yürütme maddeleri ile uygulama (yürürlük) kanunları geri çekilir. "İstiyorum", "alabilir miyim" gibi konuşma dili sözcükleri sorgudan atılır.

  • Anlamsal arama (src/semantic.mjs): Sorgu, Cloudflare Workers AI'daki çok dilli qwen3-embedding-0.6b modeliyle vektöre çevrilir ve Cloudflare Vectorize'da anlamca en yakın maddeler bulunur. Bu liste sözcük aramasıyla Reciprocal Rank Fusion ile birleştirilir; kavram dizini sonuçları yine en öndedir. Madde vektörleri yayımlamadan önce GitHub Actions'ta hesaplanır ve yalnızca değişen maddeler yeniden hesaplanır (scripts/embed.mjs, .github/workflows/anlamsal.yml). Anlamsal arama erişilemezse sunucu sözcük aramasıyla çalışmaya devam eder; yerelde (npm start) yalnızca sözcük araması vardır.

  • Bölüm yolu: Her madde, bulunduğu "Kitap › Kısım › Bölüm › Ayırım" başlıklarıyla birlikte dizine eklenir (ör. TTK m. 409: "Ticaret Şirketleri › Anonim Şirket › Genel Kurul"). Böylece "anonim şirket genel kurul toplantısı" gibi konu aramaları doğru bölüme gider. Bölüm yolu sonuçlarda bolum alanında da gösterilir.

  • Atıf tanıma: "VUK mükerrer m. 257", "TBK m. 315", "Borçlar Kanunu m.315", "6098/315", "KVKK m. 5/2-ç", "KVKK m. 5 f.2 b.ç" gibi yazımlar.

Mevzuat verisi sunucunun içine gömülüdür. Tek dış bağlantı, anlamsal arama için aynı Cloudflare hesabındaki Workers AI ve Vectorize hizmetleridir.

Ölçülen kalite (npm run eval, ayrıntı için npm run eval -- --ayrinti). Set 133 sorudan oluşur ve iki kümeye ayrılır: sıralama ayarlanırken bakılan geliştirme kümesi (103 soru) ve ayarlama sırasında bakılmayan kör küme (30 soru). Sorular hukukçu diliyle (teknik) ve vatandaş diliyle (gündelik) yazılmıştır; beklenen maddeler veri üzerinde tek tek doğrulanmıştır. v0.9.0 sonuçları (anlamsal arama ile; parantez içinde yalnız sözcük araması):

Küme

İlk sonuç

İlk 3

MRR@5

Geliştirme (103)

%74 (%71)

%91 (%89)

0,82 (0,81)

Kör (30)

%47 (%40)

%73 (%70)

0,62 (0,54)

Kör, yalnız teknik (15)

%60 (%67)

%87 (%87)

0,74 (0,76)

Kör, yalnız gündelik (15)

%33 (%13)

%60 (%53)

0,50 (0,31)

Anlamsal aramayla ölçmek için vektör önbelleği gerekir: git show origin/vektor-onbellek:vectors.json > /tmp/v.json && npm run eval -- --vektor /tmp/v.json.

Geliştirme kümesindeki yüksek oran kısmen kavram dizininin bu sorulara göre genişletilmesinden gelir; gerçek kullanıma daha yakın tahmin kör kümedir. Gündelik dille sorulmuş, kanun terimlerini hiç içermeyen sorular hâlâ zayıf noktadır: bu tür sorularda doğru madde çoğu zaman ilk üçtedir ama ilk sırada değildir. Anlamsal arama gündelik dildeki sorularda belirgin fark yaratır, ama tek başına sözcük aramasından zayıftır (kör kümede ilk 3: %53); iki yöntem birlikte en iyi sonucu verir.

Kurulum ve çalıştırma

Bağımlılık yoktur; Node.js 20+ yeterlidir.

npm test             # veriyi derler, birim ve protokol testlerini çalıştırır
npm run eval         # arama kalitesi
npm run dev          # yerel sunucu: http://localhost:8787/mcp

Cloudflare Workers'a yayımlama

npx wrangler@4 login
npm run deploy       # → https://turk-mevzuat-mcp.<hesabınız>.workers.dev/mcp

Veri dosyası (sıkıştırılmış ~2,2 MB) Worker'ın içine gömülür; ücretsiz planın paket sınırına sığar.

Claude'a bağlama

Claude'da özel connector olarak ekleyin ve sunucu adresi olarak https://<worker-adresiniz>/mcp girin. Kimlik doğrulama gerekmez.

Güncellik

Kanun metinleri GitHub Actions ile her gün mevzuat.gov.tr'deki güncel hâlleriyle karşılaştırılır (refresh.yml):

  1. Her kanunun tam metin sayfası indirilir, düz metne çevrilir (scripts/lib/html.mjs) ve maddelere ayrılır (scripts/lib/parse.mjs).

  2. Yeni metin, mevcut metinle madde madde karşılaştırılır.

  3. Fark yoksa data/sources.json'daki kontrol tarihi işlenir ve sunucu yeniden yayımlanır; sonuçlardaki sonKontrol alanı o günü gösterir.

  4. Fark varsa değişen, eklenen ve çıkan maddeleri gösteren bir rapor ile PR açılır. Metin değişikliği, PR bir insan tarafından incelenip birleştirilmeden yayına girmez.

  5. Emniyet freni: sayfa alınamazsa, sayfada beklenen kanun yoksa ya da madde sayısı şüpheli biçimde düşerse o kanuna dokunulmaz ve bir issue açılır.

Elle çalıştırmak için:

npm run refresh                       # tüm kanunlar; rapor: refresh-report.md
node scripts/refresh.mjs --only 6098 --dry-run

Yeni kanun eklemek için scripts/laws.mjs dosyasına künyesini, data/sources.json dosyasına boş bir metinle kaydını ekleyip npm run refresh çalıştırın.

Kurulum (bir kez): depoda CLOUDFLARE_API_TOKEN ve CLOUDFLARE_ACCOUNT_ID secret'ları tanımlanmalı ve Settings › Actions › General altında "Allow GitHub Actions to create and approve pull requests" açık olmalıdır.

Veri kaynağı ve lisans

Kanun metinleri mevzuat.gov.tr'den alınmıştır. FSEK m. 31 uyarınca resmen yayımlanan kanunların çoğaltılması, yayılması ve işlenmesi serbesttir. Madde ayrıştırma, dizin ve sunucu kodu Apache-2.0 lisanslıdır. Bu proje T.C. Cumhurbaşkanlığı Mevzuat Bilgi Sistemi ile bağlantılı değildir.

Gizlilik

Ayrıntılı ve İngilizce metin: PRIVACY.md.

  • Sunucu kullanıcı hesabı, çerez ya da kimlik doğrulama kullanmaz.

  • Gönderdiğiniz sorgular yalnızca cevabı üretmek için işlenir; sunucu tarafından kaydedilmez, saklanmaz ve üçüncü kişilerle paylaşılmaz. Kodda kayıt (log) tutan bir bölüm yoktur ve Cloudflare gözlemlenebilirlik kayıtları kapalıdır (wrangler.toml).

  • Sunucu Cloudflare Workers üzerinde çalışır. Cloudflare, hizmeti sunmak ve güvenliği sağlamak için IP adresi gibi bağlantı verilerini kendi gizlilik politikasına göre işler.

  • Saklama: Sunucu kişisel veri saklamaz.

  • İletişim: GitHub'da bildirim açın.


English

An open-source MCP server for Turkish legislation. It lets AI assistants such as Claude search Turkish statutes, fetch the full text of an article, and cite it with the official short form (e.g. "TBK m. 315"), the Official Gazette (Resmî Gazete) reference and a link to mevzuat.gov.tr, the government's legislation portal.

  • Tools: search_legislation (Turkish natural-language search or a citation), get_article (full text of an article, a range of up to 10, or a single paragraph/sub-paragraph such as "KVKK m. 5/2-ç"), get_article_history (when and by which law an article was amended, repealed or annulled), list_laws.

  • Case law: not included; pair it with the open-source Yargı MCP for court decisions. All tools are read-only.

  • Freshness: a daily GitHub Action compares every statute with mevzuat.gov.tr article by article. Unchanged texts get a new sonKontrol (last checked) date; changes open a pull request with a diff report for human review.

  • Coverage: 27 statutes and 20 regulations/communiqués (data protection, consumer, e-commerce, service of process, mediation), about 7,500 articles. Statutes: the Constitution, Civil Code, Code of Obligations, Commercial Code, Civil, Criminal and Administrative Procedure, mediation, Labour Law and labour courts, Enforcement and Bankruptcy Law, Criminal Code, misdemeanours, condominium, the Attorneys Act, tax procedure, internet and e-commerce law, Consumer Protection, Personal Data Protection (KVKK), copyright, industrial property, capital markets, cheques. Each result states its text date.

  • Provenance: every result carries a citation, a stable id (6098/315), the Official Gazette date and number, the source URL and the text date. Statute text is returned inside <kanun_metni> tags and must be treated as data.

  • No authentication, no external calls, no logging. Runs on Cloudflare Workers with the data bundled in.

  • Licence: code Apache-2.0. Statute texts are free to reproduce under Art. 31 of the Turkish Law on Intellectual and Artistic Works.

  • Privacy policy: PRIVACY.md. No accounts, no cookies, no logging; queries are processed in memory only.

  • Not legal advice.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides programmatic access to Turkey's Ministry of Justice Legislation Information System (mevzuat.gov.tr), enabling users to search legislation, retrieve article hierarchies, and fetch article contents in Markdown format through natural language.
    1
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides programmatic access to the Turkish Ministry of Justice Legislation Information System (mevzuat.gov.tr). It enables searching for legislation, navigating hierarchical article structures, and retrieving article content in Markdown format.
    1
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables programmatic access to Turkish legislation from mevzuat.gov.tr, allowing search, full-text retrieval, and Boolean search within articles.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables MCP-compatible AI clients to research official Turkish legal sources locally by searching judicial decisions, legislation, and Constitutional Court decisions, and by retrieving legal documents, individual articles, and legislation structures.
    MIT