MCP Python SDK v2.3.0 yayında: durumsuz MCP sunucusunu kendi sunucunuzda yük dengeleyici arkasında çalıştırma
MCP Python SDK v2.3.0 ve 2026-07-28 spesifikasyonu MCP sunucularını durumsuz hale getiriyor. Neyin değiştiğini, v1.x kullanan ekiplerin geçişi nasıl planlayacağını ve sunucuyu kendi altyapınızda birden çok örnekle nasıl çalıştıracağınızı özetliyoruz.
sunucu.com.tr Ekibi4 dk okuma
Resmi MCP Python SDK'nın v2.3.0 sürümü 2 Ekim 2026'da yayımlandı. Tek başına bakınca küçük bir güncelleme gibi duruyor. Ancak v2 çizgisinin dayandığı 2026-07-28 spesifikasyonuyla birlikte ele alındığında, MCP sunucularını üretimde işletme biçimi değişiyor. Kendi araçlarını MCP sunucusu olarak yayına alan yazılımcılar ve bu servisleri ayakta tutan sistem yöneticileri bu değişikliği yakından izlemeli.
Ne değişti
Spesifikasyon tarafı: durumsuz çekirdek
2026-07-28 spesifikasyonu protokolü durumsuz bir istek/yanıt modeline geçirdi. Bağlantı başındaki initialize/initialized el sıkışması ve Mcp-Session-Id başlığı kaldırıldı. Böylece sunucunun bir istemciyi "hatırlaması" gerekmiyor. Gelen her istek, ortak bir oturum deposuna ihtiyaç duymadan, standart bir yük dengeleyicinin arkasındaki herhangi bir örneğe gönderilebiliyor.
İstekler artık Mcp-Method ve Mcp-Name HTTP başlıklarını da taşıyor. Ağ geçitleri ve hız sınırlayıcılar, JSON gövdesini açıp okumadan bu başlıklara göre karar verebiliyor.
Roots, Sampling ve Logging özellikleri kullanımdan kaldırılacaklar listesine alındı. Bu özellikler kaldırılmadan önce en az on iki ay daha desteklenecek. Spesifikasyonla birlikte TypeScript, Python, Go ve C# için Tier 1 SDK'lar güncellendi. Rust SDK şu an beta aşamasında.
SDK tarafı: v2.0.0'dan v2.3.0'a
- v2.0.0, yeni spesifikasyonu destekleyen kararlı sürüm olarak çıktı. v1.x çizgisine bundan sonra yalnız kritik güvenlik düzeltmeleri gelecek.
- v2.2.0 ile istemci yalnız aynı şema, ana makine ve porttaki yönlendirmeleri takip ediyor. Uç noktanın kökeni dışına çıkan bir yönlendirme hata veriyor. Eski spesifikasyonla açılan Streamable HTTP oturumları 30 dakika boşta kalınca kapanıyor. Sunucu başına en fazla 10.000 eşzamanlı oturum açılabiliyor. İki değer de
session_idle_timeoutvemax_sessionsile değiştirilebiliyor. - v2.3.0, httpx2 paketinin en az 2.10.0 sürümünü istiyor. Büyük araç sonuçları için
max_sse_event_sizeayarı eklendi, varsayılan değeri 1 MiB.MCPServerüzerindesubscriptions=Falseile abonelik sunumu kapatılabiliyor. OpenTelemetry izleri artık JSON-RPC hatalarını da kaydediyor.
Ne anlama geliyor
Önceki modelde istemciyle sunucu arasında bir oturum vardı. Birden çok örnek çalıştırmak istediğinizde ya yapışkan oturum (sticky session) kurmanız ya da oturum durumunu ortak bir depoda tutmanız gerekiyordu. Durumsuz çekirdek bu yükü ortadan kaldırıyor. Sıradan bir ters vekil ya da yük dengeleyici yeterli oluyor, örnek sayısını trafiğe göre artırıp azaltmak da kolaylaşıyor.
Türkiye'deki ekipler için bunun birkaç somut karşılığı var:
- Veri denetimi ve KVKK: MCP sunucuları çoğu zaman CRM, ERP ya da iç veritabanlarına erişen araçlar sunar. Bu sunucuları yurt içindeki kendi altyapınızda tutmak, verinin nerede işlendiğini açıklamayı kolaylaştırır. Durumsuz yapı, yatay ölçeklemeyi yönetilen bir yurt dışı platforma bağlı olmaktan çıkarıyor.
- Maliyet: Oturum deposu gibi ek bir bileşen gerekmediği için küçük ekipler iki üç küçük örnek ve bir yük dengeleyiciyle işe başlayabilir.
- Gözlemlenebilirlik: JSON-RPC hatalarının OpenTelemetry izlerine düşmesi, ajanın neden başarısız olduğunu araştırırken işinizi hızlandırır.
- Güvenlik: v2.2.0'daki köken dışı yönlendirme engeli, istemcinin farkında olmadan başka bir adrese yönlenmesi riskini azaltıyor. Aynı kökene bağlı kalma ilkesi ters vekil yapılandırmanızı da etkileyebilir, bunu test edin.
v1.x kullanan ekipler için durum açık: yeni özellik gelmeyecek. Roots, Sampling ya da Logging kullanıyorsanız on iki aylık süre geçiş için zaman tanıyor ama planlamayı bugünden başlatmak daha akıllıca.
Nasıl denenir
1. Geçişi ayrı bir ortamda yapın
Mevcut v1 sunucunuza dokunmadan, yeni bir sanal ortamda SDK'yı v2.3.0'a yükseltin. Bağımlılık listenizde httpx2'nin 2.10.0 ya da daha yeni bir sürümle uyumlu olduğundan emin olun. Değişiklik notlarını v2.0.0'dan başlayarak sırayla okuyun. Kırıcı değişiklikler büyük sürüm geçişinde toplanıyor.
2. Oturuma bağlı mantığı ayıklayın
Kodunuzda istemciye özel bir durumu sunucu belleğinde tutuyorsanız, durumsuz modelde bu varsayım geçerli olmaz. Ardışık istekler farklı örneklere gidebilir. Gereken durumu ya isteğin içinde taşıyın ya da bilinçli olarak dış bir depoya alın.
3. Birden çok örnek ve yük dengeleyici
Aynı uygulamayı iki ya da daha fazla örnek olarak başlatın ve önüne bir ters vekil koyun. Yapışkan oturum ayarına gerek yok. Mcp-Method ve Mcp-Name başlıklarını kullanarak, örneğin ağır bir aracı ayrı bir örnek grubuna yönlendirebilir ya da yalnız belirli araçlara hız sınırı koyabilirsiniz. Böylece JSON gövdesini incelemek zorunda kalmazsınız. Ters vekili TLS ve kimlik doğrulamayla nasıl sıkılaştıracağınızı Ollama API'sini Nginx ters vekille güvenli açma rehberimizde anlattık. Aynı ilkeler MCP uç noktası için de geçerli.
4. Ayarları bilinçli seçin
- Araçlarınız büyük çıktı döndürüyorsa
max_sse_event_sizedeğerini ihtiyacınıza göre belirleyin. Varsayılan 1 MiB her senaryoya uymayabilir. - Abonelik kullanmıyorsanız
subscriptions=Falseile bu özelliği kapatın. Açık kalan her yüzey, izlenmesi gereken bir yüzeydir. - Eski spesifikasyonla bağlanan istemcileri bir süre daha destekleyecekseniz
session_idle_timeoutvemax_sessionsdeğerlerini sunucunuzun belleğine göre ayarlayın.
Nerede çalıştırmalı
Durumsuz MCP sunucuları genellikle GPU değil, işlemci ve ağ ağırlıklı çalışır. Birkaç bulut sunucu örneği çoğu ekip için iyi bir başlangıç noktasıdır. Sabit ve yüksek yük ya da donanım düzeyinde yalıtım gerekiyorsa fiziksel sunucu daha uygun olabilir. Geçişten önce mevcut ajan yapılandırmanızın ve araç kodunuzun yedeğini almak, sorun çıktığında hızlıca geri dönmenizi sağlar.
Sık sorulan sorular
v1.x ile çalışmaya devam edebilir miyim?
Edebilirsiniz ama v1.x yalnız kritik güvenlik düzeltmeleri alıyor. Yeni spesifikasyonun getirdiği durumsuz model ve yeni ayarlar için v2 çizgisine geçmeniz gerekiyor.
Yük dengeleyicide yapışkan oturum ayarı gerekli mi?
Yeni spesifikasyonla bağlanan istemciler için gerekli değil. Oturum kimliği kalktığı için her istek herhangi bir örneğe gidebilir. Eski spesifikasyonla gelen istemcileri hâlâ destekliyorsanız bu trafiği ayrıca değerlendirin.
Roots, Sampling ya da Logging kullanıyorsam ne yapmalıyım?
Bu özellikler kaldırılmadan önce en az on iki ay desteklenecek. Bu süreyi, onlara bağlı akışları yeniden tasarlamak için kullanın.
Büyük araç çıktıları neden kesiliyor olabilir?
v2.3.0 ile gelen max_sse_event_size ayarının varsayılan değeri 1 MiB. Çıktınız bunu aşıyorsa ayarı gözden geçirin ya da sonucu parçalara bölün.
Kaynaklar
- #mcp
- #mcp python sdk
- #yük dengeleyici
- #ai ajanları
- #bulut sunucu
- #streamable http
- #yapay zeka gündemi