MCP C# SDK 2.3.0 yayınlandı: ServerInfo artık nullable
MCP C# SDK'nın 2.3.0 sürümü HTTP keşfi, OAuth, kapanış güvenilirliği ve araç/prompt/kaynak listelerinin sıralaması gibi konularda iyileştirmeler getiriyor. Önemli bir kaynak uyumluluğu değişikliği de var: McpClient.ServerInfo artık nullable. Mevcut kodunuzu uyarılar ve warnings-as-errors derlemeleri açısından kontrol etmeniz gerekiyor.
Kilit noktalar
- McpClient.ServerInfo artık Implementation? döndürür; null kontrolü ekleyin ya da client.ServerInfo?.Name ?? "Unknown server" gibi bir değer kullanın.
- 2026-07-28 bağlantılarında isteğe bağlı sunucu kimliği eksik olabilir; eski initialize akışında serverInfo zorunludur.
- Bağlanmadan önce ServerInfo okunursa hâlâ InvalidOperationException fırlatılır.
- Sunucunun kendi bildirdiği kimlik güvenlik kararlarında kullanılmamalıdır.
- McpClientOptions.TimeProvider ile zaman aşımı testlerini deterministik hale getirebilirsiniz.
- Modern SSE keşfi için HttpTransportMode.Sse ve ProtocolVersion = "2026-07-28" birlikte ayarlanmalıdır; yalnızca AutoDetect ile sürüm sabitlemek yeterli değildir.
MCP C# SDK 2.3.0, .NET uygulamalarının Model Context Protocol üzerinden araç ve servis bağlayabildiği kütüphanenin yeni sürümü. Bu sürümde en önemli değişiklik, McpClient.ServerInfo özelliğinin dönüş tipinin Implementation yerine Implementation? olması. Sunucu, 2026-07-28 bağlantılarında isteğe bağlı kimlik bilgisini göndermezse değer null dönebilir; eski initialize akışında ise serverInfo hâlâ zorunlu.
Sürümde ayrıca HTTP keşif davranışında hata ve yanıt eşleme düzeltmeleri, OAuth'un kısa keşif zaman aşımı bütçesinden çıkarılması, McpClientOptions.TimeProvider ile deterministik zaman aşımı testleri ve stdio işlemlerinde stdin kapatıp çıkışı bekleme düzeltmesi var. Sunucu araç, prompt ve kaynak listeleri artık kayıt sırasını koruyor. Sunucu kimliğini güvenlik kararlarında kullanmayın; bu bilgi sunucunun kendi beyanıdır.
Gerçek dünyada kullanımı
- Bir MCP istemcisi üzerinden birden fazla araç sunucusuna bağlanan ve ServerInfo ile loglama yapan .NET servis
- Warnings-as-errors politikası kullanan kurumsal bir kod tabanında kaynak uyumluluğu güncellemesi
- Zaman aşımı davranışını birim testlerinde sahte zamanla doğrulayan entegrasyon test projeleri
Neden önemli
ServerInfo'yu doğrudan kullanan her kod, bu sürümle derleme uyarısı üretebilir ve warnings-as-errors ayarı olan projelerde derlemeyi kırabilir. Güncellemeden önce null kontrolünü eklemek gerekir.