Programlama ve Yazılım Geliştirme

Microsoft, C# için Resmî MCP Paketinin 2.0 Sürümünü Yayınladı

Yeni sürüm, 2026-07-28 tarihli MCP spesifikasyonuyla uyumludur; varsayılan olarak durum bilgisiz çalışma modelini benimser, HTTP üst bilgilerini standartlaştırır ve etkileşimli araçlarla çalışmak için çok turlu istekleri destekler. Sürüm, deneysel Tasks uzantısı dışında önceki kodlar, istemciler ve sunucularla geniş uyumluluğunu korur.

2026-07-28
4 dk okuma
217 görüntülenme
certi.news Editorial Team
Microsoft, C# için Resmî MCP Paketinin 2.0 Sürümünü Yayınladı

Microsoft, 2026-07-28 spesifikasyonunun uygulanmasıyla eş zamanlı olarak C# için resmî MCP yazılım geliştirme kitinin 2.0 sürümünü duyurdu. Sürüm, MCP sunucularının HTTP üzerinden çalışma biçimini değiştirerek onları varsayılan olarak durum bilgisiz hâle getiriyor; standart HTTP üst bilgileri ekliyor ve araçların sürekli bir oturuma ihtiyaç duymadan kullanıcıdan veya dil modelinden girdi istemesine olanak tanıyan çok turlu istekleri destekliyor.

Sürüm, .NET üzerinde MCP sunucuları ve istemcileri geliştiren yazılımcıları hedefliyor; 1.x sürümündeki kararlı API'lerin çalışmaya devam etmesini sağlıyor ve .NET Framework ile kullanım için net8.0, net9.0 ve net10.0 hedef çerçevelerinin yanı sıra netstandard2.0 desteği sunuyor.

Varsayılan olarak durum bilgisiz sunucular

Önceki sürümlerde Streamable HTTP kullanımı, başlatma el sıkışmasının tamamlanmasını ve bir oturum oluşturulmasını, ardından sonraki her istekte Mcp-Session-Id üst bilgisinin gönderilmesini gerektiriyordu. Bu durum, istekleri tanımlayıcıyı oluşturan sunucu örneğine bağlıyor; birden fazla örnek çalıştırıldığında sabit yönlendirme veya oturumların taşınması gerekiyordu.

2026-07-28 spesifikasyonu initialize ve initialized el sıkışmalarını ve Mcp-Session-Id üst bilgisini kaldırıyor; protokol sürümünü ve yetenekleri her isteğin içine taşıyor. Bunun sonucunda herhangi bir sunucu örneği herhangi bir isteği işleyebiliyor; protokol düzeyinde sabit oturumlara veya paylaşılan oturum depolarına ihtiyaç kalmıyor. Bu da MCP sunucularının serverless, çok örnekli veya uç ortamlarda dağıtılmasını, yük dengeleyicinin arkasında normal bir ASP.NET Core uygulaması çalıştırmaya yaklaştırıyor.

HttpServerTransportOptions.Stateless seçeneği 2.0 sürümünde varsayılan olarak true değerine ayarlanıyor. Sunucudan istemciye istenmemiş iletilere veya oturuma bağlı taşıma durumuna ihtiyaç duyulduğunda durum bilgili mod etkinleştirilebiliyor. Oturumlar kullanılabilir bir seçenek olmaya devam ediyor, ancak artık temel ayar değil.

Yönlendirme ve izleme için HTTP üst bilgileri

Durum bilgisiz model, MCP isteğini kendi kendine yeterli bir HTTP POST isteğine dönüştürüyor; böylece olağan altyapı, bu isteği diğer HTTP trafiği gibi işleyebiliyor. Spesifikasyon, Mcp-Method ve Mcp-Name gibi üst bilgilerin yanı sıra bazı araç parametrelerinin Mcp-Param-* biçimindeki üst bilgilere yükseltilebilmesini sağlıyor.

Yük dengeleyici, vekil sunucu, ağ geçidi veya web uygulaması güvenlik duvarı, JSON-RPC istek gövdesini ayrıştırmadan yönlendirme ve izleme için bu üst bilgileri kullanabiliyor. İstek gövdesi güvenilir kaynak olmaya devam ediyor; üst bilgi değeri gövdedeki değerden farklıysa sunucu isteği HeaderMismatch hatasıyla reddediyor. Tasarım ayrıca ASCII olmayan değerler gibi üst bilgilerde desteklenmeyen değerlerin Base64 göstergesi kullanılarak kodlanmasını da destekliyor.

Etkileşimli araçlar için çok turlu istekler

Multi Round-Trip Requests veya MRTR özelliği, işini tek bir çağrı sırasında tamamlayamayan araçlarla çalışmak için bir yöntem ekliyor. Sunucu, isteğin yürütülmesi sırasında canlı bir oturum üzerinden istemciye bağlanmak yerine, giriş isteklerini ve requestState adlı opak bir durumu içeren InputRequiredResult türünde bir sonuç döndürüyor.

İstemci, kullanıcıdan onay istemek, bir dil modeli çağırmak veya çalışma alanı köklerini görüntülemek gibi gerekli işlemi gerçekleştiriyor; ardından aynı araç çağrısını inputResponses ve requestState ile birlikte yeniden gönderiyor. İşlem birden fazla tur boyunca tekrarlanabiliyor; süreklilik bilgileri yük içinde taşındığından süreç bir oturum gerektirmiyor.

Üst düzey McpClient, uygun işleyiciler kaydedildikten sonra MRTR'yi otomatik olarak işliyor. Sürüm, durum bilgili bir oturum bulunduğunda eski istemcilerle bir uyumluluk köprüsü de kullanabiliyor. Oturum olmadan çalışan eski istemci çok turlu etkileşimi gerçekleştiremiyor; bu nedenle aracın istenen değeri doğrudan çağrı parametresinden geçirmek gibi alternatif bir yol sağlaması gerekiyor.

Uyumluluk ve kullanılabilir paketler

Kararlı ve kullanımdan kaldırılmamış 1.x arayüzleri 2.0 içinde derlenmeye ve çalışmaya devam ediyor; kullanımdan kaldırılan değişiklikler silme işlemleri yerine uyarılar olarak gösteriliyor. 2.0 istemcisi daha eski bir sunucuya bağlanırken eski başlatma el sıkışmasını kullanabiliyor; 2.0 sunucusu da eski bir istemciden gelen bu el sıkışmasını kabul ediyor.

Protokol uyumluluğundaki tek istisna Tasks uzantısıdır; çünkü 2.0'da yeniden tasarlanan yapısı, 2025-11-25 spesifikasyonunda bulunan deneysel Tasks özelliğinin yerini alıyor ve arayüz veya protokol düzeyinde onunla uyumlu değil. Tasks artık ayrı ModelContextProtocol.Extensions.Tasks paketi içinde, deneysel MCP Apps ise ModelContextProtocol.Extensions.Apps içinde sunuluyor.

Temel paketler arasında istemci ve düşük düzey bileşenler için ModelContextProtocol.Core, çoğu sunucu için ModelContextProtocol ve Streamable HTTP sunucuları için ModelContextProtocol.AspNetCore bulunuyor. Yazı, 2.x serisindeki bir sonraki odağın OAuth ve OpenID Connect ile daha sıkı uyumluluğa dayanarak kapsamlı kimlik doğrulama ve yetkilendirme olacağını belirtiyor.

Haber kaynağı
c
Yazar

certi.news Editorial Team

Bilmeniz gerekenler

Microsoft, C# için resmi MCP paketinin 2.0 sürümünü yayımladı. Bu sürümde durum bilgisiz aktarım varsayılan olarak kullanılıyor ve etkileşimli araçlar için çok turlu istekler destekleniyor. Sürüm, 1.x arayüzleriyle geniş ölçüde uyumluluğunu korurken eski deneysel Tasks uzantısıyla uyumsuzdur.

  • 2.0 sürümü, HTTP üzerinden çalışan MCP sunucularını varsayılan olarak durum bilgisiz hâle getiriyor; böylece protokol düzeyinde kalıcı oturumlara veya paylaşılan oturum depolarına duyulan ihtiyaç ortadan kalkıyor.
  • Mcp-Method ve Mcp-Name gibi standart HTTP başlıkları eklendi. Başlıkta bulunan değer JSON-RPC gövdesindeki değerle çelişirse istek reddediliyor.
  • MRTR özelliği, kalıcı bir oturum olmadan InputRequiredResult ve requestState kullanarak etkileşimli araçların birden fazla turda yürütülmesini sağlıyor.
  • Paket net8.0, net9.0, net10.0 ve netstandard2.0 hedef çerçevelerini destekliyor. Kararlı 1.x arayüzleri derleme ve çalışma uyumluluğunu korurken, kullanımdan kaldırılan değişiklikler uyarı olarak gösteriliyor.
  • 2.0 sürümündeki Tasks uzantısı, 2025-11-25 spesifikasyonundaki deneysel Tasks ile uyumlu değil ve artık ayrı bir paket olarak sunuluyor.

SSS

HTTP üzerinden çalışan MCP sunucuları için yeni varsayılan ayar nedir?

HttpServerTransportOptions.Stateless seçeneği varsayılan olarak true değerine ayarlandı; ihtiyaç hâlinde durum bilgili mod kullanılmaya devam edebilir.

2.0 sürümü eski istemciler ve sunucularla uyumlu mu?

Evet. 2.0 istemcisi eski bir sunucuyla eski başlatma el sıkışmasını kullanabilir ve 2.0 sunucusu eski bir istemciden gelen el sıkışmayı kabul eder. Ancak eski durum bilgisiz istemci, çok turlu etkileşimi gerçekleştiremez.

Temel paketler hangileridir?

Düşük seviyeli bileşenler için ModelContextProtocol.Core, çoğu sunucu için ModelContextProtocol ve Streamable HTTP sunucuları için ModelContextProtocol.AspNetCore bulunur.

Aynı kategoride

Bunlar da ilginizi çekebilir

Tüm haberleri gör