A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
MCP Server For Turkish Legal Databases
✨ Profesyonel Sürüm Hazır: Yargı MCP Pro
Mevzuat ve içtihatı tek bir MCP sunucusunda birleştiren profesyonel sürüm yayında:
🚨 SUNUCU YENİ ADRESE TAŞINDI
Yeni Remote MCP adresi:
https://yargimcp.surucu.dev/mcpEski adres (
https://yargimcp.fastmcp.app/mcp) artık kullanım dışıdır — yalnızca taşındığını bildiren bir uyarı tool'u döner.Yapmanız gereken: MCP istemcinizdeki (Claude Desktop, 5ire, Google Antigravity, ChatGPT vb.) sunucu URL'sini yukarıdaki yeni adresle güncelleyin.
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ı, Rekabet Kurumu Kararları, Sayıştay Kararları, KVKK Kararları, BDDK Kararları, GİB Özelgeleri ve Sigorta Tahkim Komisyonu 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.
🔗 Remote MCP Adresi: https://yargimcp.surucu.dev/mcp
⚠️ Eski adres
https://yargimcp.fastmcp.app/mcpartık kullanım dışıdır — yalnızca taşındığını bildiren bir uyarı tool'u döner. Lütfen yukarıdaki yeni adresi kullanın.
Yargı MCPhttps://yargimcp.surucu.dev/mcpmcp_config.json dosyasına aşağıdaki yapılandırmayı ekleyin:{
"mcpServers": {
"yargi-mcp": {
"serverUrl": "https://yargimcp.surucu.dev/mcp/",
"headers": {
"Content-Type": "application/json"
}
}
}
}
💡 İpucu: Remote MCP sayesinde Python, uv veya herhangi bir kurulum yapmadan doğrudan Claude Desktop üzerinden Türk hukuk kaynaklarına erişebilirsiniz!
https://yargimcp.surucu.dev/mcp bir web sayfası değil, Streamable HTTP MCP uç noktasıdır. Tarayıcıda açınca veya düz curl ile GET isteği atınca 406 Not Acceptable ve Client must accept text/event-stream benzeri bir yanıt görmek normaldir; bu, sunucunun kapalı olduğu anlamına gelmez. MCP istemcisi Accept: application/json, text/event-stream başlığıyla JSON-RPC isteği göndermelidir.
Hızlı sağlık kontrolü için tarayıcıda şu adresleri açabilirsiniz:
https://yargimcp.surucu.dev/health — servis sağlık durumuClaude.ai veya başka bir istemci "araç yok" gibi davranırsa:
https://yargimcp.surucu.dev/mcp deneyin; istemciniz yönlendirmeleri takip etmiyorsa https://yargimcp.surucu.dev/mcp/ deneyin.https://yargimcp.fastmcp.app/mcp adresinin istemci ayarlarında veya önbellekte kalmadığından emin olun.text/event-stream kabul ettiğini kontrol edin.
🎯 Temel Özellikler
🚀 YÜKSEK PERFORMANS OPTİMİZASYONU: Bu MCP sunucusu %61.8 token azaltma ile optimize edilmiştir (8,692 token tasarrufu). Claude AI ile daha hızlı yanıt süreleri ve daha verimli etkileşim sağlar.
Ç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!
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 | shyargimcpYargı MCPuvx yargi-mcp

Ö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": [
"yargi-mcp"
]
}
}
}
Claude Desktop'ı kapatıp yeniden başlatın.
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.jsonAşağıdaki mcpServers bloğunu ekleyin:
{
"theme": "Default",
"selectedAuthType": "###",
"mcpServers": {
"yargi_mcp": {
"command": "uvx",
"args": [
"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:
Yargı MCP, semantik arama özelliği ile kararları anlamsal olarak sıralayabilir. Opsiyoneldir; iki yoldan biri yapılandırıldığında otomatik etkinleşir:
initial_keyword ile Bedesten API'den 100 karar çekilirquery ile bu kararlar embedding modeli kullanılarak anlamsal olarak sıralanırmultilingual-e5-large)intfloat/multilingual-e5-large Türkçe için kıyas ettiğimiz açık kaynak modeller arasında en iyilerinden. HuggingFace'in Text Embeddings Inference (TEI) sunucusuyla tek komutta ayağa kalkar ve OpenAI-uyumlu API sunar:
docker run -p 8080:80 ghcr.io/huggingface/text-embeddings-inference:latest \
--model-id intfloat/multilingual-e5-large
Sonra Yargı MCP'ye şu env vars'ları geçirin:
EMBEDDING_PROVIDER=local
LOCAL_EMBEDDING_BASE_URL=http://localhost:8080/v1
LOCAL_EMBEDDING_MODEL=intfloat/multilingual-e5-large
LOCAL_EMBEDDING_DIMENSION=1024
EMBEDDING_PROMPT_STYLE=e5
⚠️ Önemli:
EMBEDDING_PROMPT_STYLE=e5şart — e5 modelleriquery:/passage:öneki bekleyecek şekilde eğitilmiştir; yanlış önek sessizce kaliteyi düşürür.
{
"mcpServers": {
"Yargı MCP": {
"command": "uvx",
"args": ["yargi-mcp"],
"env": {
"EMBEDDING_PROVIDER": "local",
"LOCAL_EMBEDDING_BASE_URL": "http://localhost:8080/v1",
"LOCAL_EMBEDDING_MODEL": "intfloat/multilingual-e5-large",
"LOCAL_EMBEDDING_DIMENSION": "1024",
"EMBEDDING_PROMPT_STYLE": "e5"
}
}
}
}
ollama serve
ollama pull nomic-embed-text # 768 dim, İngilizce ağırlıklı
EMBEDDING_PROVIDER=local
LOCAL_EMBEDDING_BASE_URL=http://localhost:11434/v1
LOCAL_EMBEDDING_MODEL=nomic-embed-text
LOCAL_EMBEDDING_DIMENSION=768
EMBEDDING_PROMPT_STYLE=raw
Ollama kütüphanesinde
multilingual-e5-largedoğrudan yok; Türkçe için TEI yolu daha doğru sonuç verir.
OPENROUTER_API_KEY=sk-or-v1-xxx...
# İsteğe bağlı — varsayılan google/gemini-embedding-001 (3072 dim, ÜCRETLİ)
# OPENROUTER_EMBEDDING_MODEL=...
# OPENROUTER_EMBEDDING_DIMENSION=...
# EMBEDDING_PROMPT_STYLE=gemini # varsayılan
API anahtarınızı openrouter.ai/keys adresinden alın. Varsayılan model google/gemini-embedding-001 artık ücretli — ücretsiz bir model seçerseniz OPENROUTER_EMBEDDING_MODEL, OPENROUTER_EMBEDDING_DIMENSION ve uygun EMBEDDING_PROMPT_STYLE değerlerini birlikte ayarlayın.
| Env Var | Açıklama | Örnek |
|---|---|---|
EMBEDDING_PROVIDER | local ise yerel sunucu, boş ise OpenRouter | local |
EMBEDDING_PROMPT_STYLE | gemini / e5 / raw — modelin beklediği önek | e5 |
LOCAL_EMBEDDING_BASE_URL | Yerel sunucunun OpenAI-uyumlu URL'i | http://localhost:8080/v1 |
LOCAL_EMBEDDING_MODEL | Model adı | intfloat/multilingual-e5-large |
LOCAL_EMBEDDING_DIMENSION | Modelin çıktı boyutu (mutlaka eşleşmeli) | 1024 |
OPENROUTER_API_KEY | OpenRouter anahtarı (sadece hosted için) | sk-or-v1-… |
OPENROUTER_EMBEDDING_MODEL | OpenRouter model id'si | google/gemini-embedding-001 |
OPENROUTER_EMBEDDING_DIMENSION | OpenRouter modelinin çıktı boyutu | 3072 |
💡 Not: Hiçbir embedding sağlayıcı yapılandırılmazsa semantik arama aracı görünmez, diğer 24 araç normal şekilde çalışır.
Bu FastMCP sunucusu 24 temel MCP aracı + 1 opsiyonel semantik arama aracı sunar (token verimliliği için optimize edilmiş):
Not: Yargıtay araçları token verimliliği için birleşik Bedesten API'ye entegre edilmiştir
Not: Danıştay araçları token verimliliği için birleşik Bedesten API'ye entegre edilmiştir
search_bedesten_unified(phrase, court_types, birimAdi, kararTarihiStart, kararTarihiEnd, ...): 5 mahkeme türünü birleşik arama (Yargıtay, Danıştay, Yerel Hukuk, İstinaf Hukuk, KYB) + 79 daire filtreleme + Tarih & Kesin Cümle Aramaget_bedesten_document_markdown(documentId: str): Bedesten API'den herhangi bir belgeyi Markdown formatında getirir (HTML/PDF → Markdown)search_emsal_detailed_decisions(keyword, ...): Emsal (UYAP) kararlarını detaylı kriterlerle arar.get_emsal_document_markdown(id: str): Belirli bir Emsal kararının metnini Markdown formatında getirir.search_uyusmazlik_decisions(icerik, ...): Uyuşmazlık Mahkemesi kararlarını çeşitli form kriterleriyle arar.get_uyusmazlik_document_markdown_from_url(document_url): Bir Uyuşmazlık kararını tam URL'sinden alıp Markdown formatında getirir.search_anayasa_unified(decision_type, keywords_all, ...): AYM kararlarını birleşik arama (Norm Denetimi + Bireysel Başvuru) - 4 araç → 2 araç optimizasyonuget_anayasa_document_unified(document_url, page_number): AYM kararlarını birleşik belge getirme - sayfalanmış Markdown içeriğisearch_kik_decisions(karar_tipi, ...): KİK (Kamu İhale Kurulu) kararlarını arar.get_kik_document_markdown(karar_id, page_number): Belirli bir KİK kararını, Base64 ile encode edilmiş karar_id'sini kullanarak alır ve sayfalanmış Markdown içeriğini getirir. * 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.
Sayıştay Araçları (3 Karar Türü + 8 Daire Filtreleme):
search_sayistay_genel_kurul(karar_no, karar_tarih_baslangic, karar_tamami, ...): Sayıştay Genel Kurul (yorumlayıcı) kararlarını arar. Tarih aralığı (2006-2024) + İçerik arama (400 karakter)search_sayistay_temyiz_kurulu(ilam_dairesi, kamu_idaresi_turu, temyiz_karar, ...): Temyiz Kurulu (itiraz) kararlarını arar. 8 Daire filtreleme + Kurum türü + Konu sınıflandırmasısearch_sayistay_daire(yargilama_dairesi, web_karar_metni, hesap_yili, ...): Daire (ilk derece denetim) kararlarını arar. 8 Daire filtreleme + Hesap yılı + İçerik aramaget_sayistay_genel_kurul_document_markdown(decision_id: str): Genel Kurul kararının tam metnini Markdown formatında getirirget_sayistay_temyiz_kurulu_document_markdown(decision_id: str): Temyiz Kurulu kararının tam metnini Markdown formatında getirirget_sayistay_daire_document_markdown(decision_id: str): Daire kararının tam metnini Markdown formatında getirirKVKK Araçları (Brave Search API + Türkçe Arama):
search_kvkk_decisions(keywords, page, pageSize, ...): KVKK (Kişisel Verilerin Korunması Kurulu) kararlarını Brave Search API ile arar. Türkçe arama + Site hedeflemeli (site:kvkk.gov.tr "karar özeti") + Sayfalama desteğiget_kvkk_document_markdown(decision_url: str, page_number: Optional[int] = 1): KVKK kararının tam metnini sayfalanmış Markdown formatında getirir (5.000 karakterlik sayfa)* `search_bddk_decisions(keywords, page)`: BDDK (Bankacılık Düzenleme ve Denetleme Kurumu) kararlarını arar. **"Karar Sayısı" targeting** + **Spesifik URL filtreleme** (`bddk.org.tr/Mevzuat/DokumanGetir`) + **Optimized search**
* `get_bddk_document_markdown(document_id: str, page_number: Optional[int] = 1)`: BDDK kararının tam metnini **sayfalanmış Markdown** formatında getirir (5.000 karakterlik sayfa)
* `search_gib_ozelge(keywords, ozelgeNo, kanunNo, ozelgeStartDate, ozelgeEndDate, page, pageSize)`: GİB özelgelerini (Türk Gelir İdaresi Başkanlığı vergi özelgeleri) arar — **18.000+ özelge** (KDV, Kurumlar, Gelir, ÖTV, Damga, VUK vb.). **Keyword + Özelge No + Kanun No + Tarih Aralığı** + **Otomatik ISO 8601 Dönüşümü** (`YYYY-MM-DD` girdileri otomatik olarak full ISO 8601'e çevrilir)
* `get_gib_ozelge_document_markdown(ozelge_id: int, page_number: int = 1)`: Belirli bir özelgenin tam metnini **sayfalanmış Markdown** formatında getirir (5.000 karakterlik sayfa) + **Metadata başlık bloğu** (Başlık, Sayı, Tarih, Kanun, Kaynak URL)
* `search_sigorta_tahkim_decisions(keywords, page, pageSize)`: Sigorta Tahkim Komisyonu kararlarını Tavily Search API ile arar. **Site hedeflemeli** (`sigortatahkim.org`) + **Sayfalama desteği**
* `get_sigorta_tahkim_document_markdown(issue_number: str, page_number: int)`: Hakem Karar Dergisi sayısının PDF'ini indirip **sayfalanmış Markdown** formatında getirir (5.000 karakterlik sayfa). 64 sayı (2010-2025)
* `search_within_sigorta_tahkim_issue(issue_number: str, keyword: str, max_results: int)`: Belirli bir dergi sayısı içindeki kararları anahtar kelime ile arar. **Türkçe İ/I desteği** + **Relevance scoring** + **Excerpt** ile sonuç
🚀 TOKEN OPTİMİZASYON BAŞARISI:
GENEL İSTATİSTİKLER:
"\"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)🔧 OPTİMİZASYON DETAYLARI:
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.
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
MCP server integration for DaVinci Resolve Studio
A Jetbrains IDE IntelliJ plugin aimed to provide coding agents the ability to leverage intelliJ's indexing of the codeba