Version Control Go ★ 30,870

github/github-mcp-server

GitHub entegrasyonu için resmi sunucu; repository yönetimi, PR'lar, issue'lar ve daha fazlasıyla çalışabilirsiniz.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "github-github-mcp-server": {
      "command": "node",
      "args": [
        "~/.mcp/github-mcp-server/index.js"
      ]
    }
  }
}

Go Report Card

GitHub MCP Server

GitHub MCP Server, GitHub platformunu AI araçlarına doğrudan bağlar. Bu, AI ajanlarına, asistanlara ve sohbet botlarına depoları ve kod dosyalarını okuma, sorunları ve PR'ları yönetme, kodu analiz etme ve iş akışlarını otomatikleştirme yeteneği sağlar. Tümü doğal dil etkileşimleri aracılığıyla.

Kullanım Senaryoları

  • Depo Yönetimi: Herhangi bir depoda kod göz atma ve sorgulama, dosya arama, commit'leri analiz etme ve proje yapısını anlama.
  • Sorun ve PR Otomasyonu: Sorunları ve pull request'leri oluşturma, güncelleme ve yönetme. AI'nın bug triage'ı, kod değişikliklerini gözden geçirmesi ve proje panolarını yönetmesine izin verin.
  • CI/CD ve İş Akışı İstihbaratı: GitHub Actions iş akışı çalışmalarını izleme, derleme hatalarını analiz etme, yayınları yönetme ve geliştirme hattınız hakkında içgörü edinme.
  • Kod Analizi: Güvenlik bulgularını inceleme, Dependabot uyarılarını gözden geçirme, kod desenlerini anlama ve kod tabanınız hakkında kapsamlı içgörü edinme.
  • Takım İşbirliği: Tartışmalara erişme, bildirimleri yönetme, takım etkinliğini analiz etme ve takımınız için süreçleri kolaylaştırma.

AI araçlarını GitHub bağlamı ve yeteneklerine bağlamak isteyen geliştiriciler için tasarlandı; basit doğal dil sorgularından karmaşık çok adımlı ajan iş akışlarına kadar.


Uzak GitHub MCP Server

VS Code'da Kur VS Code Insiders'da Kur

Uzak GitHub MCP Server, GitHub tarafından barındırılır ve çalışmaya başlamanın en kolay yöntemini sağlar. MCP ana bilgisayarınız uzak MCP sunucularını desteklemiyorsa endişelenmeyin! Bunun yerine GitHub MCP Server'ın yerel versiyonunu kullanabilirsiniz.

Ön Koşullar

  1. Uzak sunucu desteğine sahip uyumlu MCP ana bilgisayarı (VS Code 1.101+, Claude Desktop, Cursor, Windsurf, vb.)
  2. Etkinleştirilen herhangi bir politika

VS Code'da Kur

Hızlı kurulum için yukarıdaki tek tıklamalı kurulum düğmelerinden birini kullanın. Bu akışı tamamladıktan sonra Agent modunu (Copilot Chat metin girdisinin yanında bulunan) açın ve sunucu başlayacaktır. VS Code 1.101 veya daha yeni bir sürümü kullandığınızdan emin olun.

Alternatif olarak, VS Code'u manuel olarak yapılandırmak için aşağıdaki örneklerden uygun JSON bloğunu seçin ve ana bilgisayar yapılandırmanıza ekleyin:

OAuth KullanarakGitHub PAT Kullanarak
VS Code (sürüm 1.101 veya üzeri)
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "github_mcp_pat",
      "description": "GitHub Kişisel Erişim Jetonu",
      "password": true
    }
  ]
}

Diğer MCP Ana Bilgisayarlarında Kur

Not: Her MCP ana bilgisayar uygulaması, OAuth aracılığıyla uzak erişimi desteklemek için bir GitHub App veya OAuth App yapılandırması gereklidir. Uzak MCP sunucularını destekleyen herhangi bir ana bilgisayar uygulaması, PAT kimlik doğrulamasına sahip uzak GitHub sunucusunu desteklemelidir. Yapılandırma ayrıntıları ve destek seviyeleri ana bilgisayara göre değişir. Daha fazla bilgi için ana bilgisayar uygulamasının belgelerine bakın.

Yapılandırma

Araç seti yapılandırması

Uzak sunucu yapılandırması, araç setleri, başlıklar ve gelişmiş kullanım hakkında tam ayrıntılar için Uzak Sunucu Belgelerine bakın. Bu dosya, uzak GitHub MCP Server'ı VS Code ve diğer MCP ana bilgisayarlarında bağlama, özelleştirme ve kurma konusunda kapsamlı yönergeler ve örnekler sağlar.

Araç seti belirtilmediğinde, varsayılan araç setleri kullanılır.

Insiders Modu

Yeni özellikleri erkenden deneyin! Uzak sunucu, yeni özelliklere ve deneysel araçlara erken erişim sağlayan bir insiders versiyonu sunmaktadır.

URL Yolu KullanarakBaşlık Kullanarak
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/insiders"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "X-MCP-Insiders": "true"
      }
    }
  }
}

Daha fazla ayrıntı ve örnek için Uzak Sunucu Belgelerine ve mevcut olanların tam listesi için Insiders Özellikleri sayfasına bakın.

GitHub Enterprise

Veri yerleşimi ile GitHub Enterprise Cloud (ghe.com)

GitHub Enterprise Cloud ayrıca uzak sunucuyu kullanabilir.

https://octocorp.ghe.com için GitHub PAT jetonu ile örnek:

{
    ...
    "github-octocorp": {
      "type": "http",
      "url": "https://copilot-api.octocorp.ghe.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    },
    ...
}

Not: VS Code ve GitHub Copilot ile Veri Yerleşimi ile GitHub Enterprise kullanırken, VS Code ayarlarınızı GitHub Enterprise örneğinize işaret etmek için de yapılandırmanız gerekir - VS Code'dan Kimlik Doğrula sayfasına bakın

GitHub Enterprise Server

GitHub Enterprise Server, uzak sunucu barındırmasını desteklemez. Lütfen yerel sunucu yapılandırmasından GitHub Enterprise Server ve Veri Yerleşimi ile Enterprise Cloud (ghe.com) sayfasına bakın.


Yerel GitHub MCP Server

VS Code'da Docker ile Kur VS Code Insiders'da Docker ile Kur

Ön Koşullar

  1. Sunucuyu bir konteyner'da çalıştırmak için Docker kurulu olması gerekir.
  2. Docker kurulduktan sonra, Docker'ın çalıştığından emin olmanız gerekir. Docker image'ı ghcr.io/github/github-mcp-server adresinde mevcuttur. Image halka açıktır; pull işleminde hata alırsanız, süresi dolmuş bir token'ınız olabilir ve docker logout ghcr.io yapmanız gerekebilir.
  3. Son olarak GitHub Kişisel Erişim Jetonu Oluşturmanız gerekir. MCP sunucusu, GitHub API'larının çoğunu kullanabilir, bu nedenle AI araçlarınıza verilmesi konusunda kendini rahat hissettiğiniz izinleri etkinleştirin (erişim token'ları hakkında daha fazla bilgi için lütfen belgelerine bakın).
PAT'ları Güvenli Bir Şekilde İşleme

Ortam Değişkenleri (Önerilir)

GitHub PAT'inizi güvenli tutmak ve farklı MCP ana bilgisayarlarında yeniden kullanılabilir hale getirmek için:

  1. PAT'inizi ortam değişkenlerinde saklayın

    export GITHUB_PAT=your_token_here
    

    Veya bir .env dosyası oluşturun:

    GITHUB_PAT=your_token_here
    
  2. .env dosyanızı koruyun

    # .gitignore'a ekleyin yanlışlıkla commit'leri önlemek için
    echo ".env" >> .gitignore
    
  3. Token'i yapılandırmalarda referans verin

    # CLI kullanımı
    claude mcp update github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT
    
    # Yapılandırma dosyalarında (desteklendiğinde)
    "env": {
      "GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_PAT"
    }
    

Not: Ortam değişkeni desteği ana bilgisayar uygulaması ve IDE'ye göre değişir. Bazı uygulamalar (Windsurf gibi) yapılandırma dosyalarında sabit kod yazılmış token'ler gerektirir.

Token Güvenliği En İyi Uygulamaları

  • Minimum kapsamlar: Yalnızca gerekli izinleri verin

    • repo - Depo işlemleri
    • read:packages - Docker image'ı erişimi
    • read:org - Organizasyon takımı erişimi
  • Ayrı token'ler: Farklı projeler/ortamlar için farklı PAT'ler kullanın

  • Düzenli rotasyon: Token'leri periyodik olarak güncelleyin

  • Asla commit etmeyin: Token'leri version kontrolünün dışında tutun

  • Dosya izinleri: Token'ler içeren yapılandırma dosyalarına erişimi kısıtlayın

    chmod 600 ~/.your-app/config.json
    

GitHub Enterprise Server ve Veri Yerleşimi ile Enterprise Cloud (ghe.com)

--gh-host bayrağı ve GITHUB_HOST ortam değişkeni, GitHub Enterprise Server veya Veri Yerleşimi ile GitHub Enterprise Cloud için ana bilgisayar adını ayarlamak üzere kullanılabilir.

  • GitHub Enterprise Server için, ana bilgisayar adını https:// URI şeması ile önek ekleyin, aksi takdirde http:// varsayılan olur ve GitHub Enterprise Server bunu desteklemez.
  • Veri Yerleşimi ile GitHub Enterprise Cloud için, ana bilgisayar adı olarak https://YOURSUBDOMAIN.ghe.com kullanın.
"github": {
    "command": "docker",
    "args": [
    "run",
    "-i",
    "--rm",
    "-e",
    "GITHUB_PERSONAL_ACCESS_TOKEN",
    "-e",
    "GITHUB_HOST",
    "ghcr.io/github/github-mcp-server"
    ],
    "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
        "GITHUB_HOST": "https://<your GHES or ghe.com domain name>"
    }
}

Kurulum

GitHub Copilot on VS Code'da Kur

Hızlı kurulum için yukarıdaki tek tıklamalı kurulum düğmelerinden birini kullanın. Bu akışı tamamladıktan sonra Agent modunu (Copilot Chat metin girdisinin yanında bulunan) açın ve sunucu başlayacaktır.

VS Code'un ajan modu belgelerine bakın MCP sunucu araçlarını kullanma hakkında daha fazla bilgi için.

Diğer IDE'lerde GitHub Copilot'a (JetBrains, Visual Studio, Eclipse, vb.) Kur

Aşağıdaki JSON bloğunu IDE'nin MCP ayarlarına ekleyin.

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "github_token",
        "description": "GitHub Kişisel Erişim Jetonu",
        "password": true
      }
    ],
    "servers": {
      "github": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "GITHUB_PERSONAL_ACCESS_TOKEN",
          "ghcr.io/github/github-mcp-server"
        ],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
        }
      }
    }
  }
}

İsteğe bağlı olarak, çalışma alanınızda .vscode/mcp.json adında bir dosyaya benzer bir örnek (yani mcp anahtarı olmadan) ekleyebilirsiniz. Bu, yapılandırmayı aynı formatı kabul eden diğer ana bilgisayar uygulamaları ile paylaşmanıza izin verir.

MCP anahtarı olmayan örnek JSON bloğu
{
  "inputs": [
    {
      "type": "promptString",
      "id": "github_token",
      "description": "GitHub Kişisel Erişim Jetonu",
      "password": true
    }
  ],
  "servers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
      }
    }
  }
}

Diğer MCP Ana Bilgisayarlarında Kur

Diğer MCP ana bilgisayar uygulamaları için lütfen kurulum kılavuzlarımıza bakın:

Tüm kurulum seçeneklerine genel bir bakış için, lütfen Kurulum Kılavuzları İndeksine bakın.

Not: Yerel MCP sunucularını destekleyen herhangi bir ana bilgisayar uygulaması, yerel GitHub MCP sunucusuna erişebilmelidir. Ancak, belirli yapılandırma süreci, söz dizimi ve entegrasyonun stabilitesi ana bilgisayar uygulamasına göre değişir. Çoğu yukarıdaki örneklere benzer bir format izleyebilirken, bu garantili değildir. Doğru MCP yapılandırma söz dizimi ve kurulum süreci için lütfen ana bilgisayar uygulamanızın belgelerine bakın.

Kaynaktan Derle

Docker'ınız yoksa, cmd/github-mcp-server dizininde go build kullanarak ikili dosyayı derleyebilir ve GITHUB_PERSONAL_ACCESS_TOKEN ortam değişkeni token'ize ayarlanmış şekilde github-mcp-server stdio komutunu kullanabilirsiniz. Derlemenin çıkış konumunu belirtmek için -o bayrağını kullanın. Sunucunuzu, derlenmiş yürütülebilir dosyayı command olarak kullanacak şekilde yapılandırmalısınız. Örneğin:

{
  "mcp": {
    "servers": {
      "github": {
        "command": "/path/to/github-mcp-server",
        "args": ["stdio"],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
        }
      }
    }
  }
}

CLI Yardımcı Programları

github-mcp-server ikili dosyası, sunucuyu hata ayıklama ve keşfetme konusunda yardımcı olan birkaç CLI alt komutu içerir.

  • github-mcp-server tool-search "<query>" araçları ada, açıklamaya ve giriş parametre adlarına göre arar. Daha fazla eşleşme döndürmek için --max-results kullanın. Örnek (renk çıktısı TTY gerektirir; Docker'da çalıştırırken docker run -t (veya -it) kullanın):
docker run -it --rm ghcr.io/github/github-mcp-server tool-search "issue" --max-results 5
github-mcp-server tool-search "issue" --max-results 5

Araç Yapılandırması

GitHub MCP Server, --toolsets bayrağı aracılığıyla belirli işlevsellik gruplarını etkinleştirme veya devre dışı bırakma destekler. Bu, AI araçlarına hangi GitHub API yeteneklerinin kullanılabilir olduğunu kontrol etmenize izin verir. Yalnızca ihtiyaç duyduğunuz araç setlerini etkinleştirmek, LLM'nin araç seçimine yardımcı olabilir ve bağlam boyutunu azaltabilir.

Araç setleri araçlarla sınırlı değildir. İlgili MCP Kaynakları ve İstemler de uygulanabilir yerlerde dahil edilir.

Araç seti belirtilmediğinde, varsayılan araç setleri kullanılır.

Örnekler arıyor? mısınız? Minimal kurulumlar, salt okunur mod ve araçları araç setleriyle birleştirme gibi yaygın tarifler için Server Yapılandırma Kılavuzuna bakın.

Araç Setlerini Belirtme

LLM'nin kullanabileceğini istediğiniz araç setlerini belirtmek için, bir izin listesini iki şekilde geçebilirsiniz:

  1. Komut Satırı Argümanı Kullanarak:

    github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security
    
  2. Ortam Değişkeni Kullanarak:

    GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./github-mcp-server
    

Ortam değişkeni GITHUB_TOOLSETS, her ikisi de sağlanırsa komut satırı argümanından öncelik alır.

Bireysel Araçları Belirtme

Ayrıca --tools bayrağını kullanarak belirli araçları yapılandırabilirsiniz. Araçlar bağımsız olarak veya ince taneli kontrol için araç setleriyle birleştirilmiş olarak kullanılabilir.

  1. Komut Satırı Argümanı Kullanarak:

    github-mcp-server --tools get_file_contents,issue_read,create_pull_request
    
  2. Ortam Değişkeni Kullanarak:

    GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./github-mcp-server
    
  3. Araç Setleriyle Birleştirme (kümülatif):

    github-mcp-server --toolsets repos,issues --tools get_gist
    

    Bu, repos ve issues araç setlerinden tüm araçları, plus get_gist kaydettirir.

Önemli Notlar:

  • Araçlar ve araç setleri birlikte kullanılabilir
  • Salt okunur mod önceliğe sahiptir: yazma araçları --read-only ayarlanırsa, --tools aracılığıyla açıkça istense bile atlanır
  • Araç adları tam olarak eşleşmelidir (ör. get_file_contents, getFileContents değil). Geçersiz araç adları sunucunun başlangıçta bir hata mesajı ile başarısız olmasına neden olur
  • Araçlar yeniden adlandırıldığında, eski adlar geriye dönük uyumluluk için takma ad olarak korunur. Ayrıntılar için Araç Yeniden Adlandırma sayfasına bakın.

Docker ile Araç Setlerini Kullanma

Docker kullanırken, araç setlerini ortam değişkenleri olarak geçebilirsiniz:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" \
  ghcr.io/github/github-mcp-server

Docker ile Araçları Kullanma

Docker kullanırken, belirli araçları ortam değişkenleri olarak

Benzer MCP sunucuları

Daha fazla: Version Control →