Skip to main content
Glama
Onur-Ardic

GitHub PR Reviewer MCP

by Onur-Ardic
README.md
# GitHub PR Reviewer MCP

GitHub Pull Request'lerini analiz eden Model Context Protocol (MCP) sunucusu. Bu araç, Claude Desktop ile entegre çalışarak GitHub PR'larını detaylı şekilde incelemenizi sağlar.

## 🚀 Özellikler

- ✅ **PR Detayları**: Pull Request'in genel bilgilerini, istatistiklerini ve meta verilerini görüntüleme
- ✅ **Diff İnceleme**: PR'daki kod değişikliklerini detaylı şekilde inceleme
- ✅ **Dosya Listesi**: Değiştirilen dosyaların listesini ve istatistiklerini görme
- ✅ **Review Takibi**: Mevcut code review'ları ve yorumları okuma
- ✅ **GitHub Token Desteği**: İsteğe bağlı token ile rate limit artırma
- ✅ **Türkçe Arayüz**: Tamamen Türkçe raporlama

## 📋 Gereksinimler

- Node.js 18+ 
- npm veya yarn
- Claude Desktop
- GitHub hesabı (token için)

## 🔧 Kurulum

### 1. Projeyi Klonlayın veya İndirin

```bash
git clone <repo-url>
cd github-pr-reviewer-mcp
```

### 2. Bağımlılıkları Yükleyin

```bash
npm install
```

### 3. Projeyi Derleyin

```bash
npm run build
```

### 4. GitHub Token Oluşturun (Önerilen)

GitHub token olmadan da çalışır, ancak rate limit düşük olur.

1. [GitHub Settings > Developer settings > Personal access tokens](https://github.com/settings/tokens) sayfasına gidin
2. "Generate new token (classic)" seçin
3. Aşağıdaki izinleri verin:
   - `repo` (repository erişimi)
   - `read:org` (organizasyon bilgileri)
4. Token'ı kopyalayın ve güvenli bir yerde saklayın

### 5. Claude Desktop Konfigürasyonu

Claude Desktop'ın MCP konfigürasyon dosyasını düzenleyin:

#### Windows:
```
%APPDATA%\Claude\claude_desktop_config.json
```

#### macOS:
```
~/Library/Application Support/Claude/claude_desktop_config.json
```

#### Linux:
```
~/.config/Claude/claude_desktop_config.json
```

Dosya içeriği:

```json
{
  "mcpServers": {
    "github-pr-reviewer": {
      "command": "node",
      "args": [
        "C:\\tam\\yol\\projenize\\build\\index.js"
      ],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}
```

**Not**: 
- `C:\\tam\\yol\\projenize\\build\\index.js` kısmını kendi proje yolunuzla değiştirin
- `ghp_your_token_here` kısmına GitHub token'ınızı yazın
- Token opsiyoneldir, `"env"` kısmını tamamen çıkarabilirsiniz

### 6. Claude Desktop'ı Yeniden Başlatın

Konfigürasyon değişikliklerinin etkili olması için Claude Desktop'ı tamamen kapatıp açın.

## 📖 Kullanım

Claude Desktop'ta MCP sunucusu aktif olduktan sonra, aşağıdaki komutları kullanabilirsiniz:

### 1. Pull Request İnceleme

```
Bu PR'ı incele: https://github.com/microsoft/vscode/pull/12345
```

**Çıktı örneği:**
```
📋 Pull Request Review Raporu

## Genel Bilgiler
- Başlık: Fix memory leak in extension host
- Durum: 🟢 Açık
- Yazar: @john-doe
- Oluşturulma: 15.10.2025
- Branch: fix/memory-leak → main

## İstatistikler
- ➕ Eklenen satır: 45
- ➖ Silinen satır: 12
- 📁 Değiştirilen dosya: 3
- 💬 Yorum sayısı: 8
- 📝 Review sayısı: 2
- ✅ Commit sayısı: 4
```

### 2. Diff İçeriğini Görme

```
Şu PR'ın diff'ini getir: https://github.com/microsoft/vscode/pull/12345
```

**Çıktı:** PR'daki tüm kod değişikliklerini diff formatında gösterir.

### 3. Değiştirilen Dosyaları Listeleme

```
Bu PR'da hangi dosyalar değişmiş: https://github.com/microsoft/vscode/pull/12345
```

**Çıktı örneği:**
```
📁 Pull Request Dosyaları

Toplam 3 dosya değişti:

- src/extension.ts (modified)
  - ➕ 25 / ➖ 8 satır
  - Değişiklik: 33 satır

- package.json (modified)  
  - ➕ 2 / ➖ 1 satır
  - Değişiklik: 3 satır
```

## 🛠️ Geliştirme

### Watch Modu

Geliştirme sırasında otomatik derleme için:

```bash
npm run watch
```

### Test Etme

Sunucuyu manuel olarak test etmek için:

```bash
npm start
```

Bu komut sunucuyu stdin/stdout modunda başlatır.

## ⚙️ Konfigürasyon

### Çevre Değişkenleri

- `GITHUB_TOKEN`: GitHub API token'ı (opsiyonel)
  - Token olmadan saatte 60 istek limiti
  - Token ile saatte 5000 istek limiti

### Desteklenen GitHub URL Formatları

- `https://github.com/owner/repo/pull/123`
- `http://github.com/owner/repo/pull/456` 

## 🐛 Sorun Giderme

### "MCP sunucusu bulunamadı" hatası

1. Claude Desktop konfigürasyon dosyasının doğru yolda olduğunu kontrol edin
2. JSON formatının geçerli olduğunu kontrol edin
3. Dosya yollarının doğru olduğunu ve `build/index.js` dosyasının var olduğunu kontrol edin
4. Claude Desktop'ı yeniden başlatın

### "GitHub API hatası" mesajı

1. GitHub token'ınızın geçerli olduğunu kontrol edin
2. Token'ın gerekli izinlere sahip olduğunu kontrol edin
3. Rate limit'e takılmış olabilirsiniz, biraz bekleyin
4. Repository'nin public olduğunu veya token'ın erişim hakkına sahip olduğunu kontrol edin

### "Build bulunamadı" hatası

```bash
npm run build
```

komutu ile projeyi yeniden derleyin.

## 📝 Lisans

MIT License - Detaylar için LICENSE dosyasına bakın.

## 🤝 Katkıda Bulunma

1. Fork edin
2. Feature branch oluşturun (`git checkout -b feature/amazing-feature`)
3. Commit edin (`git commit -m 'Add amazing feature'`)
4. Push edin (`git push origin feature/amazing-feature`)
5. Pull Request açın

## 📞 Destek

Sorunlarınız için GitHub Issues kullanın veya doğrudan iletişime geçin.

---

**Not**: Bu araç GitHub API'sını kullanır ve GitHub'ın hizmet koşullarına tabidir.

TDQS

A3.8/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: github_pr_review generates an analysis report, github_pr_diff fetches the raw diff content, and github_pr_files lists changed files. There is no ambiguity between them.

Naming Consistency5/5

All tool names follow the same 'github_pr_' prefix with a descriptive suffix. While suffixes are not strictly verbs, the pattern is completely consistent and predictable across the set.

Tool Count5/5

With only 3 tools, the server is tightly scoped to the PR review workflow. Each tool adds meaningful functionality without redundancy, making the count ideal for the stated purpose.

Completeness5/5

The tool set covers the full review workflow: retrieving the diff, listing files, and generating the review report. There are no obvious missing operations that would prevent an agent from effectively reviewing a Pull Request.

Maintenance

ActivityInactive
ResponsivenessNo issues