Bir yapay zekâ modeli ne kadar yetenekli olursa olsun, kendi başına sizin dosyalarınızı göremez, şirketinizin veritabanına erişemez, takviminizi okuyamaz. Model, eğitildiği bilgiyle ve sohbet penceresine yapıştırdığınız metinle sınırlıdır. Onu gerçekten işe yarar kılmak için dış dünyaya bağlamak gerekir. Model Context Protocol, kısaca MCP, tam olarak bu bağlantıyı standart bir yola oturtmak için ortaya çıkmış açık bir protokoldür.
Sorun: Her bağlantı için ayrı bir kablo
MCP’nin neyi çözdüğünü anlamak için öncesine bakmak gerekir. Diyelim ki bir yapay zekâ uygulaması geliştiriyorsunuz ve modelin bir proje yönetim aracındaki görevleri okuyabilmesini istiyorsunuz. Bunun için o aracın arayüzüne özel bir entegrasyon yazarsınız. Sonra kullanıcılar dosya depolama hizmetine de erişim ister; bir entegrasyon daha. Ardından veritabanı, e-posta, kod deposu derken liste uzar.
Şimdi aynı işi başka bir yapay zekâ uygulamasının geliştiricisinin de yaptığını düşünün. Herkes aynı hizmetler için kendi bağlantısını, kendi yöntemiyle yeniden yazıyor. Ortaya çıkan tablo, her cihazın kendine özel şarj kablosu olduğu eski telefon dönemlerine benzer: Çekmece kablo dolu, ama hiçbiri birbirine uymuyor.
Bu duruma genellikle “M çarpı N problemi” denir. M sayıda yapay zekâ uygulaması ve N sayıda araç varsa, her birini birbirine bağlamak için M çarpı N kadar ayrı entegrasyon gerekir. Ortak bir standart olduğunda ise her uygulama standardı bir kez destekler, her araç da standardı bir kez uygular. İş M artı N’ye iner.
MCP nedir?
MCP, Anthropic tarafından 2024’ün sonlarında açık kaynak olarak duyurulan bir protokoldür. Amacı, yapay zekâ uygulamalarının dış veri kaynaklarına ve araçlara tek tip bir yöntemle bağlanmasını sağlamaktır. Protokolün resmî belgelerinde sıkça kullanılan benzetme USB-C’dir: Nasıl ki tek bir bağlantı noktası şarj cihazını, ekranı ve harici diski aynı yöntemle bağlıyorsa, MCP de bir yapay zekâ uygulamasının farklı sistemlere aynı dil üzerinden bağlanmasını hedefler.
Protokol açık olduğu için herhangi bir şirketin ürününe bağımlı değildir. Zaman içinde farklı yapay zekâ sağlayıcılarının ve geliştirici araçlarının desteğini kazanmış, bu da onu tek bir ürünün özelliği olmaktan çıkarıp sektörde ortak bir dile dönüştürmüştür.
Mimarinin üç parçası
MCP’nin yapısı ilk bakışta karmaşık görünse de üç temel rolle açıklanabilir:
Host (ana uygulama)
Kullanıcının etkileşime girdiği yapay zekâ uygulamasıdır. Bir masaüstü sohbet uygulaması, bir kod editörü ya da bir şirketin kendi geliştirdiği asistan olabilir. Modelle konuşan ve bağlantıları yöneten taraf burasıdır.
Client (istemci)
Host’un içinde çalışan ve her bir MCP sunucusuyla birebir bağlantı kuran bileşendir. Bir host aynı anda birden fazla sunucuya bağlanabilir; her bağlantı için ayrı bir istemci bulunur.
Server (sunucu)
Belirli bir aracı ya da veri kaynağını MCP diliyle dışarıya açan programdır. Örneğin bir dosya sistemi sunucusu klasörlerdeki dosyaları okumayı sağlar; bir veritabanı sunucusu sorgu çalıştırmayı mümkün kılar. Sunucu, yerel bilgisayarınızda çalışan bir program da olabilir, internet üzerindeki uzak bir hizmet de.
Bu parçalar arasındaki mesajlaşma JSON-RPC adı verilen, yaygın ve basit bir biçimle yapılır. Yerel sunucular genellikle standart giriş/çıkış üzerinden, uzak sunucular ise HTTP üzerinden iletişim kurar.
Bir sunucu neler sunabilir?
MCP sunucuları üç temel türde yetenek sunar. Bu ayrım, protokolün neden yalnızca “araç çağırma” olmadığını anlamak için önemlidir:
| Yetenek | Ne işe yarar? | Kim kontrol eder? |
|---|---|---|
| Araçlar (tools) | Bir işlem yapmak: kayıt oluşturmak, sorgu çalıştırmak, mesaj göndermek | Model, ihtiyaç duyduğunda çağırır |
| Kaynaklar (resources) | Okunacak veri sunmak: dosya içeriği, belge, kayıt | Uygulama, bağlama ne ekleneceğine karar verir |
| İstem şablonları (prompts) | Hazır iş akışı kalıpları sunmak: “Bu kodu incele” gibi | Kullanıcı seçer |
Bir sunucu bağlandığında istemci ona adeta “Neler yapabiliyorsun?” diye sorar; sunucu da sahip olduğu araçları, her birinin adını, açıklamasını ve beklediği parametreleri listeler. Model bu açıklamaları okuyarak hangi aracı ne zaman kullanacağına karar verir. Yani yeni bir sunucu eklendiğinde uygulamanın kodunu değiştirmeye gerek kalmaz; yetenekler bağlantı anında keşfedilir.
Somut bir senaryo
Bir yazılım ekibinde çalıştığınızı ve kod editörünüzde MCP destekli bir yapay zekâ asistanı kullandığınızı düşünelim. Editöre üç sunucu bağlamışsınız: biri hata takip sistemine, biri ekibin veritabanının test kopyasına, biri de proje belgelerinin bulunduğu klasöre erişiyor.
Asistana “Dünkü ödeme hatası kaydına bak, ilgili tabloyu kontrol et ve belgelerdeki ödeme akışıyla karşılaştır” dediğinizde şu olur: Model önce hata takip sunucusunun aracıyla kaydı okur. Kayıtta geçen tablo adını görünce veritabanı sunucusuna bir okuma sorgusu gönderir. Ardından belge klasöründen ödeme akışını anlatan dosyayı bağlama ekler. Üç farklı sistemden gelen bilgiyi birleştirip size bir değerlendirme sunar.
Bu senaryodaki asıl kazanç, üç bağlantının da aynı protokolle kurulmuş olmasıdır. Yarın ekip MCP destekleyen başka bir editöre geçse, aynı sunucuları orada da kullanabilir.
Güvenlik tarafını unutmamak
MCP bir bağlantı standardıdır; neye bağlandığınızın güvenli olduğunu garanti etmez. Bir sunucu kurduğunuzda, yapay zekâ uygulamanıza o sunucunun eriştiği her şeye erişim vermiş olursunuz. Bu yüzden şu noktalara dikkat etmek gerekir:
- Kaynağını bilmediğiniz sunucuları kurmayın. Bir MCP sunucusu sonuçta bilgisayarınızda ya da hesabınız adına çalışan bir programdır.
- Yetkileri dar tutun. Sadece okuma gereken yerde yazma yetkisi olan bir sunucu kullanmayın; mümkünse test ortamına bağlanın.
- Araç çağrılarını onaylı çalıştırın. Birçok host uygulaması, bir araç çalıştırılmadan önce kullanıcıya sorma seçeneği sunar. Özellikle veri değiştiren araçlar için bu onayı kapatmayın.
- Dışarıdan gelen içeriğe temkinli yaklaşın. Bir sunucunun getirdiği belge ya da web sayfası, modeli yanıltmaya çalışan gizli talimatlar içerebilir. Bu risk ayrı bir yazının konusu, ama varlığını bilmek bile dikkatli olmayı sağlar.
Başlamak isteyenler için yol haritası
MCP’yi denemek için büyük bir proje kurmanız gerekmez. Basit bir başlangıç şöyle olabilir:
- Kullandığınız yapay zekâ uygulamasının ya da kod editörünün MCP desteği olup olmadığını ayarlarından veya belgelerinden kontrol edin.
- İlk deneme için zararsız bir sunucu seçin; örneğin yalnızca belirli bir klasörü okuyabilen bir dosya sistemi sunucusu.
- Bağlantıdan sonra asistana o klasördeki dosyalarla ilgili sorular sorun ve hangi araçları çağırdığını izleyin.
- Geliştiriciyseniz kendi küçük sunucunuzu yazmayı deneyin. Resmî yazılım geliştirme kitleri birçok yaygın programlama dili için mevcuttur ve tek bir aracı dışarıya açan basit bir sunucu kısa bir kodla yazılabilir.
- Her şey yolunda gittikten sonra gerçek verilere ve yazma yetkisi olan araçlara kademeli olarak geçin.
Bu kadar konuşulmasının sebebi
MCP’nin popülerliği, yapay zekâ ajanlarının yükselişiyle doğrudan bağlantılıdır. Bir ajan ne kadar çok araca güvenli ve tutarlı biçimde erişebilirse o kadar işe yarar hâle gelir. Ortak bir protokol, araç geliştiricilerinin her yapay zekâ ürünü için ayrı entegrasyon yazmasını gereksiz kılar ve kullanıcıya da istediği uygulamayı seçme özgürlüğü verir. Kısacası MCP, yapay zekânın konuşan bir sistemden iş yapan bir sisteme dönüşmesinde görünmez ama temel bir altyapı parçasıdır.
“MCP nedir? Araçları yapay zekâya bağlamanın yolu” haberi, Etesio Teknoloji’nin yapay zekâsı Safinaz tarafından Türkçeleştirilip yayına alınmıştır.
