MCP, Spaces ve Spark

Copilot'u MCP ile harici araçlara bağlayın, Spaces ile yanıtlayacağı bağlamı seçin ve Spark ile bir fikrin prototipini kurun. Cilalı çıktıya güvenmek yerine dönen her olguyu doğrulayın.


Bu derste neler öğreneceksiniz?

  • MCP'nin neyi bağladığını ve doğurduğu iki güven kararını açıklayın
  • Bir MCP aracının gerçekten çalıştığını kanıtlayın ve her yanıt alanını kaynağına kadar izleyin
  • Bir Copilot Space'i iddiadan kanıta denetimle dürüst tutun
  • Her seferinde tek bir davranışı iyileştirmeden önce Spark prototipini test edin
Bu sayfada

Bu derste Copilot'a çalışacağı daha fazla malzeme vermenin üç yolunu ele alıyoruz. MCP harici sistemlere bağlanır. Spaces tekrarlanan bir soru için kaynakları bir araya getirir. Spark ise uygulama tanımından çalışan bir prototip kurar.

Yetenek arttıkça yanıt veya prototip olduğundan daha güvenilir görünebilir. Bu yüzden her aracın yanında ona uygun kontrolü kullanın. Harici aracın çalışmasını gözleyin, Space'teki iddiaları dosyalarına kadar izleyin ve Spark davranışını iyileştirme istemeden önce test edin.

MCP gerçekte neyi bağlar?

MCP, yani Model Context Protocol, bir AI uygulamasını harici araçlara ve verilere bağlamanın standart yoludur. Burada VS Code ve Copilot host rolündedir. MCP sunucusu, host'un keşfedip kullanabileceği issue arama, dokümantasyon okuma veya kontrollü işlem çalıştırma gibi yetenekler sunar. Sunucu dil modeli değildir ve Copilot'un yerini almaz. Başka bir sisteme kontrollü arabirim sağlar. Tipik akışta çözümlenmemiş sürüm engellerini sorarsınız. Copilot list_blockers gibi sunucu aracını seçip yapılandırılmış girdi gönderir. Sunucu yapılandırılmış veri döndürür ve Copilot yanıtı bu kanıttan biçimlendirir.

Bu sunucuyla ilgili iki noktaya dikkat edin. Her aracı etkisine göre sınıflandırın. Salt okunur araç hiçbir şeyi değiştirmeden bilgi döndürür. Değişiklik yapan araç veri oluşturur, günceller veya siler. Bağlanması güvenli bir sunucu, her işlem için otomatik olarak güvenli değildir. Bu ayrım bağlantı güveni ile işlem güvenini ayrı kararlar haline getirir. Ayrıca aktarım türünü kaydedin. Yerel işlem komut ve argümanlarla bilgisayarınızda çalışır. Uzak sunucuya sahibinin sağladığı HTTP endpoint'i üzerinden erişilir.

Yapılandırma katmanlar halinde bulunur. Kullanıcı yapılandırması kendi kurulumunuza özeldir. Repository yapılandırması genellikle .vscode/mcp.json içinde bulunur ve katkıda bulunanların aynı sunucu tanımını paylaşmasını sağlar. Kuruluş veya enterprise yönetimi ise merkezi yönetilen kullanıcıların sunucuları kullanıp kullanamayacağını belirler. .vscode/mcp.json dosyasına endpoint commit etmek bağlantıyı paylaşır, fakat sunucuyu onaylamaz ve herkese kullanım yetkisi vermez. Onayı registry ile allowlist kontrolleri sağlar. Commit edilen config hiçbir zaman gizli bilgi içermez.

MCP config'e asla gizli bilgi commit etmeyin

Repository'nin mcp.json dosyası yalnızca gizli olmayan bağlantı meta verilerini tutar. Sunucu adı, aktarım, onaylanmış endpoint veya komut bu kapsamdadır. Bearer token'lar, API anahtarları, istemci gizli bilgileri ve bağlantı dizeleri desteklenen gizli bilgi deposuna aittir. Commit edilmiş config'e değil. Bir kimlik bilgisi dosyaya girdiyse açığa çıkmış kabul edin ve yenileyin. Dosyayı düzenlemek bilgiyi geçmişten silmez.

Tek bir MCP sunucusunu salt okunur sorgulayın· github-copilot
Zayıf örnek

release-triage MCP sunucusuyla 2.4 sürümünün blocker'larını listele.

İyi örnek

Yalnızca release-triage MCP sunucusunu kullan. 2.4 sürümünün açık release blocker'larını listele. Her biri için issue ID, başlık, sorumlu, önem derecesi ve son güncellemeyi döndür. Yalnızca salt okunur araçları kullan. Issue'ları, dosyaları, branch'leri veya dağıtımları değiştirme. Özetlemeden önce seçtiğin sunucuyu ve aracı göster. Sunucu bir alan döndürmüyorsa "Sunucu tarafından döndürülmedi" yaz.

Bu prompt neden daha iyi? Yalnızca adlandırılan sunucudan çıkarılmış, eksik alanları tahmin etmek yerine işaretleyen bir blocker tablosu ve hangi aracın çalıştığına dair görünür kayıt elde edersiniz.

Bir MCP aracının gerçekten çalıştığını nasıl kanıtlarsınız?

Copilot, MCP aracını hiç çağırmadan issue takip sisteminizden gelmiş gibi duran akıcı bir blocker raporu yazabilir. Gözlenen sunucu ve araç etkinliğini arayın. Yanıtta seçilen sunucu ile aracın adını isteyin, çağrıyı veya onay talebini izleyin. Hiçbiri görünmüyorsa bunu keşif sorunu olarak kaydedin. Sorun yapılandırmada, işlem başlatmada, araç keşfinde, ilkede veya kimlik doğrulamada olabilir.

Çağrıdan sonra sonucu alan alan denetleyin. Gösterilen her değer sunucu yanıtındaki bir özellikle eşleşmelidir. Eşleşme yoksa alanı "Sunucu tarafından döndürülmedi" diye etiketleyin. Beklenen araç çalıştıysa boş blocker listesi bile keşfi kanıtlayabilir. Araç çağrısı olmayan cilalı tablo, verinin kaynağı hakkında kanıt sunmaz.

Sunucu onaylandıktan sonra yönetim bitmez. Yeteneklerini ve sorumlusunu kaydedin, kimlerin bağlanabileceğini belirleyin, runtime çağrılarını onaylayın, izin verilen ve reddedilen durumları test edin. Sunucu değiştiğinde yeniden inceleyin. Adı aynı kalırken close_issue gibi bir araç eklenebilir. Bu yeni yetenek eski salt okunur sınıflandırmayı geçersiz kılar, dolayısıyla erişim ve uygulama kontrollerini tekrarlamanız gerekir.

Her alanı dönen bir değere kadar izleyin

Bir MCP sorgusundan sonra Copilot'a yanıtındaki her hücrenin arkasındaki dönen özelliği adlandırtın ve eşleşen özelliği olmayan her hücreyi desteksiz olarak işaretletin. Karşılık gelen araç çağrısı olmayan akıcı bir sonuç doğrulanmamıştır. Yanıt doğru olabilir, fakat sunucunun ürettiğini gözlenen hiçbir şey kanıtlamaz.

Her yanıt alanını kaynağına izleyin· github-copilot
Zayıf örnek

Blocker tablosundaki değerlerin nereden geldiğini göster.

İyi örnek

Az önce ürettiğin blocker tablosundaki her hücre için, dönen MCP sonucunda geldiği tam özelliği adlandır. Dönen bir özellikle eşleşmeyen her hücreye "Dönen alanlar tarafından desteklenmiyor" yaz. Başka bir kaynak çağırma veya değer çıkarımı yapma.

Bu prompt neden daha iyi? Her değeri dönen bir alana dayandıran ya da güvenmemeniz gereken çıkarımı açığa çıkaran, hücre hücre bir denetim.

Spaces nedir, nasıl dürüst tutulur?

Copilot Space, tekrarlanan sorularda kullanılacak bağlamı düzenleyen yeniden kullanılabilir bir alandır. Yeni bir model veya coding agent değildir. Adlandırılmış kanıt paketi gibi düşünün. Değer, tek soruyu yanıtlayabilecek kaynakları seçmekte ve Copilot'un bunları nasıl kullanacağını belirtmektedir. "Mimari kararını, yerel geliştirme rehberini ve güncel issue'ları kullanarak servisin nasıl çalıştırılacağını açıkla. Eksik kurulumu işaretle." isteği, "Bu proje hakkında her şeyi anlat" isteğinden daha incelenebilir bir kanıt sınırı çizer.

Space yanıtını iddialara ayırın ve her iddia için dört soruyu yanıtlayın. Hangi kaynak iddiayı destekleyebilir? Hangi rehber Copilot'a bu kaynağı kullanmasını söyledi? Copilot tam olarak ne iddia etti? Kaynak iddiayı doğruluyor, onunla çelişiyor veya konuyu atlıyor mu? Sonucu doğrulanmış, çakışan veya eksik olarak sınıflandırın. Muhtemel değeri doğrulanmış olgu gibi sunmayın. Kaynak port 4000, yanıt 3000 diyorsa bu çakışmadır. Hiçbir kaynak port belirtmiyorsa bilgi eksiktir. "Kaynak söylemiyor" ile "Port yok" aynı anlama gelmez.

Bir iddianın yanında yazan dosya adı tek başına kanıt değildir. Dosyayı açıp gerçek komut, değer veya durumla karşılaştırın. Space kaynak düzenlemeyi ve doğrulamayı kolaylaştırır, fakat bunları sizin yerinize yapmaz.

Space'e sorun ve kaynakları göstermesini isteyin· github-copilot
Zayıf örnek

Bu Space'i kullanarak yeni katkıda bulunanın servisi nasıl çalıştıracağını açıkla.

İyi örnek

Yalnızca bu Space'i kullanarak yeni bir katkıda bulunanın servisi yerelde nasıl çalıştırıp doğrulayacağını açıkla: ön koşullar, komutlar, beklenen sonuçlar ve eksik kurulum bilgileri. Her adımı destekleyen kaynağı adlandır ve her sonucu doğrulanmış, çakışan ya da eksik olarak sınıflandır. Materyal bir şeyi yanıtlamıyorsa "Bu Space'te belirtilmemiş" yaz.

Bu prompt neden daha iyi? Her adımın kaynağını adlandırdığı ve boşlukların kendinden emin uydurmalar yerine açık "eksik" durumlar olarak göründüğü, kanıta dayalı bir başlangıç rehberi.

Bunun yerine ne zaman Spark'a uzanırsınız?

Spaces kanıtı düzenler. GitHub Spark ise doğal dildeki uygulama fikrini kod gerektirmeden web uygulaması prototipine çevirir. Dosya, framework ve bileşenlerden önce kullanıcı sorunuyla ve kısa tanımla başlarsınız. Güçlü tanım kullanıcıları, görevleri, gösterilen veya toplanan veriyi, eylemleri, durumları, kabul ölçütlerini ve bilinçli dışlamaları belirtir. Spark, Temmuz 2025'te Copilot Pro+ aboneleri için public preview olarak duyuruldu. Hesabınızda yoksa tanım ve test planını yine yazabilirsiniz, ancak uygulama ürettiğinizi iddia etmeyin.

Spark prototipini iyileştirmeden önce test edin. Üretilen uygulama bitmiş görünebilir, fakat doğrulama, filtreleme, kalıcılık veya boş durumlar yanlış çalışabilir. Cilalı arayüz davranış kanıtı değildir. Beklenen sonuçları önce yazın. Her sonucu prototipte deneyin ve "İki satır görünür kaldı" gibi somut gözlemler kaydedin. Her turda tek başarısız davranışı düzeltin, çalışan noktaları koruyun ve komşu testleri yeniden çalıştırın.

Spaces ve Spark birlikte kullanılabilir. Space kanıta dayalı ürün tanımı hazırlamanıza yardımcı olur, Spark ise bu tanımdan uygulama biçimini keşfeder. Üretim başlangıç noktasıdır, karar değildir. Akışları test edin ve paylaşma veya deploy kararını ayrı değerlendirin.

Her seferinde tek bir başarısız davranışı düzeltin

Birden fazla Spark sorununu tek istekte düzeltmeye direnin. Prototipe dokunmadan önce beklenen sonuçları yazın, sonucu açık tek bir başarısız testi seçin, çalışan her şeyi koruyarak yalnızca o davranışın düzeltilmesini isteyin ve komşu testleri yeniden çalıştırın. Her seferinde tek değişiklik, her düzeltmeyi incelenebilir tutar.

Spark'a bir uygulamayı test edilebilir davranışlarla anlatın· github-copilot
Zayıf örnek

Kayıt formu ve koordinatör görünümü olan Workshop Check-in uygulaması oluştur.

İyi örnek

Workshop Check-in adlı basit bir web uygulaması oluştur. Katılımcılar ad, kuruluş ve oturum bilgilerini girip göndersin ve bir onay görsün. Bir koordinatör kayıtları görsün, oturuma göre filtrelesin ve filtreyi temizleyerek tümünü geri getirsin. Gerekli durumlar: alan doğrulama, başarılı kayıt, henüz kayıt yok ve filtreyle eşleşen sonuç yok. Örnek veri ve erişilebilir bir düzen kullan. Kimlik doğrulama, ödeme veya harici entegrasyon olmasın. Başarı: boş gönderim doğrulama gösterir. Geçerli kayıt koordinatör görünümünde belirir. Filtreleme görünen satırları değiştirir. filtreyi temizlemek tam listeyi geri getirir.

Bu prompt neden daha iyi? Tanım kullanıcıları, akışları, durumları ve başarı ölçütlerini belirlediği için hemen adlandırılmış davranışlara karşı test edebileceğiniz bir prototip elde edersiniz. Bu yalnızca seyredilecek bir ekran görüntüsü değildir.

Şimdi siz deneyin

Bir Space derleyin ve yanıtını denetleyin

Birkaç dokümandan küçük bir Space kurun, kanıta dayalı tek bir soru sorun ve her iddiayı denetleyin. Yaklaşık on dakika sürer ve kod yazmanız gerekmez.

  1. 01

    "Yeni bir katkıda bulunan bu servisi nasıl çalıştırır?" gibi tekrarlanan tek bir soruyu yanıtlayan üç ya da dört kısa proje dokümanı toplayın.

  2. 02

    Bir Space oluşturun, dokümanları bağlam olarak ekleyin ve şu rehberi yazın: yalnızca eklenen materyali kullan, her iddia için destekleyici dosyayı adlandır ve boşluklarda "Bu Space'te belirtilmemiş" de.

  3. 03

    Tekrarlanan sorunuzu sorun ve yanıtı bir iddialar kümesi olarak okuyun.

  4. 04

    Her önemli iddia için adlandırılan dosyayı açın ve doğrulanmış, çakışan ya da eksik olarak işaretleyin.

    İpucu: Bir iddianın yanındaki dosya adı kanıt değildir. Gerçek komut, değer ya da durumla karşılaştırın.

  5. 05

    Yanıt bir şey uydurduysa rehberi veya kaynakları sıkılaştırıp soruyu yeniden sorun.

Yeniden kullanılabilir bir Space ve kaynaklarının hangi olguları desteklediğini, hangilerinin baştan beri eksik olduğunu gösteren iddia denetimi.

Aklınızda kalsın

  • MCP, Copilot'u harici araç ve verilere bağlar. Bağlantı güveni ile işlem güveni ayrı kararlardır.
  • Keşfi gözlenen sunucu ve araç etkinliğiyle kanıtlayın. Araç çağrısı olmayan akıcı yanıt doğrulanmamıştır.
  • Her MCP yanıt alanını dönen bir özelliğe izleyin ve sunucunun döndürmediği her şeyi işaretleyin.
  • Bir Space, ancak derlenmiş kaynakları ve doğrulanmış/çakışan/eksik iddia denetimi kadar iyidir.
  • Spark test edilecek bir prototip üretir. Cilalı arayüz, davranışın doğru olduğunun kanıtı değildir.

Kendinizi test edin

  1. 1. Prompt, release-triage sunucusunun list_blockers aracını istemiş olsa da Copilot cilalı bir blocker raporu üretiyor ve hiçbir MCP araç etkinliği görmüyorsunuz. Keşif kanıtlandı mı?

  2. 2. Yeni katkıda bulunanlara dört başlangıç dokümanından yeniden kullanılabilir, kaynak sınırları belli yanıtlar vermeniz gerekiyor. Hangi ürün uygundur?

  3. 3. Workshop Check-in için Spark uygulamanız üretildikten sonra cilalı görünüyor. Bu, filtreleme ve doğrulamanın çalışıp çalışmadığı hakkında ne söyler?

  4. 4. Salt okunur bir issue MCP sunucusu sonradan close_issue aracını ekliyor. Bu ne gerektirir?

  5. 5. Bir Space'in kaynakları hiçbir yerde dağıtım tarihi belirtmiyor. Bunu nasıl bildirmelisiniz?

Sık sorulan sorular

Bu dersteki terimler

MCP (Model Context Protocol)
Copilot gibi bir AI uygulamasını sunucu üzerinden harici araç ve verilere bağlamanın standart yolu.
salt okunur ve değişiklik yapan araç
Yalnızca bilgi döndüren MCP aracı ile kaynak sistemde veri oluşturan, güncelleyen ya da silen MCP aracı arasındaki ayrım.
keşif kanıtı
Yalnızca kanıta dayalıymış gibi görünen düz metnin aksine, bir MCP aracının gerçekten çalıştığını gösteren gözlenmiş sunucu ve araç etkinliği.
Copilot Space
Copilot'un soruları yanıtlayabileceği, yeniden kullanılabilir ve adlandırılmış bir derlenmiş bağlam paketi.
GitHub Spark
Doğal dildeki uygulama fikrini test edip iyileştirebileceğiniz bir web uygulaması prototipine çeviren araç.

Daha fazla kaynak