Running an MCP server over the web should feel like running an ordinary web service. The first generation of the protocol made that harder by tying useful interactions to sessions and initialisation state. Version 2.0 of the official C# SDK moves the .NET implementation towards infrastructure that already knows how to scale.
Microsoft’s MCP C# SDK 2.0 announcement implements the 28 July 2026 protocol with stateless-first HTTP, standardised headers, and multi round-trip requests for interactive tools. That means requests can be routed through normal load balancers without sticky sessions while a tool can still ask for more information when the workflow needs it.
The useful part is that this is not a flag-day migration. The SDK remains compatible with older clients and servers, and it supports modern ASP.NET Core while reaching back to .NET Framework. There is one area to check carefully: the redesigned Tasks feature is not API- or protocol-compatible with the experimental task implementation from the earlier specification.
For a new service, I would use the stateless path and let the web platform do what it already does well. For an existing deployment, I would upgrade the SDK, run conformance and integration tests against the clients actually in use, and isolate any experimental Tasks work. A protocol becoming less special to operate is a good sign that it is growing up.
