awee1453/haber-mcp-server
If you are the rightful owner of haber-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Advanced News MCP Server is a sophisticated server that utilizes the Model Context Protocol (MCP) to fetch headlines and detailed information from multiple Arabic news sources.
Gelişmiş Haber MCP Sunucusu 🗞️
Bu proje, Model Context Protocol (MCP) kullanarak çoklu Arapça haber kaynaklarından başlık ve detay bilgilerini çeken gelişmiş bir sunucudur.
✨ Özellikler
🔧 Temel Özellikler
- Çoklu Haber Kaynakları: Dinamik olarak yapılandırılabilir haber kaynakları
- Akıllı Filtreleme: 20 karakterden kısa başlıkları otomatik filtreler
- HTML Yönetici Arayüzü: Kolay kaynak yönetimi için web tabanlı arayüz
- Gerçek Zamanlı Test: Haber başlıklarını canlı olarak test etme
- UTF-8 Desteği: Arapça karakterler için tam destek
🛠️ Gelişmiş Özellikler
- Dinamik Kaynak Yönetimi: Çalışma zamanında kaynak ekleme/silme
- Çoklu CSS Selektör Desteği: Farklı site yapıları için esnek scraping
- Hata Toleransı: Robust hata yakalama ve fallback mekanizmaları
- Loglama Sistemi: Detaylı işlem kayıtları
- Performans Optimizasyonu: Timeout ve retry mekanizmaları
🚀 Kurulum
1. Bağımlılıkları Yükleyin
pip install -r requirements.txt
2. Sunucuyu Başlatın
python haberler.py
3. HTML Arayüzünü Açın
# MCP aracı ile
son_haber_basliklari -> haber_yoneticisi_ac
# Veya doğrudan
http://localhost:8080/haber_yonetici.html
🔧 IDE Entegrasyonları
VS Code
.vscode/settings.json dosyası otomatik olarak oluşturulmuştur.
Cursor AI
cursor_config.json dosyasını Cursor AI'da import edin.
Trae AI
trae_config.json dosyasını Trae AI'da kullanın.
Claude Desktop
claude_desktop_config.json dosyasını Claude Desktop'ta kullanın.
🛠️ Mevcut Araçlar
son_haber_basliklari
Belirtilen veya tüm aktif kaynaklardan haber başlıklarını getirir.
Parametreler:
kaynak_id(string, opsiyonel): Belirli bir kaynak ID'si
haber_detayi_getir
Verilen başlığa göre haber detayını getirir.
Parametreler:
baslik(string): Detayı getirilecek haber başlığıkaynak_id(string, opsiyonel): Belirli bir kaynak ID'si
haber_kaynagi_ekle
Yeni haber kaynağı ekler.
Parametreler:
ad(string): Kaynak adıurl(string): Kaynak URL'siselectors(array): CSS selektör listesi
haber_kaynagi_aktif_pasif
Kaynak durumunu değiştirir.
Parametreler:
kaynak_id(string): Kaynak ID'siaktif(boolean): Aktif durumu
haber_kaynagi_sil
Haber kaynağını siler.
Parametreler:
kaynak_id(string): Kaynak ID'si
haber_yoneticisi_ac
HTML yönetici arayüzünü açar.
aktif_haber_kaynaklarini_listele
Aktif kaynakları listeler.
tum_haber_kaynaklarini_listele
Tüm kaynakları listeler.
🎨 HTML Yönetici Arayüzü
Özellikler
- 🆕 Kaynak Ekleme: Yeni haber kaynakları ekleme
- 🧪 Canlı Test: Haber başlıklarını gerçek zamanlı test etme
- ✅ Başlık Seçimi: İstenen başlıkları seçerek kaydetme
- 📋 Kaynak Yönetimi: Mevcut kaynakları görüntüleme ve düzenleme
- 🔄 Durum Değiştirme: Kaynakları aktif/pasif yapma
- 🗑️ Silme: Gereksiz kaynakları silme
Kullanım
haber_yoneticisi_acaracını çalıştırın- Tarayıcıda açılan arayüzü kullanın
- Yeni kaynaklar ekleyin veya mevcut kaynakları yönetin
- Başlıkları test edin ve istediğinizi seçin
🔍 Test Etme
# Temel test
python test_haberler.py
# HTML arayüzü testi
python -c "from haberler import create_html_interface; create_html_interface()"
📊 Loglama ve Hata Yönetimi
- Detaylı Loglama: Tüm işlemler kaydedilir
- Hata Toleransı: Network ve parsing hatalarına karşı dayanıklı
- Fallback Mekanizması: Birden fazla CSS selektör desteği
- Timeout Koruması: Uzun süren istekleri otomatik sonlandırma
- Encoding Desteği: UTF-8 Arapça karakter desteği
🚨 Sorun Giderme
Yaygın Sorunlar
- Bağlantı Hatası: İnternet bağlantısını kontrol edin
- CSS Selector Hatası: Site yapısı değişmiş olabilir
- Encoding Sorunu: UTF-8 ayarlarını kontrol edin
- Port Çakışması: 8080 portunu kontrol edin
Debug Modu
import logging
logging.basicConfig(level=logging.DEBUG)
📄 Lisans
MIT Lisansı altında lisanslanmıştır.
🤝 Katkıda Bulunma
- Fork edin
- Feature branch oluşturun
- Değişikliklerinizi commit edin
- Pull request gönderin
📞 Destek
Sorularınız için issue açabilir veya documentation'ı inceleyebilirsiniz.
Lisans
Bu proje MIT lisansı altında lisanslanmıştır.