haber-mcp-server

awee1453/haber-mcp-server

3.1

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.

Tools
8
Resources
0
Prompts
0

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'si
  • selectors (array): CSS selektör listesi

haber_kaynagi_aktif_pasif

Kaynak durumunu değiştirir.

Parametreler:

  • kaynak_id (string): Kaynak ID'si
  • aktif (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

  1. haber_yoneticisi_ac aracını çalıştırın
  2. Tarayıcıda açılan arayüzü kullanın
  3. Yeni kaynaklar ekleyin veya mevcut kaynakları yönetin
  4. 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

  1. Bağlantı Hatası: İnternet bağlantısını kontrol edin
  2. CSS Selector Hatası: Site yapısı değişmiş olabilir
  3. Encoding Sorunu: UTF-8 ayarlarını kontrol edin
  4. 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

  1. Fork edin
  2. Feature branch oluşturun
  3. Değişikliklerinizi commit edin
  4. 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.