Bu proje, Model Context Protocol (MCP) kullanarak web sitelerinin erişilebilirliğini test eden bir ping servisi ve kullanıcı dostu bir web arayüzü içerir.
Proje iki ana bileşenden oluşur:
- MCP Server (
index.js
): Web sitelerine ping gönderen MCP uyumlu bir sunucu - Web UI (
ping_app_ui.py
): Gradio tabanlı kullanıcı arayüzü
- ✅ Web sitelerine ping gönderme
- ✅ MCP protokolü desteği
- ✅ Gradio tabanlı modern web arayüzü
- ✅ Ollama LLM entegrasyonu
- ✅ Gerçek zamanlı sonuç görüntüleme
- Node.js (v14 veya üzeri)
- Python 3.8+
- Ollama (llama3.2 modeli)
npm install
pip install praisonaiagents gradio
- Ollama indirin ve kurun
- Llama3.2 modelini indirin:
ollama pull llama3.2
node index.js
python ping_app_ui.py
Web arayüzü varsayılan olarak http://localhost:7860
adresinde çalışacaktır.
Açıklama: Belirtilen URL'ye ping gönderir ve sonucu döndürür.
Parametreler:
url
(string): Test edilecek web sitesinin URL'si (geçerli URL formatında olmalı)
Örnek Kullanım:
{
"url": "https://google.com"
}
Dönüş Değeri:
- Başarılı ping durumunda: Ping istatistikleri
- Hata durumunda: Hata mesajı
- Web arayüzünü başlattıktan sonra tarayıcınızda açın
- Metin kutusuna test etmek istediğiniz web sitesinin URL'sini girin
- "Submit" butonuna tıklayın
- Sonuçlar Markdown formatında görüntülenecektir
.
├── index.js # MCP Server
├── ping_app_ui.py # Gradio Web UI
├── package.json # Node.js bağımlılıkları
├── package-lock.json # Kilit dosyası
└── README.md # Bu dosya
- Framework: Model Context Protocol SDK
- Transport: StdioServerTransport
- Validasyon: Zod schema validation
- Ping Komutu:
ping -c 2 <host>
(2 paket gönderir)
- Framework: Gradio
- AI Agent: PraisonAI Agents
- LLM: Ollama Llama3.2
- MCP Integration: Node.js server ile entegrasyon
- MCP server'a yeni tool eklemek için
index.js
dosyasını düzenleyin - Web arayüzünde değişiklik yapmak için
ping_app_ui.py
dosyasını güncelleyin
MCP server'ı test etmek için:
echo '{"method": "tools/call", "params": {"name": "pingWebsite", "arguments": {"url": "https://google.com"}}}' | node index.js
- "ping command not found": Sistem ping komutunun yüklü olduğundan emin olun
- Ollama bağlantı hatası: Ollama servisinin çalıştığından ve llama3.2 modelinin yüklü olduğundan emin olun
- Port çakışması: Gradio varsayılan portu değiştirmek için
demo.launch(server_port=8080)
kullanın
MCP server loglarını görmek için:
DEBUG=* node index.js
ISC
- Bu repository'yi fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing-feature
) - Değişikliklerinizi commit edin (
git commit -m 'Add amazing feature'
) - Branch'inizi push edin (
git push origin feature/amazing-feature
) - Pull Request oluşturun
Sorularınız için issue açabilir veya pull request gönderebilirsiniz.
Not: Bu proje eğitim ve demo amaçlı geliştirilmiştir. Üretim ortamında kullanmadan önce güvenlik ve performans testlerini yapmanız önerilir.