AI'ın Evrensel Adaptörü: Model Context Protocol | Genel Değerlendirme
Büyük dil modelleri (LLM'ler) hayatımıza girdiğinden beri, bilgiyle ve teknolojiyle etkileşim kurma şeklimiz tamamen değişti. Claude, ChatGPT veya Gemini gibi modeller, insan dilini anlama ve akıcı yanıtlar üretme konusunda inanılmaz yeteneklere sahip. Ancak bu parlak yeteneklere rağmen, uzun zamandır önemli bir kısıtlamayla karşı karşıyaydılar: gerçek dünya verilerinden ve sistemlerinden izole olmaları.
Peki ya yapay zeka asistanınızın sadece bildiklerini tekrarlamakla kalmayıp, sizinle birlikte yaşayan, çalışan ve hatta arabanızda giderken bile etrafınızdaki dünyaya tepki veren bir yardımcı olduğunu hayal edin? İşte burada Model Context Protocol (MCP) devreye giriyor. Anthropic tarafından 2024 Kasım'da açık kaynak olarak duyurulan MCP, yapay zeka asistanlarını veri depolama alanları, iş araçları ve geliştirme ortamları gibi veri barındıran sistemlere bağlamak için yeni bir standart sunuyor. Onu yapay zeka uygulamalarının "USB-C'si" olarak düşünebilirsiniz.
Yapay Zeka Neden "Yalnızdı" ve MCP Neden Gerekliydi?
Düşünün, yapay zeka modelinize en son şirket satış raporunu sorduğunuzda, size sadece "Eğitim verimde bu bilgi yok" yanıtını veriyor. Ya da bir e-ticaret sitesinde gezinirken, bir ürün hakkında soru sorduğunuzda, sohbet botu sitenin envanterine erişemediği için size genel bilgiler veriyor. Bu durum, günlük kullanıcılar için bitmek bilmeyen bir "kopyala-yapıştır" döngüsüne neden oluyor. Veriyi bir yerden al, yapay zekaya yapıştır, yanıtı başka bir yere yapıştır.
Geliştiriciler ve işletmeler içinse durum çok daha karmaşıktı: "NxM Problemi". Burada 'N', farklı yapay zeka modellerini (Claude, Gemini, Llama vb.) ve 'M' de sayısız aracı (Google Drive, Slack, GitHub, CRM sistemleri, veritabanları vb.) temsil ediyor. Her yeni yapay zeka modeli veya her yeni veri kaynağı, kendi özel entegrasyonunu gerektiriyordu. Yani bir modeli bir araçla, sonra aynı modeli başka bir araçla bağlamak için sürekli sıfırdan kod yazmanız gerekiyordu. Bu da şunlara yol açıyordu:
- Tekrarlanan Geliştirme Çabaları: Geliştirme ekipleri, her yeni yapay zeka modeli veya veri kaynağı için aynı entegrasyon sorunlarını tekrar tekrar çözmek zorundaydı.
- Aşırı Bakım Yükü: Araçlar, modeller ve API'ler sürekli değiştiği için entegrasyonların zamanla bozulması kaçınılmazdı, bu da bitmeyen bir bakım döngüsü yaratıyordu.
- Parçalı Uygulama: Farklı entegrasyonlar benzer işlevleri beklenmedik şekillerde ele alabiliyor, bu da tutarsız ve kafa karıştırıcı sonuçlara yol açabiliyordu.
İşte MCP, bu karmaşık "NxM Problemi"ni çözmek için tasarlandı. Mevcut "fonksiyon çağırma" (tool use) özelliklerinin üzerine inşa edilmiş olsa da, MCP bu API özelliğinin çalışma şeklini standardize ediyor. Böylece, herhangi bir yapay zeka uygulaması, herhangi bir aracı özel bir entegrasyon koduna ihtiyaç duymadan kullanabilir hale geliyor.
MCP'nin Temel Yapısı: Bir Orkestra Şefi Gibi
Model Context Protocol, bir istemci-sunucu mimarisi kullanır. Bunu, bir şehrin akıllı trafik sistemine benzetebiliriz:
- MCP Host (Ana Uygulama): Kullanıcı isteklerini alan ve bağlama erişmek isteyen yapay zeka uygulamasıdır. Claude Desktop, AI destekli IDE'ler (entegre geliştirme ortamları) veya standart web tabanlı sohbet arayüzleri bu kategoriye girer. Trafik sistemimizde bu, şehrin merkez kontrol paneli gibidir, tüm bilgilerin toplandığı yer.
- MCP Client (İstemci): Ana uygulamanın içinde yer alır ve MCP sunucularıyla bağlantıları yönetir. Kullanıcı isteklerini protokole uygun, standart bir formata çevirir. Bu, kontrol panelinden gelen talimatları trafik ışıkları ve kameralar için anlaşılır sinyallere çeviren bir ara yüz gibidir.
- MCP Server (Sunucu): Harici servislerdir ve yapay zeka uygulamalarına belirli işlevleri veya verileri sunarlar. Her sunucu tipik olarak belirli bir entegrasyon noktasına odaklanır; örneğin, GitHub için bir sunucu depo erişimi sağlarken, PostgreSQL için bir sunucu veritabanı işlemlerini yönetir. Trafik sistemimizde bunlar, her bir kavşaktaki trafik ışıkları, sensörler ve kameralar gibidir, her biri kendi özel görevini yerine getirir. MCP sunucuları verileri üç şekilde açığa çıkarabilir:
- Kaynaklar (Resources): Dahili veya harici veritabanlarından bilgi alır, ancak eyleme dönüştürülebilir hesaplamalar yapmaz.
- Araçlar (Tools): Hesaplama yapma veya API isteği aracılığıyla veri alma gibi yan etkileri olan araçlarla bilgi alışverişi yapar.
- İstemler (Prompts): LLM-sunucu iletişimi için yeniden kullanılabilir şablonlar ve iş akışlarıdır.
- Transport Layer (İletim Katmanı): İstemciler ve sunucular arasındaki iletişim mekanizmasıdır. MCP, JSON-RPC 2.0 mesaj standardını kullanarak STDIO (yerel entegrasyonlar için) ve HTTP+SSE (uzak bağlantılar için) olmak üzere iki ana yöntem destekler. Bu, trafik sistemimizdeki sinyal kabloları ve kablosuz ağlar gibidir, verilerin güvenli ve hızlı bir şekilde akmasını sağlar.
Peki MCP Nasıl Çalışır? Basit Bir Örnekle:
Diyelim ki Claude Desktop'a "San Francisco'da hava nasıl?" diye sordunuz.
- İhtiyaç Tanıma: Claude, sorunuzu analiz eder ve eğitim verilerinde olmayan, gerçek zamanlı dış bilgiye ihtiyacı olduğunu fark eder.
- Araç Seçimi: Claude, isteğinizi yerine getirmek için bir MCP yeteneği kullanması gerektiğini belirler (örneğin, bir hava durumu servisine bağlı bir MCP sunucusu).
- İzin İsteği: Claude Desktop (istemci), harici araca erişime izin verip vermediğinizi soran bir izin istemi gösterir.
- Bilgi Alışverişi: Onaylandığında, istemci standartlaştırılmış protokol formatını kullanarak uygun MCP sunucusuna bir istek gönderir.
- Harici İşleme: MCP sunucusu isteği işler – bir hava durumu servisini sorgular, bir dosyayı okur veya bir veritabanına erişir.
- Sonuç Dönüşü: Sunucu istenen bilgiyi standartlaştırılmış bir formatta istemciye döndürür.
- Bağlam Entegrasyonu: Claude bu bilgiyi alır ve sohbeti anlama biçimine dahil eder.
- Yanıt Üretimi: Claude, harici bilgiyi içeren bir yanıt oluşturur ve size güncel verilere dayalı bir cevap sunar.
Tüm bu süreç saniyeler içinde gerçekleşir, Claude'un eğitim verilerinden asla sahip olamayacağı bilgilere "sahipmiş" gibi görünmesini sağlar.
Gelecek Senaryosu: Arabanızdan Instagram'a Gönderi Paylaşmak!
Şimdi gelelim o heyecan verici senaryoya: Arabanızdaki sesli komut sistemiyle Instagram'a gönderi atmak [kullanıcı isteğinden].
Bugün bu kulağa fütüristik gelse de, MCP ile bu hayal edilebilir bir gerçekliğe dönüşüyor. Mevcut sistemlerde, arabanızdaki sesli asistanın Instagram'a erişmesi için özel, karmaşık bir entegrasyon gerekirdi. Bu entegrasyonun hem araba sistemi hem de Instagram API'si ile uyumlu olması, güncellemelerle bozulmaması ve güvenli olması gerekirdi. İşte "NxM Problemi"nin ta kendisi!
MCP sayesinde ise durum farklı: Yapay zeka, arabanın sesli komut sisteminden gelen "Son tatil fotoğrafımı Instagram'da 'Yunanistan anıları!' başlığıyla paylaş" gibi bir isteği algılar. Bu istek, arabanın içindeki bir MCP istemcisine iletilir. İstemci, bir Instagram MCP sunucusu ile iletişim kurar (bu sunucu, Instagram'ın kendi bünyesinde olabilir veya üçüncü bir tarafça standardize edilmiş bir sunucu olabilir). Kullanıcıdan bir kerelik izin alındıktan sonra, MCP sunucusu Instagram API'si ile etkileşime girer, fotoğrafı yükler, başlığı ekler ve gönderiyi yayınlar. Tüm bu süreç, MCP'nin standartlaştırılmış "tak-çalıştır" (plug-and-play) yapısı sayesinde kusursuz ve güvenli bir şekilde gerçekleşir.
Bu, yapay zekanın "mekanik yükünü" ortadan kaldırarak insanların yaratıcı ve daha incelikli işlere odaklanmasını sağlar. Artık her yeni entegrasyon için karmaşık kod yazmak yerine, geliştiriciler standart protokole göre inşa edebilirler. Bu, yapay zekanın sadece bilgi almasını değil, aynı zamanda dış sistemlerde eylemler gerçekleştirmesini de mümkün kılar.
MCP'nin Benimsenmesi ve Geleceği
Anthropic'in 2024 Kasım'da MCP'yi açık kaynak olarak yayınlamasından bu yana, protokol hızla benimseniyor. Block, Apollo, Zed, Replit, Codeium ve Sourcegraph gibi erken benimseyenlerin yanı sıra, OpenAI ve Google DeepMind gibi büyük yapay zeka oyuncuları da MCP'yi entegre etme kararı aldı. Hatta Glama'nın genel kullanıma açık MCP sunucu dizininde, 2025 Mayıs itibarıyla 5.000'den fazla aktif MCP sunucusu listeleniyor. Bu da ne kadar hızlı bir şekilde benimsendiğini gösteriyor!
MCP'nin geleceği ise oldukça parlak:
- Resmi MCP Kayıt Defteri: Yakında, MCP sunucuları için merkezi, resmi bir kayıt defteri oluşturulması planlanıyor. Bu, geliştiricilerin ve şirketlerin ihtiyaç duydukları sunucuları bulmasını çok daha kolaylaştıracak.
- Örnekleme Yetenekleri: Henüz tam olarak desteklenmese de, bu özellik sunucuların istemci aracılığıyla LLM'lerden tamamlamalar talep etmesini sağlayacak. Bu, sofistike yapay zeka-yapay zeka işbirliğine olanak tanırken, insan gözetimini de sürdürecek.
- Yetkilendirme Geliştirmeleri: Mevcut yetkilendirme spesifikasyonları yeni olduğu için iyileştirmeler bekleniyor, bu da daha güvenli sunucu uygulamalarına yol açacak.
Elbette, her yeni teknoloji gibi MCP'nin de güvenlik hususları var. Geliştiricilerin açık yönlendirme güvenlik açıkları gibi risklere karşı dikkatli olmaları, belirteçleri güvenli hale getirmeleri ve en az ayrıcalık ilkesine uymaları gerekiyor. Ayrıca, "döngüde insan" (human-in-the-loop) tasarımı, kullanıcıların bir aracın veya kaynağın erişimini açıkça onaylamasını gerektirerek önemli bir koruma noktası sağlıyor.
Sonuç: Daha Akıllı, Daha Bağlı Bir Yapay Zeka Çağı
Model Context Protocol, büyük dil modellerini harici sistemlere bağlama konusunda önemli bir adım. Parçalı entegrasyon ekosistemini standartlaştırarak "NxM Problemi"ni çözme potansiyeline sahip. Yapay zeka uygulamalarının araçlar ve veri kaynaklarıyla iletişim kurma şeklini evrenselleştirerek, geliştirme yükünü azaltıyor ve yeniliğin tüm topluluğa fayda sağladığı, daha birlikte çalışabilir bir ekosistem yaratıyor.
MCP olgunlaştıkça, sadece belirli bir bağlam hakkında daha fazla bilgi sahibi olan değil, aynı zamanda etrafımızdaki karmaşık dijital dünyayı yönetme ve yönlendirme konusunda gerçekten daha yardımcı olan yapay zeka asistanları göreceğiz. Yapay zeka ile etkileşimimiz, "kopyala-yapıştır" zahmetinden kurtulup, kesintisiz, bağlama duyarlı ve insan zekasını tamamlayan, gerçekten "akıllı" bir deneyime doğru evriliyor. Gelecek, bağlamı anlayan ve dünyamızla iç içe geçmiş yapay zeka ile inşa ediliyor!
???? Kavram – Anlam Sözlüğü
NxM Problemi
- Açıklama: Büyük Dil Modelleri (LLM'ler) ile harici araçlar ve veri kaynakları arasındaki entegrasyon zorluklarını ifade eden bir terimdir. Burada 'N' farklı yapay zeka sistemlerini (LLM'leri) ve 'M' sayısız harici aracı veya veri kaynağını temsil eder. Her yeni yapay zeka modeli veya veri kaynağı için özel entegrasyonlar geliştirme ihtiyacından kaynaklanır ve bu durum tekrarlayan geliştirme çabaları, aşırı bakım yükü ve parçalı uygulamalara yol açar.
- Çıkış Yeri/Ortaya Atanı: Bu terim Anthropic tarafından ortaya atılmıştır ve entegrasyon zorluklarını tanımlamak için kullanılmıştır.
LLM İzolasyonu (LLM Isolation)
- Açıklama: Büyük Dil Modellerinin (LLM'ler) gerçek dünya sistemlerinden ve güncel verilerden izole çalışması durumudur. Bu, modellerin bilgi siloları ve eski sistemlerin arkasında kalmasından kaynaklanır.
- Çıkış Yeri/Ortaya Atanı: Bu izolasyon durumu, Anthropic tarafından Model Context Protocol'ün (MCP) ortaya çıkışının temel zorluklarından biri olarak tanımlanmıştır.
Kopyala-Yapıştır Döngüsü (Copy-Paste Tango)
- Açıklama: LLM'lerin izolasyonu nedeniyle son kullanıcıların ilgili yanıtları alabilmek için bilgiyi çeşitli kaynaklardan manuel olarak toplayıp LLM arayüzüne yapıştırmak ve ardından yapay zekanın çıktısını başka bir yere uygulamak zorunda kalması durumudur.
- Çıkış Yeri/Ortaya Atanı: LLM izolasyonunun son kullanıcılar üzerindeki bir sonucu olarak açıklanmıştır.
Model Context Protocol (MCP)
- Açıklama: Yapay zeka asistanlarını veri kaynaklarına, iş araçlarına ve geliştirme ortamlarına bağlamak için tasarlanmış evrensel, açık kaynaklı bir standarttır. Yapay zeka sistemlerini veri kaynaklarına bağlamak için parçalı entegrasyonların yerini tek bir protokolle almayı hedefler. Teknoloji yazarları tarafından "yapay zeka uygulamalarının USB-C'si" olarak adlandırılmıştır.
- Çıkış Yeri/Ortaya Atanı: Anthropic tarafından Kasım 2024'te resmi olarak duyurulmuş ve açık kaynak olarak yayınlanmıştır.
Fonksiyon Çağırma (Function Calling) / Araç Kullanımı (Tool Use)
- Açıklama: Büyük Dil Modellerinin (LLM'ler) kullanıcı isteklerine göre önceden belirlenmiş fonksiyonları çağırmasına olanak tanıyan, modern yapay zeka modellerinin yerleşik bir özelliğidir. MCP, bu API özelliğinin nasıl çalıştığını standartlaştırır.
- Çıkış Yeri/Ortaya Atanı: Modern yapay zeka modellerinin yerleşik bir özelliği olarak kabul edilir. OpenAI gibi firmalar 2023'te "fonksiyon çağırma" API'si gibi benzer yaklaşımlar sunmuştur. MCP, bu yöntemi standartlaştırmıştır.
Açık Standart (Open Standard)
- Açıklama: Geliştiricilerin veri kaynakları ve yapay zeka destekli araçlar arasında güvenli, iki yönlü bağlantılar kurmasını sağlayan evrensel ve açık bir protokoldür.
- Çıkış Yeri/Ortaya Atanı: MCP'nin kendisi Anthropic tarafından açık bir standart olarak tanıtılmıştır.
MCP Mimarisi
- Açıklama: Çoğunlukla istemci-sunucu modeline dayanan bir yapıdır. Dört ana bileşenden oluşur: MCP Host (Ana Uygulama), MCP Client (MCP İstemcisi), MCP Server (MCP Sunucusu) ve Transport Layer (Aktarım Katmanı).
- Çıkış Yeri/Ortaya Atanı: Anthropic tarafından MCP'nin bir parçası olarak tasarlanmıştır.
JSON-RPC 2.0
- Açıklama: MCP'deki tüm iletişimin altında yatan mesaj standardıdır ve istekler, yanıtlar ve bildirimler için standartlaştırılmış bir yapı sağlar.
- Çıkış Yeri/Ortaya Atanı: MCP'nin yazarları, Language Server Protocol (LSP) gibi diğer standartlardan ilham alarak mevcut bir mesajlaşma protokolü olan JSON-RPC 2.0'ı yeniden kullanmışlardır.
STDIO (Standard Input/Output)
- Açıklama: MCP'de istemciler ve sunucular arasındaki iki ana aktarım yönteminden biridir. Yerel kaynakların entegrasyonu için en uygunudur ve basit giriş/çıkış bilgisi aktarımını sağlar.
- Çıkış Yeri/Ortaya Atanı: MCP tarafından kullanılan standart bir aktarım yöntemidir.
HTTP+SSE (Server-Sent Events)
- Açıklama: MCP'de istemciler ve sunucular arasındaki iki ana aktarım yönteminden diğeridir. Uzak kaynakların entegrasyonu için en uygunudur. HTTP, istemciden sunucuya istekler için, SSE ise ters yöndeki sunucu yanıtları ve akış için kullanılır.
- Çıkış Yeri/Ortaya Atanı: MCP tarafından kullanılan standart bir aktarım yöntemidir.
Kaynaklar (Resources)
- Açıklama: MCP sunucularının iç veya dış veritabanlarından bilgi alımını sağladığı bileşenlerdir. Veri döndürürler ancak eyleme dönüştürülebilir hesaplamalar yapmazlar.
- Çıkış Yeri/Ortaya Atanı: MCP'nin mimarisinde Anthropic tarafından tanımlanan bir bileşendir.
Araçlar (Tools)
- Açıklama: MCP sunucularının, bir yan etki gerçekleştirebilen (örn. hesaplama yapma veya API isteğiyle veri getirme) araçlarla bilgi alışverişini sağladığı bileşenlerdir.
- Çıkış Yeri/Ortaya Atanı: MCP'nin mimarisinde Anthropic tarafından tanımlanan bir bileşendir.
İzin İstemi (Permission Prompt)
- Açıklama: MCP'de istemcinin, kullanıcının harici bir araca veya kaynağa erişime izin verip vermediğini sorduğu bir onay mekanizmasıdır. Bu, otomasyonlu saldırılara karşı önemli bir kontrol noktasıdır.
- Çıkış Yeri/Ortaya Atanı: MCP'nin güvenlik odaklı tasarımının bir parçası olarak uygulanmıştır.
En Az Ayrıcalık İlkesi (Principle of Least Privilege)
- Açıklama: Güvenlik açısından, MCP sunucu geliştiricilerinin fonksiyonları için yalnızca minimum erişim yetkilerini talep etmeleri gerektiğini belirten bir ilkedir.
- Çıkış Yeri/Ortaya Atanı: MCP'nin güvenlik tavsiyelerinde belirtilen genel bir güvenlik prensibidir.
Yapay Zeka Aracısı (AI Agent)
- Açıklama: Bir kullanıcı veya başka bir sistem adına özerk bir şekilde görevleri yerine getirebilen bir sistem veya programdır. İş akışını tasarlayarak ve mevcut araçları kullanarak görevleri gerçekleştirir. MCP, bu tür ajanların oluşturulmasına yardımcı olmak için tasarlanmıştır.
- Çıkış Yeri/Ortaya Atanı: Yapay zeka alanında genel bir kavramdır.
Bağlam Farkındalığı (Context-aware AI)
- Açıklama: Yapay zeka ajanlarının, kullanıcının isteği veya çevresi hakkında daha geniş bir bağlamı anlamasına ve buna göre yanıt vermesine olanak tanıyan bir özelliktir.
- Çıkış Yeri/Ortaya Atanı: Genel bir yapay zeka hedefidir; MCP bu amaca hizmet etmektedir.
Language Server Protocol (LSP) Benzetmesi
- Açıklama: MCP'nin tasarımında kısmen ilham aldığı bir protokoldür. LSP, farklı programlama dillerinin çeşitli geliştirme araçlarıyla bağlantı kurmasına yardımcı olur.
- Çıkış Yeri/Ortaya Atanı: MCP'nin mimarisi, LSP'den kısmen ilham almıştır.
Retrieval Augmented Generation (RAG)
- Açıklama: Bir sunucu eylemi aracılığıyla bir vektör veritabanına bağlanarak, LLM'lerin kendi eğitim verilerinde bulunmayan güncel veya özel bilgilere erişmesini sağlayan bir tekniktir. MCP, bu tekniği tamamlamak için kullanılabilir.
- Çıkış Yeri/Ortaya Atanı: Yapay zeka alanında genel bir yaklaşımdır.
Kaynakça:
- Introducing the Model Context Protocol
- Introduction - Model Context Protocol
- Model Context Protocol - Wikipedia
- What Is the Model Context Protocol (MCP) and How It Works
Bilal Gürşen
Atom-Up Software Developer