izcn1/gitmcpserver
3.1
If you are the rightful owner of gitmcpserver 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.
MCP GitHub Analyzer is a tool that leverages the Model Context Protocol to search, analyze, and summarize GitHub repositories based on user input.
MCP GitHub Analyzer 🚀
💡 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.
Özellikler ✨
- 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ı
Kurulum 🛠️
- 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
Gizli API Key Yönetimi 🔑
.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")
Kullanım 🚀
1. CLI Kullanımı
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...
2. FastAPI Endpoint Kullanımı
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.
MCP Methodları 🛠️
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)
Dosya Yapısı 📂
gitserver.py # Ana MCP server ve CLI kodu
requirements.txt # Python paketleri
.env # Gizli token (push etmeyin)
.gitignore # Git ignore listesi
Öneriler 💡
- 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.
Lisans 📄
MIT License