Skip to main content
Glama

ictihat-mcp

Türk hukuku için bir MCP araç seti. Avukat kendi yapay zekâsını (Claude, ChatGPT…) getirir; bu MCP sunucusu ona Türk hukuku becerileri verir: semantik içtihat araması, doğrulanmış künye, dilekçe üretimi (metin · Word · UYAP UDF) ve kaynaklı duruşma hazırlığı.

An MCP server that gives any AI assistant Turkish-law skills: semantic case-law search with verified citations, petition (dilekçe) drafting (text · Word · UYAP .udf), and sourced hearing prep. Bring your own model.

Tasarım ilkesi — künye bütünlüğü (uydurma atıf yok)

Model künyeyi serbest metin olarak üretmez: opak bir karar_id taşır, tam metni karar_oku ile çözer, atfı kunye_dogrula ile teyit eder. Böylece var olmayan bir karar numarası kullanılamaz; üretilen her belge/hazırlıkta atıflar ya gerçektir ya da ⟦işaretlenir⟧.

Related MCP server: Hukuk MCP

Araçlar (9)

Araştırma

Araç

Ne yapar

ictihat_ara(anahtar, mahkeme?, boyut?)

Hibrit (vektör + BM25) arama + cross-encoder reranker + alaka eşiği; yerelde sonuç zayıfsa GİB'den canlı çekip indeksler.

karar_oku(karar_id)

Tam metin + künye.

kunye_dogrula(ifade)

Bir karar_id/atıfın korpusta var olduğunu doğrular (dogrulandi / olasi_eslesme / bulunamadi).

Dilekçe & duruşma hazırlığı

Araç

Ne yapar

dilekce_sablonlari()

Dilekçe şablonları + alanları (dava HMK m.119, cevap m.129).

dilekce_olustur(tur, alanlar)

Metin dilekçe taslağı; eksik zorunlu alan ⟦EKSİK⟧.

dilekce_belge(tur, alanlar, dosya_adi?)

Biçimli Word (.docx); boş alanlar sarı doldurma slotu.

dilekce_udf(tur, alanlar, dosya_adi?)

UYAP'a yüklenebilen imzasız .udf; eksik alanlar doldurulabilir <field>. Avukat UYAP'ta kendi e-imzasıyla imzalar.

durusma_hazirligi_sablonu()

Duruşma hazırlık notunun yapısı + kaynak kuralı.

durusma_hazirligi(hazirlik)

Kaynaklı hazırlık notu; her maddeye kaynak zorunlu (yoksa ⟦KAYNAK YOK⟧), uyarı metni sabit.

Kurulum

uv sync          # hafif: fastembed (ONNX), torch/CUDA YOK; python-docx

Gömme modeli (~220 MB) ilk aramada indirilir. Reranker modeli (~0.57 GB) ilk rerank'li aramada indirilir — ICTIHAT_RERANK=0 ile kapatılabilir (hafif mod).

Korpusu kur (çevrimdışı)

Arama, yerel bir LanceDB indeksi üzerinde çalışır; önce onu doldurun:

# GİB özelgeleri
uv run ictihat-index --kaynak gib --anahtar "kira geliri" "serbest meslek" --sayfa-sayisi 3 --boyut 50

# Yargıtay kararları (daire filtresiyle)
uv run ictihat-index --kaynak yargitay --anahtar "kıdem tazminatı" --hukuk-daire "9. Hukuk Dairesi" --adet 50

İndeks ./.ictihat_data/ altında oluşur (git'e girmez).

Çalıştırma

uv run ictihat-mcp        # stdio MCP sunucusu (yapay zekâ istemcisi buna bağlanır)

Claude'a bağlamak

Proje köküne, makinenize göre bir .mcp.json koyun (örnek):

{
  "mcpServers": {
    "ictihat": {
      "command": "uv",
      "args": ["run", "--directory", "/MUTLAK/YOL/ictihat-mcp", "ictihat-mcp"],
      "env": { "ICTIHAT_RERANK": "0" }
    }
  }
}

ya da elle:

claude mcp add ictihat --scope project -- uv run ictihat-mcp

Ortam değişkenleri

Değişken

Varsayılan

Açıklama

ICTIHAT_DATA_DIR

./.ictihat_data

İndeks klasörü

ICTIHAT_EMBED_MODEL

paraphrase-multilingual-MiniLM-L12-v2

Gömme modeli

ICTIHAT_RERANK

1

0 = reranker kapalı (hafif)

ICTIHAT_RERANK_MODEL

BAAI/bge-reranker-v2-m3-int8

Reranker modeli

ICTIHAT_THREADS

çekirdek/2 (≤4)

ONNX iş parçacığı sınırı

ICTIHAT_RELEVANCE_MIN

0.30

Alaka eşiği (altı elenir)

ICTIHAT_GIB_FALLBACK

1

Zayıf sonuçta GİB canlı yedeği

ICTIHAT_DILEKCE_DIR

./dilekceler

Üretilen .docx/.udf klasörü

Modüller

src/ictihat_mcp/
  server.py        MCP sunucusu (9 aracı tanımlar)
  retrieve.py      hibrit arama + rerank + alaka eşiği + GİB yedeği (çekirdek)
  embed.py         fastembed gömme (ONNX; thread sınırlı)
  rerank.py        cross-encoder reranker (fastembed ONNX; torch yok)
  store.py         LanceDB: vektör + BM25/FTS + tam metin
  chunk.py         hukuki yapıya duyarlı parçalama
  normalize.py     HTML→metin
  dilekce.py       HMK şablonları + doldurma (metin)
  dilekce_docx.py  Word (.docx) üretimi
  dilekce_udf.py   UYAP UDF (.udf) üretimi (imzasız)
  prep.py          duruşma hazırlığı (kaynak zorunlu + uyarı)
  ingest/          korpus kaynakları (sources/gib.py, sources/yargitay.py) + build_index

Yol haritası

  1. Mevzuat — kanun/yönetmelik korpusu (mevzuat.gov.tr) ve kaynaklı maddeler; mevzuat_dogrula.

  2. Emsal karşılaştırma — bir olaya en benzer kararlar + sonuç dağılımı (tahmin değil, dürüst sayım).

  3. Daha çok içtihat kaynağı — Danıştay (UYAP Emsal), AYM.

Lisans

MIT — bkz. LICENSE.

Uyarı

Bu araçlar avukata yardımcıdır; hukuki danışmanlık değildir. Üretilen her belge/hazırlık avukat kontrolünden geçmeli, atıflar teyit edilmelidir. .udf çıktıları imzasızdır; imza UYAP'ta avukatın kendi e-imzasıyla atılır.

Related MCP Connectors

Related MCP Servers

  • 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
  • A
    license
    B
    quality
    B
    maintenance
    Connects AI clients to public Turkish legislation and court/board decisions, letting users search and retrieve legal texts, case law, and institutional rulings, and generate petition drafts and UYAP UDF files.
    20
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables local, privacy-conscious research across Turkish case law and legislation by searching precedent and statutes, retrieving decisions and article trees/content, and assembling sourced research drafts with verified quotations.
    -
  • A
    license
    B
    quality
    A
    maintenance
    Enables citation-safe legal research and document drafting over official Turkish case law and legislation, searching a local 11-million-decision corpus with full-text and semantic retrieval or querying live sources like Bedesten, AYM, Danıştay and mevzuat.gov.tr. It also supports citation verification, petition and bundle preparation, change reports, privacy redaction, and source health checks through core and loadable extended tool sets.
    11
    138 PyPI
    3
    AGPL 3.0