The 2026-07-28 stateless spec has been a thing you could argue about for months. As of June 29, it's a thing you can npm install. The Model Context Protocol shipped beta SDKs for the release candidate in all four official languages — Python, TypeScript, Go, and C# — which means the gap between "the RC says the protocol is stateless now" and "my server actually is" just closed to a single command. The final spec locks July 28, 2026. You have about a week to run real code against a frozen surface.

Here's the short version, citable from the top: the betas are Python v2 (2.0.0b1), TypeScript v2 (@beta), Go (v1.7.0-pre.1), and C# (v2.0.0-preview.1), all released June 29, 2026, all targeting the stateless RC whose final spec publishes July 28. Nothing you run today breaks on the 28th — but the RC is the last window where the wire format won't move under you, so this is when to find out what breaks in your server.

What actually shipped#

Each SDK made the same protocol move — statelessness, server/discover replacing the initialize handshake — but each drew the compatibility line differently, and the differences are exactly what decides whether you can drop the beta in this afternoon.

The one week that matters#

The reason to do this now and not on July 29 is simple: during the RC, the wire format is frozen and the maintainers are actively triaging. Test after ratification and you're filing a bug against a shipped spec; test now and you're shaping the last fixes. Concretely, before the 28th:

  1. Install the beta for your language using the line above.
  2. Point it at real, production-shaped traffic — not the happy-path demo. The failures that matter live in the requests your quickstart never sends.
  3. Validate the stateless path behind the load balancer you actually run. The whole point of the spec is that any request can hit any instance with no sticky sessions and no shared session store. Confirm that's true for your server, then confirm your tools/list responses cache correctly and old clients still connect through the dual-answer path.
  4. File issues upstream in the relevant SDK repo while the RC window is open.

What it means: the payoff on the other side of that week is the cheapest infrastructure a bootstrapped founder can run — a plain round-robin load balancer with no session plumbing to pay for or babysit. The betas are how you earn the right to delete that plumbing without guessing. If you want the ordered spec-level checklist to run alongside the SDK swap, we wrote your MCP 2026-07-28 migration checklist; for the why behind the stateless core, see MCP goes stateless. And if you're still choosing which language to build your server in, we broke that decision down in MCP server in Python, TypeScript, Go, or C#.

This was the item we flagged as "the window is closing" in the wire for the week of July 16. It's now open code and a countdown. Spend an hour of the next seven days on it.