MCP Server For Turkish Legal Databases
Bu proje, çeşitli Türk hukuk kaynaklarına (Yargıtay, Danıştay, Emsal Kararlar, Uyuşmazlık Mahkemesi, Anayasa Mahkemesi - Norm Denetimi ile Bireysel Başvuru Kararları, Kamu İhale Kurulu Kararları ve Rekabet Kurumu Kararları) erişimi kolaylaştıran bir FastMCP sunucusu oluşturur. Bu sayede, bu kaynaklardan veri arama ve belge getirme işlemleri, Model Context Protocol (MCP) destekleyen LLM (Büyük Dil Modeli) uygulamaları (örneğin Claude Desktop veya 5ire) ve diğer istemciler tarafından araç (tool) olarak kullanılabilir hale gelir.
🎯 Temel Özellikler
Çeşitli Türk hukuk veritabanlarına programatik erişim için standart bir MCP arayüzü.
Kapsamlı Mahkeme Daire/Kurul Filtreleme: 79 farklı daire/kurul filtreleme seçeneği
Dual/Triple API Desteği: Her mahkeme için birden fazla API kaynağı ile maksimum kapsama
Kapsamlı Tarih Filtreleme: Tüm Bedesten API araçlarında ISO 8601 formatında tarih aralığı filtreleme
Kesin Cümle Arama: Tüm Bedesten API araçlarında çift tırnak ile tam cümle arama desteği
Aşağıdaki kurumların kararlarını arama ve getirme yeteneği:
Karar metinlerinin daha kolay işlenebilmesi için Markdown formatına çevrilmesi.
Claude Desktop uygulaması ile fastmcp install
komutu kullanılarak kolay entegrasyon.
Yargı MCP artık 5ire gibi Claude Desktop haricindeki MCP istemcilerini de destekliyor!
🚀 Claude Haricindeki Modellerle Kullanmak İçin Çok Kolay Kurulum (Örnek: 5ire için)
Bu bölüm, Yargı MCP aracını 5ire gibi Claude Desktop dışındaki MCP istemcileriyle kullanmak isteyenler içindir.
uv
Kurulumu:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
curl -LsSf https://astral.sh/uv/install.sh | sh
yargimcp
Yargı MCP
uvx --from git+https://github.com/saidsurucu/yargi-mcp yargi-mcp
⚙️ Claude Desktop Manuel Kurulumu
Ön Gereksinimler: Python, uv
, (Windows için) Microsoft Visual C++ Redistributable'ın sisteminizde kurulu olduğundan emin olun. Detaylı bilgi için yukarıdaki "5ire için Kurulum" bölümündeki ilgili adımlara bakabilirsiniz.
Claude Desktop Settings -> Developer -> Edit Config.
Açılan claude_desktop_config.json
dosyasına mcpServers
altına ekleyin:
{
"mcpServers": {
// ... (varsa diğer sunucularınız) ...
"Yargı MCP": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/saidsurucu/yargi-mcp",
"yargi-mcp"
]
}
}
}
Claude Desktop'ı kapatıp yeniden başlatın.
🌟 Gemini CLI ile Kullanım
Yargı MCP'yi Gemini CLI ile kullanmak için:
Ön Gereksinimler: Python, uv
, (Windows için) Microsoft Visual C++ Redistributable'ın sisteminizde kurulu olduğundan emin olun. Detaylı bilgi için yukarıdaki "5ire için Kurulum" bölümündeki ilgili adımlara bakabilirsiniz.
Gemini CLI ayarlarını yapılandırın:
Gemini CLI'ın ayar dosyasını düzenleyin:
~/.gemini/settings.json
%USERPROFILE%\.gemini\settings.json
Aşağıdaki mcpServers
bloğunu ekleyin:
{
"theme": "Default",
"selectedAuthType": "###",
"mcpServers": {
"yargi_mcp": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/saidsurucu/yargi-mcp",
"yargi-mcp"
]
}
}
}
Yapılandırma açıklamaları:
"yargi_mcp"
: Sunucunuz için yerel bir isim"command"
: uvx
komutu (uv'nin paket çalıştırma aracı)"args"
: GitHub'dan doğrudan Yargı MCP'yi çalıştırmak için gerekli argümanlarKullanım:
🛠️ Kullanılabilir Araçlar (MCP Tools)
Bu FastMCP sunucusu aşağıdaki temel araçları sunar:
search_yargitay_detailed(arananKelime, birimYrgKurulDaire, ...)
: Yargıtay kararlarını detaylı kriterlerle arar. 52 daire/kurul seçeneği (Hukuk/Ceza Daireleri 1-23, Genel Kurullar, Başkanlar Kurulu)get_yargitay_document_markdown(id: str)
: Belirli bir Yargıtay kararının metnini Markdown formatında getirir.search_yargitay_bedesten(phrase, birimAdi, kararTarihiStart, kararTarihiEnd, ...)
: Bedesten API ile Yargıtay kararlarını arar. Aynı 52 daire filtreleme + Tarih Filtreleme + Kesin Cümle Arama ("\"mülkiyet kararı\""
)get_yargitay_bedesten_document_markdown(documentId: str)
: Bedesten'den karar metni (HTML/PDF → Markdown)search_danistay_by_keyword(andKelimeler, orKelimeler, ...)
: Danıştay kararlarını anahtar kelimelerle arar.search_danistay_detailed(daire, esasYil, ...)
: Danıştay kararlarını detaylı kriterlerle arar.get_danistay_document_markdown(id: str)
: Belirli bir Danıştay kararının metnini Markdown formatında getirir.search_danistay_bedesten(phrase, birimAdi, kararTarihiStart, kararTarihiEnd, ...)
: Bedesten API ile Danıştay kararlarını arar. 27 daire/kurul seçeneği + Tarih Filtreleme + Kesin Cümle Arama ("\"idari işlem\""
) (1-17. Daireler, Vergi/İdare Kurulları, Askeri Mahkemeler)get_danistay_bedesten_document_markdown(documentId: str)
: Bedesten'den karar metniYerel Hukuk Mahkemeleri:
search_yerel_hukuk_bedesten(phrase, kararTarihiStart, kararTarihiEnd, ...)
: Yerel hukuk mahkemesi kararlarını arar + Tarih & Kesin Cümle Arama ("\"sözleşme ihlali\""
)get_yerel_hukuk_bedesten_document_markdown(documentId: str)
: Karar metniİstinaf Hukuk Mahkemeleri:
search_istinaf_hukuk_bedesten(phrase, kararTarihiStart, kararTarihiEnd, ...)
: İstinaf mahkemesi kararlarını arar + Tarih & Kesin Cümle Arama ("\"temyiz incelemesi\""
)get_istinaf_hukuk_bedesten_document_markdown(documentId: str)
: Karar metniKanun Yararına Bozma (KYB):
search_kyb_bedesten(phrase, kararTarihiStart, kararTarihiEnd, ...)
: Olağanüstü kanun yolu kararlarını arar + Tarih & Kesin Cümle Arama ("\"kanun yararına bozma\""
)get_kyb_bedesten_document_markdown(documentId: str)
: Karar metniEmsal Karar Araçları:
search_emsal_detailed_decisions(search_query: EmsalSearchRequest) -> CompactEmsalSearchResult
: Emsal (UYAP) kararlarını detaylı kriterlerle arar.get_emsal_document_markdown(id: str) -> EmsalDocumentMarkdown
: Belirli bir Emsal kararının metnini Markdown formatında getirir.Uyuşmazlık Mahkemesi Araçları:
search_uyusmazlik_decisions(search_params: UyusmazlikSearchRequest) -> UyusmazlikSearchResponse
: Uyuşmazlık Mahkemesi kararlarını çeşitli form kriterleriyle arar.get_uyusmazlik_document_markdown_from_url(document_url: HttpUrl) -> UyusmazlikDocumentMarkdown
: Bir Uyuşmazlık kararını tam URL'sinden alıp Markdown formatında getirir.Anayasa Mahkemesi (Norm Denetimi) Araçları:
search_anayasa_norm_denetimi_decisions(search_query: AnayasaNormDenetimiSearchRequest) -> AnayasaSearchResult
: AYM Norm Denetimi kararlarını kapsamlı kriterlerle arar.get_anayasa_norm_denetimi_document_markdown(document_url: str, page_number: Optional[int] = 1) -> AnayasaDocumentMarkdown
: Belirli bir AYM Norm Denetimi kararını URL'sinden alır ve 5.000 karakterlik sayfalanmış Markdown içeriğini getirir.Anayasa Mahkemesi (Bireysel Başvuru) Araçları:
search_anayasa_bireysel_basvuru_report(search_query: AnayasaBireyselReportSearchRequest) -> AnayasaBireyselReportSearchResult
: AYM Bireysel Başvuru "Karar Arama Raporu" oluşturur.get_anayasa_bireysel_basvuru_document_markdown(document_url_path: str, page_number: Optional[int] = 1) -> AnayasaBireyselBasvuruDocumentMarkdown
: Belirli bir AYM Bireysel Başvuru kararını URL path'inden alır ve 5.000 karakterlik sayfalanmış Markdown içeriğini getirir.KİK (Kamu İhale Kurulu) Araçları:
search_kik_decisions(search_query: KikSearchRequest) -> KikSearchResult
: KİK (Kamu İhale Kurulu) kararlarını arar.get_kik_document_markdown(karar_id: str, page_number: Optional[int] = 1) -> KikDocumentMarkdown
: Belirli bir KİK kararını, Base64 ile encode edilmiş karar_id
'sini kullanarak alır ve 5.000 karakterlik sayfalanmış Markdown içeriğini getirir.Rekabet Kurumu Araçları:
* search_rekabet_kurumu_decisions(KararTuru: Literal[...], ...) -> RekabetSearchResult
: Rekabet Kurumu kararlarını arar. KararTuru
için kullanıcı dostu isimler kullanılır (örn: "Birleşme ve Devralma").
* get_rekabet_kurumu_document(karar_id: str, page_number: Optional[int] = 1) -> RekabetDocument
: Belirli bir Rekabet Kurumu kararını karar_id
ile alır. Kararın PDF formatındaki orijinalinden istenen sayfayı ayıklar ve Markdown formatında döndürür.
"\"mülkiyet kararı\""
formatı)🏛️ Desteklenen Mahkeme Hiyerarşisi:
Yerel Mahkemeler → İstinaf → Yargıtay/Danıştay → Anayasa Mahkemesi
↓ ↓ ↓ ↓
Bedesten API Bedesten API Dual/Triple API Norm+Bireysel API
+ Tarih + Kesin + Tarih + Kesin + Daire + Tarih + Gelişmiş
Cümle Arama Cümle Arama + Kesin Cümle Arama
⚖️ Kapsamlı Filtreleme Özellikleri:
"mülkiyet kararı"
(kelimeler ayrı ayrı)"\"mülkiyet kararı\""
(tam cümle olarak)🌐 Web Service / ASGI Deployment
Yargı MCP artık web servisi olarak da çalıştırılabilir! ASGI desteği sayesinde:
Hızlı başlangıç:
# ASGI dependencies yükle
pip install yargi-mcp[asgi]
# Web servisi olarak başlat
python run_asgi.py
# veya
uvicorn asgi_app:app --host 0.0.0.0 --port 8000
Detaylı deployment rehberi için: docs/DEPLOYMENT.md
📜 Lisans
Bu proje MIT Lisansı altında lisanslanmıştır. Detaylar için LICENSE
dosyasına bakınız.
{ "mcpServers": { "yargi-mcp": { "command": "uvx", "args": [ "--from", "git+https://github.com/saidsurucu/yargi-mcp", "yargi-mcp" ] } } }
Related projects feature coming soon
Will recommend related projects based on sub-categories