cd /news/ai-infrastructure/mcp-just-killed-the-handshake-your-s… · home topics ai-infrastructure article
[ARTICLE · art-69916] src=dev.to ↗ pub= topic=ai-infrastructure verified=true sentiment=· neutral

MCP Just Killed the Handshake (Your Server Is Next)

Anthropic's Model Context Protocol (MCP) is finalizing its specification on July 28, dropping the initialize handshake and session IDs to eliminate sticky routing and shared state stores, making MCP behave like ordinary web services. The update deprecates Roots, Sampling, and Logging with a 12-month migration window, mandates OAuth 2.1, and introduces a Tasks extension to replace the Tasks API. The Temrel team released an open-source tool, mcp-spec-audit, to help developers scan repositories and generate migration checklists.

read3 min views1 publishedJul 23, 2026

Originally published in Temrel, a weekly newsletter on agentic engineering.

You have built an MCP server the right way: handshakes, and perhaps even sampling. On Monday 28 July, the spec finalises and a great deal of "the right way" becomes legacy. It is not going to blow up, but the clock starts.

The Model Context Protocol (MCP) is an open standard from Anthropic (late 2024) that defines how AI apps connect to external tools and data. It runs on local stdio or, more commonly, streamable HTTP for remote tools. Three roles: the host (the app, e.g. Claude Code or Cursor), the client (runs inside the host, manages the connection), and the server (wraps a tool's capability, e.g. GitHub or Postgres).

Servers expose three primitives: Tools (functions, JSON inputs), Resources (data indexed by URI), and Prompts (e.g. slash commands). Client-side primitives let the server ask the client for something: Sampling (LLM completions client-side), Roots (which directories are in scope), and Elicitation (asking for more information mid-operation). Two of these are on death row.

Until now, client and server did an initialize handshake, with remote servers issuing an Mcp-Session-Id header for all subsequent requests in the session.

We are dropping initialize and Mcp-Session-Id, so at scale we no longer manage sticky routes and a shared state store. A connection is no longer married to a server instance. Requests route on an Mcp-Method header and can land on any instance behind a load balancer. In essence, MCP just became like any other ordinary web service.

Sessions used to force stickiness, shared data stores, and gateway packet inspection. Those are gone. They were an infrastructure tax for state that did not add anything meaningful. State is debt. There is a parallel with context engineering: redundant tokens are liabilities, not assets. Protocol state was too. Ironically, some of the statefulness is being pushed back to the model, which now stores the chain of calls instead of the server. That is the superior approach, because the model is driving the bus.

The hard break is the Tasks API, replaced by the Tasks extension: task calls migrate to tasks/get, tasks/update, and tasks/cancel. Deprecated, but with a 12-month runway, are Roots (use tool params/config instead), Sampling (the MCP reaches directly to your model's API), and Logging (stderr or OpenTelemetry). Auth is hardening: OAuth 2.1 is now mandatory. Minor SDK updates: Python renames FastMCP to MCPServer, TypeScript goes ESM-only, and Go and C# appear in preview.

Or use the tool we are releasing today: mcp-spec-audit. It scans your repo for landmines related to the update and gives you a migration checklist. Run it in the CLI, or adopt it as a Claude Code skill; the skill is the fastest route, because Claude will follow up the output and offer to complete the fixes.

Protocols mature the way codebases do: by deleting. MCP shedding state is it becoming boring infrastructure, and boring is what wins. Keep asking: how can I further shed state, or pass it to more useful locations?

Subscribe to Temrel for weekly agentic engineering field notes.

── more in #ai-infrastructure 4 stories · sorted by recency
── more on @anthropic 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-just-killed-the-…] indexed:0 read:3min 2026-07-23 ·