Ana içeriğe atla

Claude Code Bağlayıcı Eğitimi: GitHub Depolarını 20 Dakikada Önceliklendirin

Bu Claude Code bağlayıcı eğitiminde MCP üzerinden GitHub kurulumu yapın. Salt-okunur yerel dosyalarla 20 dakikada açık kaynak sorun triyajını otomatikleştirmeyi öğrenin.
Güncel 7 Tem 2026  · 9 dk. oku

Bu eğitimde, Claude Code'u bir Claude bağlayıcısı (Model Context Protocol üzerine kurulu) kullanarak GitHub'a nasıl bağlayacağınızı ve bunu uçtan uca bir açık kaynak deposunu önceliklendirmek için nasıl kullanacağınızı göstereceğim. 

İş akışı hiçbir şeyi klonlamaz, vektör deposuna ihtiyaç duymaz ve hedef repoda tek bir satıra bile dokunmaz. Bunun yerine, Claude Code sorunları bağlayıcı üzerinden okur ve neyin (varsa) yayımlanacağına karar vermeden önce gözden geçirmeniz için yerel dosya sisteminize çıktılar yazar.

Bu eğitimin sonunda şunlara sahip olacaksınız:

  • Salt-okunur bir belirteçle çalışan bir Claude Code ve GitHub MCP kurulumu,
  • Herhangi bir herkese açık repoya yönlendirebileceğiniz bazı yeniden kullanılabilir istemler,
  • Karşılaştırma yapabileceğiniz langchain-ai/langchain için eksiksiz bir triyaj çıktısı.

Claude Code GitHub Bağlayıcısı (MCP) nedir?

Claude Code, Anthropic'in terminal tabanlı kodlama aracısıdır. 

Kutu dışı geldiğinde, dosya sisteminize, kabuğa ve git'e zaten sahiptir. Claude Code Bağlayıcıları, terminalin tek başına erişemediği GitHub sorunları, Linear biletleri, Slack mesajları, Postgres sorguları vb. gibi harici bağlama erişimini genişletir.

Bağlayıcı protokolünün adı, LLM aracılarına araçlar ve veriler sunmak için açık bir standart olan MCP (Model Context Protocol)'dir. 

Anthropic, kullanıma hazır bağlayıcıların bir dizinini tutar; ayrıca kendi bağlayıcınızı yazabilir veya üçüncü taraf MCP sunucularına bağlanabilirsiniz.

Bu eğitim için, Docker üzerinden yerelde çalışan resmi GitHub MCP sunucusunu kullanacağız. Kurulumun arkasındaki bazı temel fikirler:

  • Bulut aracı olmadan yerel bir Docker konteyneri olarak çalışır; bu nedenle kimlik bilgileri makinenizde kalır.
  • Standart bir GitHub Kişisel Erişim Belirteci (PAT) ile kimlik doğrulaması yapılır; dolayısıyla OAuth uygulaması kaydı gerekmez.
  • Kapsamlandırılmış izinleri destekler; örneğin herkese açık repolara salt-okunur erişim veren kapsamlanmamış bir PAT, böylece GitHub API düzeyinde yazma imkansızdır.
  • claude mcp add komutuyla Claude Code'a açığa çıkarılır; ardından araçlar her oturumda kullanılabilir hale gelir.

Açık kaynak triyajı okumaya yüklenir, yargıya dayanır ve yanlış olmanın maliyeti düşüktür. 

50 sorunu okuyup kümelendirmek bir insan için yorucudur; ancak hepsini aynı anda bağlamda tutabilen bir model için uygundur. 

Ayrıca çıktıları önce yerel dosyalar olarak yazarız; kötü bir küme ya da sakar bir taslak hiçbir şeye mal olmaz ve incelemede yakalayabilirsiniz.

Claude Code GitHub Bağlayıcısı Eğitimi: langchain-ai/langchain için Triyaj Oluşturma

Bu bölümde, Claude Code'da GitHub bağlayıcısını kurup langchain-ai/langchain üzerinde dört triyaj istemi çalıştıracağız. Sorun izleyicisi gerçekten dağınık olan büyük bir ML deposudur. Yüksek düzeyde, şunları oluşturacağız:

  • Docker'da çalışan resmi MCP sunucusu üzerinden Claude Code'u GitHub'a bağlamak,
  • Bağlayıcının doğası gereği salt-okunur olması için sıfır kapsamlı bir PAT kullanmak,
  • Sonuçları yerel dosyalara kaydeden triyaj istemleri çalıştırmak,
  • Claude'un bazı sorunları yineleme olarak kümelendirmeyi reddettiği durumlar da dahil olmak üzere çıktıları gözden geçirmek.

Adım adım ilerleyelim.

Adım 1: Claude Code ve Docker için önkoşulları yükleyin

Bağlayıcıyı kurmadan önce üç şeye ihtiyacınız olacak:

  • Claude Code: Anthropic'in resmi kurulum kılavuzundan yükleyebilirsiniz,
  • Docker Desktop: resmi GitHub MCP sunucusu bir konteyner içinde çalışır; bu nedenle Docker'ın kurulu ve çalışır durumda olması gerekir,
  • Bir GitHub hesabı: Bir sonraki adımda PAT oluşturmak için gereklidir.

Tüm önkoşullar hazır olduğunda, Docker'ın çalıştığını doğrulayın:

docker info | head -5

Docker kurulu değilse veya daemon çalışmıyorsa, "Cannot connect to the Docker daemon" hatasını görürsünüz. macOS'ta Docker Desktop'ı şu komutla başlatın:

open -a Docker

Docker Desktop'ın tamamen hazır hale gelmesi 15-60 saniye sürer ve bu süre boyunca docker info hata vermeye devam eder. Bunu elle kontrol etmek yerine, daemon hazır olana kadar yoklayan küçük bir bekleme tek satırlık komutunu kullanın:

hazır olana kadar 

docker info >/dev/null 2>&1; do sleep 2; echo "waiting..."; done && echo "Docker ready"

Bir kez Docker ready yazdırdığında, devam edebilirsiniz.

Adım 2: Salt-okunur bir GitHub belirteci oluşturun

Docker kurulduktan sonra, github.com/settings/tokens adresine gidin ve yeni bir klasik belirteç oluşturun.

Not: Tüm kapsamları boş bırakın. Kapsamlanmamış bir belirteç yine de GitHub API aracılığıyla herkese açık depoları okuyabilir; bu da aracımızın ihtiyaç duyduğu her şeydir. Herhangi bir kapsam seçmeden belirteç, GitHub'da hiçbir şeyi yazamaz, değiştiremez veya silemez; Claude'dan ne istemiş olursanız olun. Bu, ajan davranışıyla ilgili verdiğimiz bir söz değil, GitHub tarafında uygulanan sert bir garantidir.

Belirteci oluşturduktan hemen sonra kopyalayıp kaydedin ve ardından kabuğunuzda dışa aktarın:

export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_your_token_here"

Zaten bir Claude Code oturumunun içindeyseniz, dışa aktarma komutunu doğrudan kabuğunuzda çalıştırmak için ! önekini kullanmak cazip gelebilir (ör. ! export GITHUB_PERSONAL_ACCESS_TOKEN="..."). 

Ancak, ! geçici bir alt kabuk başlattığı için komut biter bitmez değişken kaybolur ve Claude onu göremez.

Belirteci, onu model istemine yapıştırmadan güvenli bir şekilde ayarlamak için iki seçeneğiniz var:

  1. /exit yazarak Claude'dan çıkın, normal terminalinizde dışa aktarma komutunu çalıştırın ve claude'u yeniden başlatın.
  2. Ya da belirteci çalışma dizininizdeki yerel bir .env dosyasına kaydedin; Claude Code başlatmada bunu otomatik olarak okur.

Belirtecin kendisini ekoya vermeden her iki önkoşulun da hazır olduğunu doğrulayın:

docker info | head -3
echo "Token set: ${GITHUB_PERSONAL_ACCESS_TOKEN:+yes}"

İkinci komut, değişken varsa Token set: yes, boşsa Token set: (iki nokta üst üste sonrası boş) yazdırır. 

Bu, belirteci doğrudan ekoya vermekten daha güvenlidir çünkü düz metin halinde kabuk geçmişinize düşme ihtimali yoktur.

Adım 3: GitHub bağlayıcısını Claude Code ile kaydedin

Resmi GitHub MCP sunucusu bir Docker imajı olarak gelir. 

Bunu claude mcp add kullanarak Claude Code'a kaydederiz:

claude mcp add github \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PERSONAL_ACCESS_TOKEN \
  -- docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN \
  ghcr.io/github/github-mcp-server

İki -e bayrağı burada yazım hatası değildir::

  • İlk -e (--) öncesi, Claude Code'un başlattığı MCP süreci için bir ortam değişkeni ayarlar,
  • İkinci -e (docker run argümanlarının içinde) Docker'a bu değişkeni konteynıra iletmesini söyler.

Bunlardan birini kaçırır ve konteyner boş bir belirteçle başlarsa, GitHub API'ye karşı kimlik doğrulaması başarısız olur.

Bağlayıcının başarıyla kaydedilip kaydedilmediğini doğrulamak için:

claude mcp list

Şunu görmelisiniz:

github — docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server —  Connected

Eğer Failed to connect görürseniz, en yaygın iki neden Docker'ın çalışmaması veya claude mcp add komutunu çalıştırdığınız aynı kabukta GITHUB_PERSONAL_ACCESS_TOKEN'ın dışa aktarılmamış olmasıdır.

Adım 4: Bağlantıyı mantık kontrolünden geçirin

Artık GitHub belirtecimiz ayarlı. Sonraki adımda bir çalışma dizini oluşturup Claude Code CLI'ını açıyoruz:

mkdir demo && cd demo
claude

claude komutu, geçerli dizinde etkileşimli bir oturum başlatır. 

Triyaj sırasında Claude'un yazdığı tüm dosyalar buraya düşer. 

Ardından bağlayıcının kullanıldığını doğrulamak için salt-okunur basit bir soru sorun:

Using the GitHub MCP connector, fetch the 5 most recently updated open issues in langchain-ai/langchain. Just list titles and numbers.

Claude Code ilk kez bir GitHub aracını kullandığında onay isteyecektir. 

list_issues, get_issue, search_issues vb. salt-okunur araçları onaylayın. 

Claude, MCP araçları yerine herkese açık GitHub API'sine karşı curl kullanmaya geri dönerse, bağlayıcı yüklenmemiş demektir. O zaman oturumdan çıkıp yeniden başlatın.

Başarılı bir çalıştırma şöyle bir çıktı döndürür:

Bağlantıyı mantık kontrolünden geçirin

MCP üzerinden gerçek sorun numaralarının döndüğünü gördüğünüzde, gerçek triyajı çalıştırmaya hazırız.

Adım 5: Bir backlog özeti oluşturun

Isınma görevi tamamen salt-okunurdur. Şimdi, başka bir şey yapmadan önce sorun izleyicide neler olduğuna dair bir harita istiyoruz.

Prompt:
Using the GitHub MCP connector, pull the 50 most recently updated open issues from langchain-ai/langchain. 
Read their titles, bodies, and labels. Group them by likely area — bugs, feature requests, documentation, questions, and "needs more info." 
For each group, give me a count and 3-5 representative issue numbers with a one-line reason. Save as backlog-summary.md in the current directory.

Bir backlog özeti oluşturun

Claude Code, sorunları bağlayıcı üzerinden çeker, okur ve alanlara göre temsilci sorun numaralarıyla gruplayan bir markdown dosyası yazar. Bu dosyanın kendisi bile, bir bakımcının 60 saniyede göz gezdirip nasıl bir haftaya adım attığını bilmesi için faydalıdır.

Adım 6: Olası yinelenenleri işaretleyin

Yinelenen tespiti, bir aracının değerini kanıtladığı yerdir. 

50 sorunu baştan sona okuyup altta yatan probleme göre kümelendirmek bir insan için yorucudur; ancak bir model hepsini bağlamda tutup anahtar kelime aramasının kaçıracağı örtüşmeleri fark edebilir.

Prompt:
From the same 50 issues you already pulled, identify clusters of likely duplicates: issues describing the same underlying problem, even if titles differ. For each cluster, output issue numbers, a one-sentence shared-problem description, and confidence (high/medium/low). Save as duplicate-candidates.md.

Benim çalıştırmamda Claude'un ürettiği çıktı şöyleydi:

Olası yinelenenleri işaretleyin

Bu çıktının en ilginç kısmı 2'den 4'e kadar olan kümeler. 

Saf bir anahtar kelime tabanlı yinelenen tespit aracı bu dört kümeyi de yinelenen olarak kapatırdı. 

Claude, onları yinelenen olarak adlandırmayı açıkça reddetti. 

Aynı alt sisteme sahip, farklı kök nedenleri olan bileşen kümeleri olarak işaretledi ve hangilerini gerçekten kapatacağımı (sadece Küme 1) ve hangilerini ortak triyaj edip açık tutacağımı söyledi.

Bu, dikkatli bir insan triyajcısından bekleyeceğiniz davranıştır ve tam da bu yüzden önce-yerel-dosyalar-sonra-inceleme deseni fazladan adıma değer. 

Eğer bunu doğrudan GitHub API'ine bağlayıp Claude'un işaretlediği her şeyi otomatik kapatsaydık, üç gerçek hatayı kapatmış olurduk.

Adım 7: Gözden geçirin, sonra neyi yayımlayacağınıza karar verin

Yerel-dosyalar deseninin tüm amacı budur. 

GitHub'a herhangi bir şey dokunmadan önce, Claude tarafından kaydedilen her .md dosyasını kontrol edin ve gruplamanın sezginizle eşleşip eşleşmediğine bakın. 

Yüksek güven düzeyli kümeler gerçekten yinelenen gibi mi görünüyor? 2-3 taslak yanıtı okuyun ve sizin üslubunuza benziyorlar mı kontrol edin.

Yorumları gerçekten yayımlamak veya etiketleri uygulamak isterseniz iki seçeneğiniz var:

  • Manuel: Taslakları kendiniz GitHub'a yapıştırabilirsiniz. Başkasının reposunda tek seferlik bir triyaj oturumu için bu uygundur ve çoğu zaman doğru seçimdir.
  • Sahibi olduğunuz bir repoda yazmalara yetki verin:  Repo kapsamı olan ayrı bir PAT oluşturun, bunu ayrı bir bağlayıcı girdisi (örn. github-write) olarak ekleyin ve Claude'dan etiketleri uygulamasını ve yorumları yayımlamasını isteyerek istemleri yeniden çalıştırın. Claude Code, ilk kez kullanılan her yazma aracı için onay isteyecektir.

Yazma yolundaki temel güvenlik hamlesi, okuma ve yazma belirteçlerini ayrı tutmaktır. 

Sonuç

Bu eğitimde, Claude Code'u MCP aracılığıyla GitHub'a nasıl bağlayacağımı ve bunu gerçek bir açık kaynak deposunu uçtan uca triyaj etmek için nasıl kullanacağımı gösterdim. 

Özel bir GitHub botu oluşturmaktansa veya webhook'ları bağlamaktansa, iş akışı sorunları resmi GitHub MCP sunucusu üzerinden okur, dört triyaj çıktısını yerel dosyalar olarak yazar ve neyin yayımlanacağına karar vermeden önce her şeyi gözden geçirmenize olanak tanır.

Daha geniş çıkarım ise, bağlayıcıların Claude Code'u bir kodlama aracısından, araçlarınızı okuyabilen ve sizin gözden geçirmeniz için işi hazırlayabilen bir araca dönüştürdüğüdür. 

Doğru varsayılan, o işi siz görmeden yerelde tutmaktır; desene güven duyduğunuzda ise hatanın maliyetinin düşük olduğu yerlerde aracıya seçici şekilde eyleme geçme izni verebilirsiniz.

Buradan projeyi birkaç şekilde genişletebilirsiniz:

  • Gözden sonra etiketlerin ve yorumların otomatik uygulanması için sahibi olduğunuz repolarda yazma yetkili bağlayıcılar ekleyin,
  • Triyaj kararlarını ekibinizin iş akışına senkronize etmek için Linear veya Slack bağlayıcılarını zincirleyin,
  • İstemleri haftalık triyaj PR'ı üreten zamanlanmış bir CI işine dönüştürün,
  • Veya yukarıdaki istemleri herhangi bir repo URL'sinde çalışan yeniden kullanılabilir bir Claude Code eğik çizgi komutuna genelleyin.

SSS

GitHub MCP sunucusunu kullanmak için GitHub Copilot aboneliğine ihtiyacım var mı?

Hayır. GitHub, standart bir Kişisel Erişim Belirteci ile kimlik doğrulayabileceğiniz uzak bir HTTP uç noktası (api.githubcopilot.com/mcp) sunsa da, bu eğitimde yaptığımız gibi kendi barındırdığınız Docker imajını çalıştırmak bağlantıyı makinenize yerel tutar. Hiçbir yöntem bir Copilot aboneliği gerektirmez; ancak Docker yaklaşımı, belirtecinizin yerel ortamınızı asla terk etmemesini sağlar.

Neden tüm PAT kapsamlarını boş bırakıyoruz?

Kapsamlanmamış klasik bir PAT, GitHub API üzerinden herkese açık depoları okuyabilir; ancak hiçbir yerde hiçbir şeyi yazamaz, değiştiremez veya silemez. Bu da tüm eğitimi doğası gereği salt-okunur kılar; Claude bir yorum göndermeye çalışsa bile, GitHub isteği 403 ile reddeder. Sahibi olmadığınız repoları triyaj etmek için bu en güvenli kurulumdur.

Bağlayıcı "Failed to connect" gösterirse ne olur?

İki yaygın neden: Docker çalışmıyor (docker info bir hata değil, sunucu bilgisi döndürmelidir) veya GITHUB_PERSONAL_ACCESS_TOKEN, claude mcp add çalıştırdığınız kabukta dışa aktarılmamış. Uygun olanı düzeltin, bağlayıcıyı kaldırıp yeniden ekleyin ve ardından Claude Code oturumunuzu yeniden başlatın.

Bu eğitim sırasında Claude Code GitHub'a herhangi bir şey gönderiyor mu?

Hayır. Tüm istemler salt-okunurdur, tüm çıktılar yerel dosyalara yazılır ve kapsamlanmamış PAT fiziksel olarak GitHub'a yazamaz. Herhangi bir şeyin yayımlanıp yayımlanmayacağına siz karar verirsiniz.

Bunu zamanlanmış olarak çalıştırabilir miyim?

Evet. İstemleri Claude Code'u etkileşimli olmayan şekilde çağıran bir kabuk betiğine sarın (claude CLI'nin --print ve -p bayraklarına resmi dokümanlarda bakın) ve ardından bunu cron veya GitHub Actions ile çalıştırın. Çıktıları bir dala işle ve gözden geçirme için bir PR açın.

Bunu Claude web uygulamasının '+' bağlayıcı menüsünden kurabilir miyim?

Hayır, o akış Claude.ai / Masaüstü / mobil sohbet içindir. Claude Code CLI kullanır. Ancak kurulum yapıldıktan sonra, her iki yüzey de aynı temel MCP sunucularını kullanabilir.

Konular

Öne Çıkan DataCamp Kursları

Kurs

Software Development with Claude Code

4 sa
4.5K
Claude Code brings AI assistance to your terminal. Learn the workflows that turn it into a reliable tool for real software development.
Ayrıntıları GörRight Arrow
Kursa Başla
Devamını GörRight Arrow