Microsoft announced the stable release of version 2.0 of the official MCP C# SDK. This release incorporates the 2026-07-28 revision of the Model Context Protocol (MCP) specification. Subsequent minor releases, versions 2.1 to 2.3, followed between August and October.
The new SDK version makes Streamable HTTP servers stateless by default. This change removes the initialize handshake and the Mcp-Session-Id header. Protocol version and capabilities are now included with every request, allowing any server instance to handle requests without requiring sticky routing or shared session stores. The HttpServerTransportOptions.Stateless setting now defaults to true, though servers can set it to false if sessions are needed. Clients will probe for server/discover and fall back to legacy handshakes for older servers.
Version 2.0 standardizes HTTP headers to facilitate routing of MCP traffic. A tools/call request now includes Mcp-Method and Mcp-Name headers, and the [McpHeader] attribute promotes tool parameters to Mcp-Param-* headers. This allows load balancers and gateways to route requests based on headers without needing to read the request body. The body remains authoritative, and a mismatched header will result in a HeaderMismatch error.
Multi Round-Trip Requests (MRTR) replace the previous method where servers asked clients for input mid-call. With MRTR, a tool throws an InputRequiredException containing one or more input requests (e.g., ForElicitation, ForSampling, ForRootsList) and an opaque requestState. The client then collects responses and re-issues the call with inputResponses. The McpClient handles this process automatically when handlers are registered. For older clients (2025-11-25 or earlier) using stateful sessions, the SDK bridges to the old server-initiated requests; on stateless down-level connections, the request surfaces as an McpException.
The new specification deprecates Roots, sampling, and logging APIs under MCP9005, following SEP-2577. Stable 1.x APIs generally remain functional, with the exception of Tasks, which has moved to the opt-in ModelContextProtocol.Extensions.Tasks package and is incompatible with experimental features.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
Microsoft released version 2.0 of the official MCP C# SDK, implementing the 2026-07-28 revision of the Model Context Protocol (MCP) specification. This update makes Streamable HTTP servers stateless by default, standardizes HTTP headers for routing, and introduces Multi Round-Trip Requests (MRTR) for interactive tools, significantly changing how MCP operates over HTTP.