# MCP Python SDK v2.0.0a1 - Product: MCP Python SDK (https://whatsnew.fyi/product/mcp-python-sdk) - Vendor: Anthropic - Date: 2026-06-11 - Version: v2.0.0a1 - Original notes: https://github.com/modelcontextprotocol/python-sdk/releases/tag/v2.0.0a1 - Permalink: https://whatsnew.fyi/product/mcp-python-sdk/releases/v2.0.0a1 - Labels: Pre-release What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — New Dispatcher pipeline on the server side to replace ServerSession - **changed** — Server interface now uses handlers as constructor parameters instead of decorators - **changed** — Server handler return values are no longer auto-wrapped - **added** — Server middleware, partially added - **changed** — Type changes throughout including snake_case field names and stricter validation - **changed** — FastMCP is renamed to MCPServer #### First V2 Alpha Release This is the first alpha of v2 of the MCP Python SDK. Publishing this alpha changes nothing for existing users. Installers don't pick up pre-releases unless you explicitly opt in, so if you do nothing you stay on v1.x. ##### Why v2 The upcoming MCP spec release (2026-07-28) has [significant protocol changes](https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/), including moving from a stateful, bidirectional protocol to stateless request/response. The v1 SDK is built around long-lived sessions, so supporting the new spec means replacing the SDK's core. Since that's breaking anyway, v2 also fixes some long-standing API problems. ##### What's in this alpha - A new Dispatcher pipeline replaces ServerSession on the server side (ServerSession remains as a thin proxy). The same change is coming to ClientSession, which will most likely stay as a shim. - The low level Server interface has changed quite a bit: handlers are now constructor parameters instead of decorators, and return values are no longer auto-wrapped. - Server middleware, partially added. - Type changes throughout, including snake_case field names and stricter validation. - FastMCP is renamed to MCPServer. The full list is in the [migration guide](https://github.com/modelcontextprotocol/python-sdk/blob/main/docs/migration.md), which is currently the most complete documentation for v2. **NOTE:** that this alpha release **only** implements the 2025-11-25 spec revision. Support for 2026-07-28 feature will be added over time through each alpha release with full 2026-07-28 support targeted for beta release on 2026-06-30. ##### Stability and timeline Right now v2 is very breaking, and each alpha will likely contain breaking changes from the previous one, so pin exact versions if you try it. Before the stable release we plan to add a good amount of backwards compatibility shims to reduce the breakage. Alphas run from now through late June, with a beta targeted for 2026-06-30 and stable v2 targeted for 2026-07-27 (the spec releases 2026-07-28). v1.x is the only stable version of the SDK for now: it stays in maintenance mode and continues to get critical bug fixes and security patches. ###### **TLDR**: - **Today (v2.0.0.a1)** - Only 2025-11-25 spec functionality support - **Today -> 2026-06-30** - New MCP 2026-07-28 spec functionality will be added to v2 alpha versions and released regularly during this time - Each alpha release during this should be considered breaking - **2026-06-30 (estimated)** - A beta version of the SDK will be released with full MCP 2026-07-28 spec support - **2026-07-01 -> 2026-07-27** - Bug fixes and cleanup - Ideally significantly less breaking that each alpha release, although not guaranteed - **2026-07-28** - A stable v2.0.0 version of the Python SDK will be released along side the MCP 2026-07-28 spec release. ##### What you should do If you maintain a package that depends on mcp, add an upper bound now. 84% of the 10,000+ PyPI packages that depend on mcp declare no upper bound, and they'll all resolve to v2 the day the stable release ships. Add `<2` to your existing constraint, for example `mcp>=1.27,<2`, and your users stay on v1 until you've migrated. If you want to try v2: ```shell pip install mcp==2.0.0a1 #### or uv add mcp==2.0.0a1 ``` One ask: only pin an mcp pre-release from a pre-release of your own package, otherwise you'll drag your users onto the alpha. Feedback is much appreciated in [#python-sdk-dev on the MCP Contributors Discord](https://discord.gg/6CSzBmMkjX), or open an issue with the `v2-alpha` label.