The Model Context Protocol (MCP) Python SDK has released its third alpha version, v2.0.0a3, introducing significant protocol and architectural changes while maintaining backward compatibility for stable 1.x users.

  • The stateless protocol is now negotiable end-to-end, dropping the `initialize` handshake on streamable HTTP in favor of self-describing POST requests per the 2026-07-28 spec revision.
  • Protocol types are split into a standalone `mcp-types` package to allow lightweight clients to serialize traffic without pulling in the full transport stack.
  • Multi-round tool calls are supported via `InputRequiredResult`, with updated client and server interfaces for handling input requirements.
  • Server middleware is reshaped to `(ctx, call_next)` and includes a new OpenTelemetry middleware for tracing requests and notifications.
  • OAuth client conformance is enhanced with support for RFC 9207 and several SEP standards, while roots, sampling, and logging methods are deprecated per SEP-2577.

This release prepares the SDK for future beta stability by establishing a version-agnostic transport layer and modular type definitions.