Skip to content

MCP server that finds, analyzes, and summarizes GitHub repositories based on your project ideas 🚀 | FastAPI + CLI

Notifications You must be signed in to change notification settings

izcn1/gitmcpserver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

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 🛠️

  1. Python 3.9+ yükleyin.
  2. Proje klasörüne girin:
cd /path/to/project
  1. Sanal ortam oluşturun (opsiyonel ama önerilir):
python -m venv venv
  1. Sanal ortamı aktive edin:
  • Windows:
venv\Scripts\activate
  • Linux/macOS:
source venv/bin/activate
  1. 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

About

MCP server that finds, analyzes, and summarizes GitHub repositories based on your project ideas 🚀 | FastAPI + CLI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages