« Tüm yayınlar

MCP Sunucularını Production'da Neler Bozar?

Bir ekibin production'daki MCP sunucularında karşılaştığı hata yönetimi, token rotasyonu, şema doğrulama ve boyut sınırı sorunlarını ve bunlardan doğan standartlaştırılmış çözümleri ele alıyoruz.

Bir ekip, biri şirket içi analitik sorguları için semantik katman olarak çalışan, diğeri AI kodlama asistanları için analitik sağlayan iki çok kullanıcılı MCP sunucusunu production'da işletirken demo ortamında hiç görünmeyen, ancak gerçek kullanımın ikinci haftasında ortaya çıkan bir dizi soruna rastlamış. Bu deneyimler zamanla github üzerinde CC BY 4.0 lisansıyla yayımlanan normatif bir standarda dönüşmüş.

En kritik bulgulardan biri, hata mesajlarının insan değil model tarafından okunduğu gerçeği. Model hatalı bir parametre gördüğünde halüsinasyon üretip yeniden deneme yapıyor; bu yüzden hata yanıtının geçerli değerleri, öneri (fuzzy match) ve düzeltme ipucunu tek seferde içermesi gerekiyor. Ayrıca sunucu içi timeout süresinin, istemcinin varsayılan 60 saniyelik zaman aşımından kısa tutulması gerektiği, aksi halde yapılandırılmış hata yanıtının hiç ulaşmadığı ortaya çıkmış.

İkinci önemli sorun, refresh token rotasyonunun MCP istemcilerinde rastgele oturum kapanmalarına yol açması; kimlik sağlayıcıda rotasyonun kapatılması bu sorunu büyük ölçüde çözmüş. Üçüncü sorun ise Anthropic API'sinin JSON Schema anahtar formatını doğrularken tek bir geçersiz karakterin tüm araç listesini sessizce reddedebilmesi; bu yüzden başlangıçta araç listesinin gerçek çıktısının doğrulanması bir zorunluluk haline getirilmiş. Son olarak, yanıtların hem satır hem bayt bazında kırpılması gerektiği, aksi halde tek büyük bir hücrenin tüm yanıtı boyut sınırının üstüne taşıyabildiği görülmüş. Standart, OAuth, HTTP transport ve merkezi loglama gibi zorunlu gereksinimleri, log altyapısı gibi tercih edilebilir önerilerden ayırarak sunuyor.