💡 MCP (Model Context Protocol) server, yazılım fikirlerinizi girdi olarak alır ve GitHub’da ilgili repoları bulur, analiz eder ve özetler. CLI ve FastAPI endpoint ile çalışır, hem terminalden hem de HTTP üzerinden kullanılabilir.
- GitHub repo arama ve yıldız sayısına göre sıralama ⭐
- Repo zip indirme ve dosya türleri & satır sayısı analizi 📦
- README kısa özetleme (ilk 5 satır) 📝
- CLI ve FastAPI endpoint desteği
- Paralel işleme ile hızlı analiz (ThreadPoolExecutor) ⚡
- Tamamen Python tabanlı
- Python 3.9+ yükleyin.
- Proje klasörüne girin:
cd /path/to/project
- Sanal ortam oluşturun (opsiyonel ama önerilir):
python -m venv venv
- Sanal ortamı aktive edin:
- Windows:
venv\Scripts\activate
- Linux/macOS:
source venv/bin/activate
- Gerekli paketleri yükleyin:
pip install -r requirements.txt
.env
dosyası oluşturun ve içine GitHub token ekleyin:
GITHUB_TOKEN=github_pat_11BCYJILQ0Kle0V643C65c_...
.env
dosyasını.gitignore
içine ekleyin, GitHub’a push etmeyin.- Python’da token şu şekilde okunur:
from dotenv import load_dotenv
import os
load_dotenv()
GITHUB_TOKEN = os.getenv("GITHUB_TOKEN")
python gitserver.py
- Terminalde şöyle bir prompt görürsünüz:
💡 Yazılımcı MCP server çalışıyor. Çıkmak için Ctrl+C
🔹 Fikir/uygulama girişi: face recognition
- Girilen sorguya göre GitHub repolarını analiz eder ve sonuçları listeler:
Repo: ageitgey/face_recognition
URL: https://github.com/ageitgey/face_recognition
Stars: 55346
Description: World's simplest facial recognition API
Toplam Satır: 237172
Dosya Türleri: {'.py': 30, '.md': 6, ...}
README Özet: The world's simplest facial recognition API for Python...
Server çalışırken HTTP POST isteği atabilirsiniz:
uvicorn gitserver:app --reload
Örnek POST isteği:
curl -X POST "http://127.0.0.1:8000/mcp" \
-H "Content-Type: application/json" \
-d '{"method":"full_pipeline","params":{"query":"face recognition","max_results":3}}'
JSON formatında sonuç alırsınız.
search_github_repos
: Sadece repo arar ve temel bilgileri döndürür.full_pipeline
: Repo arar, zip indirir, analiz eder ve README özetler. (CLI ve endpoint tarafından kullanılır)
gitserver.py # Ana MCP server ve CLI kodu
requirements.txt # Python paketleri
.env # Gizli token (push etmeyin)
.gitignore # Git ignore listesi
- Büyük repo’lar için disk alanına dikkat edin. Temp klasörleri kullanılır.
.env
ile token gizli kalır, kimse erişemez.- README özetleme için OpenAI veya HuggingFace modelleri entegre edilebilir.
MIT License