GitHub PR Reviewer MCP
Provides tools for inspecting GitHub Pull Requests, including details, diffs, file lists, and review tracking via the GitHub API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GitHub PR Reviewer MCPReview PR microsoft/vscode#12345"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: Bitbucket MCP Server
📋 Gereksinimler
Node.js 18+
npm veya yarn
Claude Desktop
GitHub hesabı (token için)
🔧 Kurulum
1. Projeyi Klonlayın veya İndirin
git clone <repo-url>
cd github-pr-reviewer-mcp2. Bağımlılıkları Yükleyin
npm install3. Projeyi Derleyin
npm run build4. GitHub Token Oluşturun (Önerilen)
GitHub token olmadan da çalışır, ancak rate limit düşük olur.
GitHub Settings > Developer settings > Personal access tokens sayfasına gidin
"Generate new token (classic)" seçin
Aşağıdaki izinleri verin:
repo(repository erişimi)read:org(organizasyon bilgileri)
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.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.jsonDosya içeriği:
{
"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.jskısmını kendi proje yolunuzla değiştiringhp_your_token_herekısmına GitHub token'ınızı yazınToken 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ı: 42. 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:
npm run watchTest Etme
Sunucuyu manuel olarak test etmek için:
npm startBu 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/123http://github.com/owner/repo/pull/456
🐛 Sorun Giderme
"MCP sunucusu bulunamadı" hatası
Claude Desktop konfigürasyon dosyasının doğru yolda olduğunu kontrol edin
JSON formatının geçerli olduğunu kontrol edin
Dosya yollarının doğru olduğunu ve
build/index.jsdosyasının var olduğunu kontrol edinClaude Desktop'ı yeniden başlatın
"GitHub API hatası" mesajı
GitHub token'ınızın geçerli olduğunu kontrol edin
Token'ın gerekli izinlere sahip olduğunu kontrol edin
Rate limit'e takılmış olabilirsiniz, biraz bekleyin
Repository'nin public olduğunu veya token'ın erişim hakkına sahip olduğunu kontrol edin
"Build bulunamadı" hatası
npm run buildkomutu ile projeyi yeniden derleyin.
📝 Lisans
MIT License - Detaylar için LICENSE dosyasına bakın.
🤝 Katkıda Bulunma
Fork edin
Feature branch oluşturun (
git checkout -b feature/amazing-feature)Commit edin (
git commit -m 'Add amazing feature')Push edin (
git push origin feature/amazing-feature)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.
Available Tools
3 toolsgithub_pr_diffB
GitHub Pull Request'in diff içeriğini getirir (değişikliklerin detayları)
| Name | Required | Description | Default |
|---|---|---|---|
| pr_url | Yes | GitHub Pull Request URL'i |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It tells the tool fetches diff content, implying a read operation, but does not disclose return format, limitations, or any side effects. This lacks depth for safe autonomous use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately states the tool's function, with no filler or repetition. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and no output schema. The description gives a basic idea of what is returned (changes details), but lacks specifics such as output format, pagination, or any caveats. It is minimally viable but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents the only parameter (pr_url) with 100% coverage. The description adds no additional semantics beyond reinforcing the PR URL, so it meets the baseline but does not enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the diff content of a GitHub Pull Request, using a specific verb ('getirir' - fetches) and resource (PR diff). It is distinct enough from sibling names like github_pr_files and github_pr_review, though it does not explicitly differentiate itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description only states what it does, with no mention of use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_pr_filesA
GitHub Pull Request'te değiştirilen dosyaların listesini getirir
| Name | Required | Description | Default |
|---|---|---|---|
| pr_url | Yes | GitHub Pull Request URL'i |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The description only states the basic action (fetching a list) without disclosing any behavioral traits such as authentication requirements, rate limits, response format details, or whether it includes file paths, statuses, or other metadata. This is minimal for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that clearly communicates the tool's purpose. There is no redundant information or unnecessary phrasing, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema). The description sufficiently states the return type (a list of files), which is the main expected output. However, it could be more complete by mentioning whether the list includes only file names or additional details, but given the simplicity, the description is mostly adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (pr_url is fully described as the GitHub Pull Request URL). The description does not add any parameter meaning beyond what the schema already provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it fetches the list of files changed in a GitHub Pull Request. The verb 'getirir' (fetches) and the specific resource ('GitHub Pull Request'te değiştirilen dosyaların listesi') distinguish it from sibling tools like github_pr_review (review) and github_pr_diff (diff).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. However, the description implies usage for retrieving the list of changed files, and the sibling names (review, diff) suggest different use cases, but no direct comparison or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github_pr_reviewB
GitHub Pull Request linkini alıp detaylı bir code review raporu oluşturur. PR'ın detaylarını, değişiklikleri ve dosyaları analiz eder.
| Name | Required | Description | Default |
|---|---|---|---|
| pr_url | Yes | GitHub Pull Request URL'i (örn: https://github.com/owner/repo/pull/123) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must shoulder the responsibility of behavioral disclosure. It mentions analyzing changes and files but does not disclose authentication requirements, rate limits, output format, or whether the operation is read-only. This leaves significant behavioral uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose and scope. Every word contributes to understanding the tool, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should explain what the 'detailed code review report' contains or its structure. It only vaguely references analysis without specifics, leaving the agent uncertain about return values. It also fails to reference sibling tools for context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents the single parameter 'pr_url' with an example. The description adds no additional semantic meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: takes a GitHub PR link and creates a detailed code review report by analyzing PR details, changes, and files. This distinguishes it from sibling tools like github_pr_diff and github_pr_files, which focus on specific aspects of a PR.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining a comprehensive review report, but it does not explicitly mention when to use this tool versus alternatives like github_pr_diff or github_pr_files. There is no direct 'use this instead of' guidance or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
github_pr_diff - First observed
github_pr_files - First observed
github_pr_review
TDQS
Scored across 3 tools
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.
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.
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.
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
Related MCP Connectors
Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Access the GitHub API, enabling file operations, repository management, search functionality, and…
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables the analysis of GitHub Pull Requests to extract metadata, commits, and code changes for structured AI insights. It also supports the optional creation of Notion pages to store and organize the resulting analysis.-
- AlicenseAqualityBmaintenanceEnables retrieval of pull request metadata and diffs from Bitbucket Cloud and Server/Data Center, with optional comment creation.31MIT
- AlicenseAqualityDmaintenanceEnables querying GitHub repositories for pull requests, commits, and comparisons to understand code changes.55 npmApache 2.0
- FlicenseAqualityBmaintenanceEnables fetching Pull Request diffs from GitHub and posting inline review comments directly on PRs, either as pending drafts or published immediately.2-