· kaynak dev.to (home feed)
MCP 2.0, protokolün şimdiye kadarki en büyük revizyonunda session katmanını kaldırıyor
2026-07-28 tarihli Model Context Protocol spesifikasyonu initialize el sıkışmasını ve session ID'lerini kaldırıyor, OAuth issuer doğrulamasını zorunlu kılıyor ve istek sırasındaki callback'leri takip eden turleşmelerle değiştiriyor.

Model Context Protocol'ün (MCP) 2026-07-28 tarihli spesifikasyonu, standardın Kasım 2024'teki lansmanından bu yana yapılan en büyük revizyonu oluşturuyor ve protokolün session katmanını tamamen kaldırıyor. dev.to'da yayımlanan bir迁移 rehberine göre initialize el sıkışması ve Mcp-Session-Id başlığı yok oldu; artık her istek kendi protokol sürümünü ve istemci yeteneklerini taşıyor ve herhangi bir server örneği her çağrıyı yanıtlayabiliyor — yani bir MCP server artık herhangi bir başka web servisi gibi ölçeklendirilebiliyor.
Stateless bir protokol
Anthropic tarafından Kasım 2024'te tanıtılan ve şu anda Linux Foundation çatısı altındaki Agentic AI Foundation tarafından barındırılan MCP, yapay zeka uygulamalarının tek bir protokol üzerinden araçlara ve verilere bağlanmasını sağlıyor. Stateless yeniden tasarım (SEP-2567 ve SEP-2575 olarak izleniyor) şu gerekçeyle yapıldı: eski model uzun ömürlü bağlantılar varsayıyordu; bir istemci initialize el sıkışmasıyla açıyor, bir session ID alıyor ve her çağrıyı o session'a bağlıyordu — HTTP üzerinden, tipik olarak tek bir belirli server sürecine. Bu bir dizüstündeki stdio pipe'ları için uygun, ancak bir bulut yük dengeleyicinin arkasındaki bir server filosu için değil.
Yeni tasarımda her istek bağlamını _meta altında, io.modelcontextprotocol/protocolVersion ve io.modelcontextprotocol/clientCapabilities gibi isim uzaylı anahtarlarla taşıyor ve yeni server/discover metodu bir istemcinin bir server'ın yeteneklerini talep üzerine çekmesini sağlıyor. dev.to makalesinde atıf yapılan Microsoft'un App Service kılavuzu aynı noktayı operasyon tarafından vurguluyor: ekiplerin eskiden kendilerinin kurması gereken stateless yapı artık protokolün içine gömülü.
Ödünleşim ise güvenliğin nerede yaşadığı. Session olmadığında bir kez kimlik doğrulayıp bağlantıya güvenmenin kestirmesi yok — authorization her istekte çalışmak zorunda. OAuth issuer (iss) doğrulaması artık server'larda zorunlu; rehber bunun, bir istemcinin bir authorization yanıtını yanlış kimlik sunucusuna bağlaması için kandırıldığı bir authorization karışıklığı saldırıları sınıfını kapattığını söylüyor.
Yükseltmede ne bozuluyor
Rehber, dikkatsiz bir yükseltmeden sonra hata olarak ortaya çıkan değişiklikleri sıralıyor:
- Session'lar, ping ve logging/setLevel kaldırıldı ve SSE resumability yok oldu. C# SDK'da HttpServerTransportOptions.Stateless artık varsayılan olarak true ve eski SSE endpoint'leri ile yalnızca stateful seçenekleri MCP9004 ve MCP9006 derleyici uyarılarını tetikliyor.
- HTTP istekleri Mcp-Method ve Mcp-Name yönlendirme başlıklarını göndermek zorunda, böylece gateway'ler istek gövdesini açmadan yönlendirebilir.
- Sonuçlar zorunlu bir resultType alanı taşıyor.
- Hata kodları taşındı: resource-not-found artık MCP'nin -32002'si yerine JSON-RPC'nin standart -32602'si ve protokole özgü kodlar -32020 ile -32099 aralığına yeniden numaralandırıldı.
- Python SDK McpError'ı MCPError olarak yeniden adlandırdı, yani except bloklarının güncellenmesi gerekiyor.
- Dynamic Client Registration, Client ID Metadata Documents lehine kullanımdan kaldırıldı ve istemciler authorization server'ın iss'sini doğrulamak zorunda.
Spesifikasyon ayrıca resmî bir kullanımdan kaldırma politikası kazandı: herhangi bir şey kaldırılmadan önce en az on iki ay bildirim, etkin güvenlik sorunları için ayrılmış 90 günlük bir taban süreyle. 2026-07-28 grubunda kullanımdan kaldırılan hiçbir şey Temmuz 2027'den önce kaldırılamaz. Henüz göç etmeyen Python ekipleri yalnızca güvenlik düzeltmelerini alan bir dal olan mcp>=1.28,<2 sürümünü sabitleyebilir.
Callback'ler turleşmelere dönüşüyor
En büyük kavramsal yeniden yazım sampling, elicitation ve roots ile ilgili. Stateless bir server bir isteği açık tutup bekleyemez, bu yüzden bir server'ın istek ortasında istemciye callback yapması eski deseninin gitmesi gerekiyordu. Yerine geçen Multi Round-Trip Requests (SEP-2322), server'ın resultType'ı bekleyen ihtiyacı tanımlayan bir sonuç döndürmesini öngörüyor; istemci ardından bir takip çağrısı yapıyor ve her turleşme eksiksiz, bağımsız bir istek. Daha önce gömülü bir callback'le tek istek olan bir elicitation akışı artık iki istek haline geliyor.
MCP Apps ve Tasks resmileşiyor
İki deney, isim uzaylı kimlikler ve bağımsız sürüm döngüleriyle resmî uzantılar oldu. MCP Apps bir server'ın host'un korumalı bir iframe içinde görüntülediği etkileşimli HTML göndermesini sağlıyor; böylece bir server her şeyi düz metin olarak döndürmek yerine gerçek arayüzler — örneğin bir form veya bir gösterge paneli — sunabiliyor. Tasks, açık tutulan bir bağlantı yerine düzgün bir yaşam döngüsüyle uzun süren işleri kapsıyor. Rehber bir uyarı ekliyor: arayüz server'dan geldiği için MCP Apps, sahte onay düğmeleri ve benzer görünümlü arayüzlerden oluşan yeni bir olta avcılığı yüzeyi yaratıyor.
Neden önemli
MCP üzerine kurulu her araç artık göç işine sahip ve ekosistem parçalı — rehberde atıf yapan bir Ekim sayımı, server ve istemcilerin aynı anda hâlâ beş farklı spesifikasyon revizyonu konuştuğunu buldu. Revizyon dağıtım modelini değiştiriyor, çünkü stateless server'lar sıradan yük dengeleyicilerin arkasında ölçekleniyor; ancak aynı zamanda güvenlik modelini de değiştiriyor ve kimlik doğrulama ile authorization'ı her isteğe taşıyor. Bekleyen ekipler tanımlı bir saatle karşı karşıya: 1.x dalı yalnızca güvenlik düzeltmeleri alıyor ve kullanımdan kaldırılan özellikler Temmuz 2027'den uzun yaşayamaz. MCP araçları kuran veya işleten herkes için bu göç artık isteğe bağlı bir temizlik değil, zorunlu bir iş.
- #model-context-protocol
- #ai-agents
- #api-design
- #interoperability
- #sdk