İletişim

Model Context Protocol (MCP) Nedir?

Kısa tanım

Model Context Protocol (MCP), yapay zekâ uygulamalarının harici veri kaynaklarına, araçlara ve iş akışlarına standart bir yolla bağlanmasını sağlayan açık protokoldür. Anthropic tarafından Kasım 2024'te açık kaynak olarak yayımlanmıştır. Mimaride yapay zekâ uygulaması olan host, her sunucu için ayrı bir client ve araç, kaynak ve prompt sunan server'lar bulunur; mesajlar JSON-RPC 2.0 formatındadır.

Diğer adları: MCP, MCP sunucusu, MCP server, Model Bağlam Protokolü

Bir yapay zekâ uygulamasının MCP istemcisi üzerinden dosya, veritabanı, Git ve takvim sunucularına standart biçimde bağlandığı diyagram

Hangi sorunu çözüyor?

MCP'den önce bir yapay zekâ uygulamasını bir veri kaynağına bağlamak, her ikili için ayrı bir entegrasyon yazmak demekti. Beş farklı asistan ile on farklı sistem (dosya deposu, CRM, hata izleme aracı, veritabanı) arasında elli ayrı bağlantı gerekiyordu. MCP bu çarpımı toplamaya çevirmeyi hedefler: Bir sistem için bir kez MCP server yazılır, MCP destekleyen her uygulama onu kullanabilir.

Protokolün resmî spesifikasyonu, programlama dili desteğini editörler arasında standartlaştıran Language Server Protocol'den esinlendiğini açıkça belirtir. MCP'nin kapsamı bağlam alışverişiyle sınırlıdır: Uygulamanın dil modelini nasıl kullandığını ya da gelen bağlamı nasıl yönettiğini belirlemez.

Host, client ve server

  • Host: Kullanıcının etkileştiği yapay zekâ uygulaması; bir masaüstü asistanı, bir kod editörü veya bir sohbet arayüzü olabilir. Bir veya birden çok client'ı yönetir.
  • Client: Host'un içinde, tek bir server ile ayrılmış bağlantıyı yürüten bileşen. Host her server için ayrı bir client oluşturur.
  • Server: Bağlam ve yetenek sunan program. Kullanıcının bilgisayarında (yerel) ya da uzak bir sunucuda çalışabilir.

Taşıma katmanında iki mekanizma tanımlıdır. Yerel server'lar genellikle standart girdi/çıktı (stdio) üzerinden, aynı makinedeki bir süreç olarak çalışır. Uzak server'lar Streamable HTTP kullanır; burada kimlik doğrulama için bearer token ve API anahtarı gibi standart HTTP yöntemleri desteklenir ve token almak için OAuth önerilir.

Server'ın sunduğu üç temel yapı

YapıNe işe yarar?Örnek
ToolsModelin çalıştırılmasını isteyebileceği işlemlerVeritabanında sorgu, bir kayıt oluşturma, dosya arama
ResourcesBağlam olarak okunacak veriDosya içeriği, veritabanı şeması, API yanıtı
PromptsKullanıcının seçebileceği hazır şablonlar ve iş akışları“Bu hata kaydını özetle” şablonu

Client tarafı da server'a bazı yetenekler sunabilir; örneğin elicitation ile server, bir işlem için kullanıcıdan ek bilgi ya da onay isteyebilir. Client, server'daki araçları tools/list ile keşfeder ve tools/call ile çağırır. Sürüm ve yetenek bilgisini taşıyan _meta alanı kısaltılmış bir çağrı şöyle görünür:

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "siparis_ara",
    "arguments": { "siparis_no": "TR-48213" }
  }
}

Araç tanımlarındaki inputSchema bir JSON Schema'dır. Yani MCP, fonksiyon çağırma mekanizmasının yerini almaz; modelin çağıracağı araçların farklı server'lardan standart bir biçimde keşfedilip host'a ulaştırılmasını sağlar.

Sürümler ve son değişiklikler

Spesifikasyon tarih biçiminde sürümlenir; bu sayfanın kontrol edildiği tarihte en güncel sürüm 2026-07-28'dir. Bu sürümde protokol durumsuz (stateless) hâle getirilmiştir: Her istek, protokol sürümünü ve ilgili yetenekleri kendi _meta alanında taşır ve server'lar desteklenen sürümleri server/discover isteğiyle bildirir. Server'ın client üzerinden dil modeli tamamlaması istemesini sağlayan sampling özelliği ise bu sürümle kullanımdan kaldırılacaklar (deprecated) arasına alınmıştır. MCP üzerine kod yazanların, kullandıkları SDK'nın hangi spesifikasyon sürümünü hedeflediğini kontrol etmesi gerekir.

Güvenlik: protokolün değil uygulamanın sorumluluğu

Spesifikasyon, MCP'nin rastgele veri erişimine ve kod çalıştırmaya kapı açtığını, ama bu ilkeleri protokol düzeyinde zorlayamayacağını açıkça söyler. Uygulayıcılardan beklenenler şunlardır: kullanıcının her veri erişimine ve işleme bilerek onay vermesi, host'un herhangi bir aracı çalıştırmadan önce açık onay alması ve güvenilir olmayan bir server'dan gelen araç açıklamalarının da güvenilmez sayılması.

  • Yalnızca kaynağını bildiğiniz server'ları kurun; bir MCP server, verdiğiniz yetkiyle kod çalıştıran bir programdır.
  • Server'a verilen token'ları en az yetki ilkesine göre sınırlayın.
  • Resource olarak okunan belge ve sayfaların modele talimat sızdırabileceğini, yani prompt enjeksiyonu riskini hesaba katın.

Birden çok server'ı birleştirip bir hedef doğrultusunda adım adım araç kullanan sistemler, yapay zekâ ajanlarının tipik altyapısını oluşturur.

İlgili terimler

← Sözlüğe dön