Skip to main content

Advanced GitHub MCP server — repo analysis, PR management, code review, CI/CD monitoring

Project description

🚀 mcp-github-advanced

PyPI License: MIT Python 3.10+ MCP

Advanced GitHub MCP server — repo analysis, PR management, automated code review, CI/CD monitoring via GitHub REST v3 + GraphQL v4 API.

Built for AI assistants and LangChain/LangGraph agents using the Model Context Protocol.


✨ Features

Category Tools Description
📁 Repo list_user_repos, get_repo_info, get_file_content, list_repo_files, search_code User profiles, repository metadata, file contents, directory tree, code search
📝 Commit list_commits, get_commit_diff, get_contributor_stats Commit history, diffs, contributor statistics
🔀 PR list_pull_requests, get_pr_diff, create_pr_review PR management and AI-powered code reviews
🐛 Issue list_issues, create_issue Issue tracking and creation
⚙️ CI/CD get_workflow_runs, get_workflow_logs GitHub Actions monitoring and log analysis

15 tools in total, all with:

  • 🔒 Versioned API headers (X-GitHub-Api-Version: 2022-11-28)
  • ⚡ Redis caching with intelligent TTL strategy
  • 🔄 Automatic retry with exponential backoff
  • 📏 Output chunking for LLM token limits (8192 tokens)
  • 🔑 PAT + OAuth 2.0 authentication

📦 Installation

Package Kurulumu (Kullanıcılar İçin)

pip install mcp-github-advanced

Veya MCP sunucuları için önerildiği gibi uvx kullanarak doğrudan çalıştırabilirsiniz:

uvx mcp-github-advanced

Kaynak Koddan Kurulum (Geliştiriciler İçin)

Projeyi kendi bilgisayarınıza klonlayıp o şekilde kullanmak (veya geliştirmek) isterseniz:

git clone https://github.com/iamseyhmus7/GitHub-Autopilot.git
cd GitHub-Autopilot
pip install -e ".[dev]"

⚙️ Configuration

1. Environment Variables

Copy .env.example to .env and fill in your credentials:

cp .env.example .env
# GitHub Auth (at least one required)
GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx      # Personal Access Token
GITHUB_CLIENT_ID=Ov23xxxxxxxxxxxxx         # OAuth App (optional)
GITHUB_CLIENT_SECRET=xxxxxxxxxxxxxxxx      # OAuth App (optional)

# Redis (optional — disables caching if unavailable)
REDIS_URL=redis://localhost:6379/0

# Server
MCP_SERVER_NAME=mcp-github-advanced
LOG_LEVEL=INFO

# LLM
GOOGLE_API_KEY=AIzaSyXXXXXXXXXXXXXXXXXXX

2. GitHub Token Scopes

For full functionality, your PAT needs these scopes:

  • repo — Access private repositories
  • read:user — Read user profile

🎮 Kullanım (AI Asistanlarına Ekleme)

Bu server, standart bir stdio altyapısı kullanarak JSON-RPC 2.0 mimarisini destekler. AI istemcileriniz için (örn: Claude Desktop, Cursor, Antigravity) konfigürasyon dosyasına (claude_desktop_config.json veya IDE mcp_config.json) kullanım yönteminize göre aşağıdaki bloklardan birini eklemeniz yeterlidir:

1. PyPI Üzerinden Pip Install Sonrası:

{
  "mcpServers": {
    "mcp-github-advanced": {
      "command": "mcp-github-advanced",
      "env": {"GITHUB_TOKEN": "ghp_..."}
    }
  }
}

2. UVX ile (Sıfır Kurulum, Anında Çalıştırma):

{
  "mcpServers": {
    "mcp-github-advanced": {
      "command": "uvx",
      "args": ["mcp-github-advanced"],
      "env": {"GITHUB_TOKEN": "ghp_..."}
    }
  }
}

3. GitHub Kaynak Kodundan Çalıştırma:

{
  "mcpServers": {
    "mcp-github-advanced": {
      "command": "python",
      "args": ["-m", "mcp_github_advanced"],
      "env": {"GITHUB_TOKEN": "ghp_..."}
    }
  }
}

💡 İpucu: Kurulumu yaptıktan sonra asistanınızın "iamseyhmus7/GitHub-Autopilot reposunun bilgilerini getir" gibi komutları anlayabildiğini görebilirsiniz!


🤖 AI HR Assistant (9-Agent Multi-Agent System)

Bu repo sadece bir MCP sunucusu olmakla kalmaz, aynı zamanda bu sunucuyu kullanan gelişmiş bir İK (HR) Aday İnceleme Ajanı barındırır. src/main.py ve src/api/main.py üzerinden çalışan bu sistem, bir GitHub profilini 10 (9+1) farklı sanal uzman ile analiz eder:

  1. Agent 0 (Smart Profiler): repo_name girilmediğinde adayın tüm profilini tarayıp en kaliteli projesini seçer.
  2. Repo Explorer: Proje haritasını çıkarır.
  3. Dependency Analyst: Kullanılan teknolojileri ve kütüphaneleri bulur.
  4. Architecture Reviewer: Temiz mimari (Clean Architecture/MVC vb.) kullanımını inceler.
  5. Code Quality Inspector: Kod okunabilirliğini ve SOLID prensiplerini denetler.
  6. Security Agent: Hardcoded şifreleri veya güvenlik zaaflarını tarar.
  7. Git Historian: Commit geçmişini inceleyip projenin kopyala-yapıştır olup olmadığını teyit eder.
  8. DevOps Evaluator: CI/CD süreçlerini ve Unit Test'leri kontrol eder.
  9. PR Manager: Takım çalışması, Issue ve Branch kullanımını değerlendirir.
  10. HR Synthesizer: Tüm bu teknik raporları harmanlayıp, teknik olmayan İK profesyonelleri için "Puanlı Aday Skor Kartı" çıkarır.

Performans & Optimizasyon:

  • LangGraph kullanılarak inşa edilmiştir.
  • Her ajan sadece uzmanlık alanına giren MCP araçlarına filtreli şekilde erişir (Context Optimizasyonu).
  • Global bir AIO Sqlite Checkpointer kullanılarak, farklı mülakat oturumları (thread_id) kalıcı hafızada tutulur.
  • Tek bir Github profil analizi ortalama 15 API İsteği ve 71.000 Token maliyeti ile (son derece optimize edilmiş olarak) tamamlanır.

Çalıştırmak için:

python src/main.py

🛠️ Usage Examples

Once connected to an MCP client, you can use natural language:

"Analyze the repository owner/repo — show me stars, language, and recent commits."

"List open pull requests in owner/repo and review PR #42."

"Check the latest CI/CD runs for owner/repo and show me failed job logs."

"Search for TODO comments in owner/repo."

"Create an issue titled 'Fix login bug' with label 'bug' in owner/repo."


🏗️ Architecture

┌──────────────────────────────────────────┐
│              server.py                    │
│         15 MCP Tools (list_tools)        │
│         call_tool() dispatcher           │
└──────────────┬───────────────────────────┘
               │
    ┌──────────┴──────────┐
    ▼                     ▼
┌───────────┐    ┌─────────────────┐
│ github.py │    │    auth.py       │
│ REST + GQL│    │ OAuth + PAT     │
│ Rate limit│    │ Token mgmt      │
└─────┬─────┘    └─────────────────┘
      │
      ▼
┌───────────────────────────────────┐
│          cache.py                  │
│  Redis — TTL-based caching        │
│  Graceful degradation             │
└───────────────────────────────────┘

🧪 Testing

All tests use respx mocks — no real GitHub API calls:

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run with coverage
pytest --cov=mcp_github_advanced

# Lint
ruff check src/ tests/

🌍 Deployment

PyPI

pip install mcp-github-advanced

---## 📝 License

MIT License — see LICENSE for details.


🤝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feat/amazing-feature
  3. Commit: git commit -m 'feat: add amazing feature'
  4. Push: git push origin feat/amazing-feature
  5. Open a Pull Request

Follow the commit conventions defined in AGENTS.md.


👤 Author

Şeyhmus OK@iamseyhmus7

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_github_advanced-0.1.1.tar.gz (39.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_github_advanced-0.1.1-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

Details for the file mcp_github_advanced-0.1.1.tar.gz.

File metadata

  • Download URL: mcp_github_advanced-0.1.1.tar.gz
  • Upload date:
  • Size: 39.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for mcp_github_advanced-0.1.1.tar.gz
Algorithm Hash digest
SHA256 db34a5dcd776c248cbd6cfe579f1456102a473b13ec75acb88db610ebe3e7e21
MD5 5e71e4e52deeb5a7f325297c148bc346
BLAKE2b-256 39db53328049a55fcaf71b0c5820f873223e0f8d320dc553c550db94427d3d62

See more details on using hashes here.

File details

Details for the file mcp_github_advanced-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_github_advanced-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 224473cca1a3c39e9fdbbd79615bc478e866100a51dca83af46e1ddd5060b5c2
MD5 215855df989696477a5b28f2a21fc759
BLAKE2b-256 e9f7ce6ba78bf4da6886ffa7a58d2414b8a78966440881417c7f06deaedab5be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page