cd /news/developer-tools/mcp-sdk-betas-are-here-what-to-do-be… · home topics developer-tools article
[ARTICLE · art-77245] src=byteiota.com ↗ pub= topic=developer-tools verified=true sentiment=· neutral

MCP SDK Betas Are Here: What to Do Before July 28

The MCP specification went final on 2026-07-28, and SDK betas for Python, TypeScript, Go, and C# are now available, with Tier 1 stable releases expected in 4–6 weeks. TypeScript faces the most disruptive migration, requiring replacement of the old @modelcontextprotocol/sdk package with new @modelcontextprotocol/server and @modelcontextprotocol/client packages, while Python's migration is simpler with a rename of FastMCP to MCPServer. Deprecated features include Roots, Sampling, and Logging, with a 12-month runway before removal.

read4 min views1 publishedJul 28, 2026
MCP SDK Betas Are Here: What to Do Before July 28
Image: Byteiota (auto-discovered)

The MCP 2026-07-28 specification went final today. The SDK betas for Python, TypeScript, Go, and C# dropped at the same time. If you build or maintain MCP servers, the clock is running: Tier 1 stable releases are expected in 4–6 weeks, and the deprecated features have a 12-month runway before they disappear. Here is what changed in the betas and how to figure out how much work you actually have.

If you want the spec breakdown — what went stateless, what got cut — we covered that in our MCP stateless migration post. This post is about what you do next.

TypeScript: The Most Disruptive Migration #

TypeScript has the most disruptive change here, which matters because it is the most widely used MCP SDK. The old @modelcontextprotocol/sdk

package does not update to v2. It gets replaced by two new packages: @modelcontextprotocol/server

and @modelcontextprotocol/client

. This is not an upgrade — you install new packages and remove the old one.

The upside: there is no accidental upgrade. You stay on v1 until you explicitly add the beta packages. The downside: every server depending on @modelcontextprotocol/sdk

needs a package change, not just a version bump.

npm install @modelcontextprotocol/server@beta
npm install @modelcontextprotocol/client@beta

A codemod handles the mechanical parts of the migration — import renames, API surface changes. Run it after installing the beta:

npx @modelcontextprotocol/codemod@beta v1-to-v2 .

The codemod does not catch behavioral hazards — places where the semantics changed but the code still compiles. Read the TypeScript SDK migration guide after running it.

Python: Mostly a Rename #

Python’s story is cleaner. The mcp 2.0.0b1

beta renames FastMCP

to MCPServer

and replaces the session-centric internals with a dispatcher/runner pipeline built for the stateless protocol. For most servers, that is the scope of the migration.

pip install "mcp[cli]==2.0.0b1"
uv add "mcp[cli]==2.0.0b1"

Before you start rewriting, run a hazard scan:

pip install mcp-migration

The mcp-migration

tool inspects your server for migration hazards — including the behavioral ones that automated tools cannot fix. Run it before you touch a line of code. And pin your version explicitly: the v2 API can still shift before stable.

Go and C#: Pre-Releases Available Now #

Both are available now as pre-releases:

go get github.com/modelcontextprotocol/go-sdk@v1.7.0-pre.1

dotnet add package ModelContextProtocol --prerelease

The C# SDK is at 2.0.0-preview.1

. Both are maintained in collaboration with their respective platform owners — Go with Google, C# with Microsoft — which means these are production-track releases, not side experiments.

What Actually Breaks (Less Than You Think) #

The spec changes sound sweeping: stateless protocol, session IDs gone, initialize handshake removed. For most servers, the actual migration surface is narrower. Three features are deprecated — Roots, Sampling, and Logging. If your server does not use any of them, your migration is mostly infrastructure configuration plus import path updates.

If you do use them, the replacements are straightforward but require rethinking:

Roots→ tool parameters or resource URIs** Sampling→ call your LLM provider’s API directly Logging**→stderr

for stdio servers, OpenTelemetry for HTTP servers

The Sampling deprecation is the one worth pausing on. The feature let servers borrow the client’s model for inference. Replacing it means adding provider credentials and managing a second API dependency. Not hard, but not invisible either.

Backward Compatibility and the Real Timeline #

The MCP team built backward compatibility carefully. v2 servers respond to legacy 2025-11-25 initialize handshakes alongside the new stateless requests. New clients fall back to the handshake when connecting to old servers. The ecosystem does not break overnight.

But the timeline still matters:

Today (July 28): Spec final, all four SDK betas live — per theofficial SDK betas announcement4–6 weeks: Tier 1 stable SDK releases expected12 months: Deprecated features still work, flagged as obsolete in SDKsAfter 12 months: Roots, Sampling, and Logging in scope for removal

The 12-month window is generous. The 4–6 week stable release window is not. If you want to stay on the stable channel without a version freeze, migration planning starts now.

Start with the Scan, Not the Rewrite #

The pattern that wastes the most time here: reading the full migration guide, estimating a large effort, and deprioritizing the work. Run the scan tools first. Most servers built on modern patterns and not using Roots, Sampling, or Logging will find the migration is an afternoon — a package rename, a class rename, a codemod run.

The full MCP 2026-07-28 release candidate and the SDK betas announcement are live on the Model Context Protocol blog. Start there, run the scan tools, then decide how much work you actually have.

── more in #developer-tools 4 stories · sorted by recency
── more on @mcp 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/mcp-sdk-betas-are-he…] indexed:0 read:4min 2026-07-28 ·