Yargıtay Emsal Karar MCP Sunucusu
Enables searching Turkish Court of Cassation (Yargıtay) precedent decisions via a three-tier caching system and Browserless scraping, providing high-quality results through stdio-based MCP protocol.
README
<div align="center"> <p> <a href="https://www.veniplatform.com/"> <img src="https://www.veniplatform.com/_next/image?url=%2Fveniai-logo.webp&w=64&q=75" width="72" alt="Veni AI logosu" /> </a> </p> <h1>Yargıtay Emsal Karar MCP Sunucusu</h1> <p> Veni AI tarafından geliştirilen ve dünyanın en iyi Yargıtay emsal karar arama MCP sunucusu olmak üzere tasarlanan, stdio tabanlı, uçtan uca teknik odaklı bir arama altyapısı. </p> <p> <a href="https://www.veniplatform.com/">Veni Platform</a> | <a href="https://www.veniplatform.com/mcp-servers">Daha fazla MCP sunucusu</a> </p> <hr /> <p> <strong>Şirketiniz veya fikriniz için özelleştirilmiş MCP Sunucusu mu istiyorsunuz?</strong><br /> Veni AI olarak, kurumsal ihtiyaçlarınıza özel profesyonel MCP çözümleri geliştiriyoruz.<br /> 👉 <a href="https://www.veniplatform.com/mcp-servers">İletişime Geçin & Detayları İnceleyin</a> </p> <hr /> </div>
<p align="center"> <img alt="MCP" src="https://img.shields.io/badge/MCP-stdio-000000?style=flat-square" /> <img alt="Node.js" src="https://img.shields.io/badge/Node.js-%3E%3D18-3C873A?style=flat-square&logo=node.js&logoColor=white" /> <img alt="TypeScript" src="https://img.shields.io/badge/TypeScript-Strict-3178C6?style=flat-square&logo=typescript&logoColor=white" /> <img alt="PostgreSQL" src="https://img.shields.io/badge/PostgreSQL-Cache-336791?style=flat-square&logo=postgresql&logoColor=white" /> <img alt="Browserless" src="https://img.shields.io/badge/Browserless-Puppeteer-0A7FFF?style=flat-square" /> <img alt="Built by Veni AI" src="https://img.shields.io/badge/Built%20by-Veni%20AI-111111?style=flat-square" /> </p>
<p align="center"> <a href="#hızlı-başlangıç">Hızlı Başlangıç</a> | <a href="#araçlar">Araçlar</a> | <a href="#mimari">Mimari</a> | <a href="#ortam">Ortam</a> | <a href="#claude-desktop-yapılandırması">Claude Desktop</a> | <a href="#güvenlik-ve-gizlilik">Güvenlik</a> </p>
<details> <summary>İçindekiler (göstermek için tıklayın)</summary>
- Genel Bakış
- Öne Çıkanlar
- Mimari
- Araçlar
- Hızlı Başlangıç
- Claude Desktop Yapılandırması
- Ortam
- Veritabanı Şeması
- Browserless Kurulumu
- Önbellek Modeli
- Çıktı Formatı
- Performans Ayarı
- Güvenlik ve Gizlilik
- Operasyonel Notlar
- SSS
- Yol Haritası
- Emeği Geçenler
- Lisans </details>
Genel Bakış
Bu depo, Yargıtay emsal karar araması için tamamen MCP (Model Context Protocol) tabanlı bir sunucu içerir. stdio üzerinden çalışır, Claude Desktop gibi MCP istemcileri için tasarlanmıştır ve üç katmanlı önbellek ile yüksek kaliteli sonuçlar sağlar: bellek, PostgreSQL ve Browserless tabanlı tarama.
Sunucu bilinçli olarak HTTP yüzeyi içermez. MCP araç ergonomisine, deterministik çıktılara ve güvenli kullanım için temiz bir dağıtım ayak izine odaklanır.
Öne Çıkanlar
- Yalnızca MCP stdio taşıması, HTTP yüzeyi yok.
- Birleşik telemetri ve kontrollü sona erme ile 3 katmanlı önbellek.
- Güvenilir içerik çıkarımı için Browserless + Puppeteer tarama.
- Popülerlik ve performans içgörüleri için PostgreSQL destekli analitik.
- Sıkı girdi doğrulama ve öngörülebilir çıktı formatı.
- Dünyanın en iyi Yargıtay emsal karar arama MCP sunucusu olmak üzere Veni AI tarafından geliştirildi.
Mimari
graph TD
Client[MCP İstemci] -->|stdio| Server[MCP Sunucu]
Server --> L1[L1 Bellek Önbelleği]
Server --> L2[(PostgreSQL)]
Server --> Browserless[Browserless + Puppeteer]
Browserless --> Source[karararama.yargitay.gov.tr]
Araçlar
Tüm araçlar, istemcilerde kolay ayrıştırma için JSON içeren tek bir metin yükü döndürür.
yargitay_search_optimized
Önbellek ve Browserless taramasıyla Yargıtay kararlarını arar.
Girdi:
{
"query": "string",
"refresh": "boolean (optional)"
}
Çıktı anahtarları:
- formatted: kullanıcı dostu düz metin sonuç listesi
- success: boolean
- query: normalize edilmiş sorgu
- results: kararlar dizisi
- metadata: source, cached, age, resultCount, totalTime
yargitay_health
Browserless, önbellek ve veritabanı için sağlık durumunu döndürür.
yargitay_stats
Önbellek isabet oranları, zamanlama metrikleri ve temel tarama yapılandırmasını döndürür.
yargitay_popular
Veritabanından popüler sorguları listeler.
Girdi:
{ "limit": 20 }
yargitay_analytics
Son N gün için günlük analitikleri döndürür.
Girdi:
{ "days": 7 }
yargitay_cache_clear
Bellek ve veritabanı için önbellek temizliğini tetikler.
Hızlı Başlangıç
- Bağımlılıkları yükleyin
npm install
- Ortam dosyanızı oluşturun
copy .env.example .env
# macOS or Linux:
# cp .env.example .env
- Veritabanı şemasını başlatın
psql "$DATABASE_URL" -f src/database/schema.sql
- Derleyip çalıştırın
npm run build
npm start
Claude Desktop Yapılandırması
{
"mcpServers": {
"yargitay": {
"command": "node",
"args": ["C:/path/to/yargitay-mcp-server/dist/index.js"],
"env": {
"DATABASE_URL": "postgresql://user:pass@host:5432/dbname?sslmode=require",
"BROWSERLESS_URL": "wss://your-browserless-host",
"BROWSERLESS_TOKEN": "your-token"
}
}
}
}
Ortam
.env.example dosyasını temel alın. Aşağıdaki değişkenler desteklenir:
| Değişken | Zorunlu | Varsayılan | Notlar |
|---|---|---|---|
| DATABASE_URL | evet | - | PostgreSQL bağlantı dizesi |
| DATABASE_TYPE | hayır | postgresql | Yalnızca görüntüleme |
| DATABASE_POOL_MIN | hayır | 2 | Havuz min boyutu |
| DATABASE_POOL_MAX | hayır | 10 | Havuz max boyutu |
| BROWSERLESS_URL | evet | - | wss veya https uç noktası |
| BROWSERLESS_TOKEN | evet | - | Token ws uç noktasına eklenir |
| BROWSERLESS_TIMEOUT | hayır | 30000 | Milisaniye |
| BROWSERLESS_RETRIES | hayır | 3 | Tekrar sayısı |
| SCRAPING_MAX_RESULTS | hayır | 10 | Sorgu başına limit |
| SCRAPING_PARALLEL_REQUESTS | hayır | 3 | Paralel detay çekimi |
| SCRAPING_ADAPTIVE_TIMEOUT | hayır | true | Uyarlanabilir zaman aşımı |
| SCRAPING_RETRY_STRATEGY | hayır | exponential | exponential, linear, fixed |
| SCRAPING_BASE_TIMEOUT | hayır | 10000 | Milisaniye |
| CACHE_L1_TTL_MS | hayır | 300000 | Bellek önbelleği TTL |
| CACHE_L2_TTL_DAYS | hayır | 30 | DB önbelleği TTL |
| CACHE_POPULAR_THRESHOLD | hayır | 5 | Popülerlik eşiği |
| CACHE_CLEANUP_INTERVAL_MS | hayır | 3600000 | Temizlik aralığı |
| NODE_ENV | hayır | development | development veya production |
Veritabanı Şeması
Şema dosyası:
src/database/schema.sql
Arama sonuçları, kararlar, tarama istatistikleri ve analitik için yardımcı görünümler oluşturan tablolar içerir. Ayrıca erişim sayacı güncellemeleri ve temizlik için saklı prosedürler bulunur.
Browserless Kurulumu
BROWSERLESS_URLdeğerini Browserless uç noktanız olarak ayarlayın (wss veya https).- Sunucu, yoksa
?token=parametresini otomatik olarak ekler. BROWSERLESS_TOKENzorunludur ve asla loglanmaz.
Önbellek Modeli
- L1: bellekte, ultra hızlı, kısa TTL.
- L2: PostgreSQL, orta gecikme, uzun TTL.
- L3: Browserless üzerinden canlı tarama.
Önbellek yükseltmesi L3'ten L2 ve L1'e akar. refresh bayrağı geçersizleştirmeyi zorlar.
graph LR
L3[L3 Canlı Tarama] -->|yükselt| L2[L2 PostgreSQL Önbelleği]
L2 -->|yükselt| L1[L1 Bellek Önbelleği]
Refresh[refresh=true] -->|geçersizleştir| L1
Refresh -->|geçersizleştir| L2
Çıktı Formatı
Tüm araçlar MCP metin içeriği içinde JSON döndürür. yargitay_search_optimized için örnek:
{
"formatted": "Result 1 ...",
"success": true,
"query": "tazminat",
"results": [
{
"siraNo": "1",
"daire": "1. Hukuk Dairesi",
"esasNo": "2023/1234",
"kararNo": "2023/5678",
"kararTarihi": "15.12.2023",
"icerik": "..."
}
],
"metadata": {
"source": "scrape",
"cached": false,
"age": 0,
"resultCount": 1,
"totalTime": 1240
}
}
Performans Ayarı
- Browserless kapasitesi yüksekse
SCRAPING_PARALLEL_REQUESTSdeğerini artırın. - Uzun sorgular veya yavaş ağlar için
BROWSERLESS_TIMEOUTdeğerini yükseltin. - Tarama yükünü azaltmak için
CACHE_L2_TTL_DAYSdeğerini uzatın. - Önbellek isabet oranı ve yanıt süresini takip etmek için
yargitay_statskullanın.
Güvenlik ve Gizlilik
- Depoda hiçbir gizli bilgi tutulmaz.
- Tüm kimlik bilgileri ortam değişkenleriyle sağlanır.
- Veritabanı URL'si loglarda maskelenir.
- Girdiler kullanılmadan önce doğrulanır ve temizlenir.
Operasyonel Notlar
- Veri kaynağı herkese açık Yargıtay arama sitesidir. Erişilebilirlik ve işaretleme değişebilir.
- Analitik ve L2 önbellek için veritabanı şiddetle önerilir. Veritabanı kapalıyken sunucu çalışmaya devam eder, ancak analitik ve L2 önbellek zayıflar.
- Hızlı durum kontrolü için
yargitay_healthkullanın.
SSS
<details> <summary>Neden HTTP API yok?</summary>
Bu sunucu MCP önceliklidir ve tasarım gereği stdio üzerinden iletişim kurar. </details>
<details> <summary>PostgreSQL olmadan çalıştırabilir miyim?</summary>
Evet, ancak L2 önbellek ve analitik kaybolur. </details>
<details> <summary>Ayrıntılı arama filtreleri destekleniyor mu?</summary>
Mevcut araçlar sorgu tabanlı aramaya odaklanır. Gelişmiş filtreler araç argümanı olarak eklenebilir. </details>
Yol Haritası
- Gelişmiş arama filtreleri ve daha zengin sorgu şeması.
- Hafif dağıtımlar için SQLite desteği.
- Yapılandırılmış sonuç biçimlendirme ön ayarları.
- Önbelleğe alınmış veri setleri için kaynak uç noktaları.
Emeği Geçenler
Veni AI tarafından geliştirildi.
Lisans
MIT. LICENSE dosyasına bakın.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。