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ı.
Veni Platform | Daha fazla MCP sunucusu
Şirketiniz veya fikriniz için özelleştirilmiş MCP Sunucusu mu istiyorsunuz?
Veni AI olarak, kurumsal ihtiyaçlarınıza özel profesyonel MCP çözümleri geliştiriyoruz.
👉 İletişime Geçin & Detayları İnceleyin
Hızlı Başlangıç | Araçlar | Mimari | Ortam | Claude Desktop | Güvenlik
İçindekiler (göstermek için tıklayın)
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.
- 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.
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]
Tüm araçlar, istemcilerde kolay ayrıştırma için JSON içeren tek bir metin yükü döndürür.
Ö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
Browserless, önbellek ve veritabanı için sağlık durumunu döndürür.
Önbellek isabet oranları, zamanlama metrikleri ve temel tarama yapılandırmasını döndürür.
Veritabanından popüler sorguları listeler.
Girdi:
{ "limit": 20 }Son N gün için günlük analitikleri döndürür.
Girdi:
{ "days": 7 }Bellek ve veritabanı için önbellek temizliğini tetikler.
- 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{
"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"
}
}
}
}.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 |
Ş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_URLdeğerini Browserless uç noktanız olarak ayarlayın (wss veya https).- Sunucu, yoksa
?token=parametresini otomatik olarak ekler. BROWSERLESS_TOKENzorunludur ve asla loglanmaz.
- 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
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
}
}- 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.
- 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.
- 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.
Neden HTTP API yok?
Bu sunucu MCP önceliklidir ve tasarım gereği stdio üzerinden iletişim kurar.
PostgreSQL olmadan çalıştırabilir miyim?
Evet, ancak L2 önbellek ve analitik kaybolur.
Ayrıntılı arama filtreleri destekleniyor mu?
Mevcut araçlar sorgu tabanlı aramaya odaklanır. Gelişmiş filtreler araç argümanı olarak eklenebilir.
- 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ı.
Veni AI tarafından geliştirildi.
MIT. LICENSE dosyasına bakın.