Modül 1 · Model Context Protocol · ⏱ 5 dakika

Model Context Protocol'e (MCP) Giriş

Introducing MCP

Orijinal İngilizce video — Anthropic Academy / JWPlayer. Aşağıdaki Türkçe metin dersi birebir özetler.

Bu modül için tahmini süre: 5 dakika

Genel bakış

Model Context Protocol (MCP), Claude’a sıkıcı entegrasyon kodları yazmadan context ve tool sağlayan açık standartlı bir iletişim katmanıdır. Geliştiricilerin tool tanımlama ve yürütme yükünü kendi sunucularından alıp, özelleşmiş MCP server’lara aktarmalarını sağlar. Bu derste MCP’nin neden var olduğunu, hangi sorunları çözdüğünü ve mimarinin temel bileşenlerini öğreneceğiz.

MCP ile ilk karşılaştığınızda, temel mimariyi gösteren şemalarla karşılaşırsınız: tool’lar, prompt’lar ve resource’lar içeren MCP Server’lara bağlanan bir MCP Client (sizin sunucunuz). Her bir MCP server, dış bir servise arayüz görevi görür.

MCP’yi gerçek bir örnek üzerinden anlamak

Diyelim ki kullanıcıların GitHub verileri hakkında Claude ile sohbet edebildiği bir chat arayüzü inşa ediyorsunuz. Bir kullanıcı “Tüm repository’lerimde açık olan pull request’ler hangileridir?” diye sorabilir. Bu soruyu yanıtlamak için Claude’un GitHub API’sine erişen tool’lara ihtiyacı vardır.

MCP olmadan, tüm GitHub entegrasyon tool’larını kendiniz oluşturmanız gerekir. Bu da desteklemek istediğiniz her GitHub işlevi için tek tek schema ve fonksiyon yazmak anlamına gelir.

Tool fonksiyonu sorunu

GitHub oldukça geniş bir işlevsellik kümesine sahiptir — repository’ler, pull request’ler, issue’lar, projeler ve çok daha fazlası. Tam donanımlı bir GitHub chatbot’u kurmak için inanılmaz sayıda tool yazmanız gerekir:

Her bir tool hem bir schema tanımı hem de bir fonksiyon implementasyonu gerektirir. Bu da bir developer olarak yazmak, test etmek ve sürdürmek zorunda kalacağınız büyük miktarda kod demektir.

MCP bunu nasıl çözüyor

MCP, tool tanımlama ve çalıştırma yükünü kendi sunucunuzdan MCP server’lara kaydırır. Tüm bu GitHub tool’larını sizin yazmanız yerine, bunlar özel bir MCP server içinde yazılır ve çalıştırılır.

MCP server, GitHub’ın işlevselliğini saran bir wrapper gibi davranır; siz implement etmek zorunda kalmadan kullanabileceğiniz hazır tool’lar sağlar.

MCP server’lar, dış servisler tarafından implement edilen veri veya işlevselliklere erişim sağlar. Karmaşık entegrasyonları, herhangi bir uygulamanın bağlanabileceği yeniden kullanılabilir bileşenler halinde paketlerler.

MCP hakkında sık sorulan sorular

MCP server’ları kim yazıyor?

Herkes bir MCP server implementasyonu oluşturabilir. Çoğu zaman servis sağlayıcıların kendileri resmi MCP entegrasyonlarını yayınlar. Örneğin AWS, kendi servisleri için tool’lar içeren resmi bir MCP server yayınlayabilir.

MCP, doğrudan API çağrısından nasıl farklı?

MCP server’lar, sizin yerinize zaten tanımlanmış tool schema ve fonksiyonları sağlar. Bir API’yi doğrudan çağırırsanız, bu tool tanımlarını yazma sorumluluğu sizdedir. MCP sizi bu entegrasyon yükünden kurtarır.

MCP, tool use’un kendisi değil mi?

Bu yaygın bir yanlış anlaşılmadır. MCP server’lar ve tool use birbirini tamamlayan ama farklı kavramlardır. MCP, tool’ları oluşturma ve sürdürme işini kimin yapacağıyla ilgilidir. MCP ile, başka biri tool fonksiyonlarını ve schema’ları sizin için zaten yazmıştır — bunlar MCP server içinde hazır paketlenmiş olarak gelir.

Asıl önemli içgörü şudur: MCP server’lar tool schema ve fonksiyonlarını size hazır olarak sunarak karmaşık entegrasyonları kendiniz inşa edip sürdürme ihtiyacını ortadan kaldırır.

Temel çıkarımlar

  • Standart İletişim Katmanı: MCP, Claude’a tool ve context sağlamak için standartlaştırılmış bir iletişim protokolüdür.
  • Yükü Azaltır: Tool tanımlama ve çalıştırma yükünü kendi sunucunuzdan dış MCP server’lara kaydırır.
  • İki Taraflı Mimari: Yapı, MCP Client (sizin uygulamanız) ve MCP Server (dış servis sarmalayıcısı) olmak üzere iki ana parçadan oluşur.
  • Sağlayıcı Desteği: AWS, GitHub gibi büyük servis sağlayıcıları kendi resmi MCP server’larını yayınlayabilirler.
  • Rol Farkı: MCP, tool use kavramının alternatifi değil; tool’ların kim tarafından yazılıp barındırıldığı sorusuna verilen bir standarttır.
  • Yeniden Kullanılabilirlik: Entegrasyonlar, ortak ve yeniden kullanılabilir bileşenler halinde paketlenir.