Urgent.News

What's breaking now, across thousands of outlets.

AI

MCP Deleted the Handshake, and That's Harder Than It Sounds

I've been building on the Model Context Protocol for a while, and the 2026-07-28 revision did something that looked tiny in the changelog and turned out to reshape how you write a server. It deleted the handshake. No more initialize . No notifications/initialized . No Mcp-Session-Id . A server is now forbidden from assuming anything based on earlier requests on the same connection. Whatever it…

The Model Context Protocol (MCP) underwent a significant revision on July 28, 2026, which removed the traditional handshake process. This seemingly simple change has far-reaching implications for how servers and clients interact. With no handshake, every piece of information a server needs to respond to a request must be included in that request itself.

The server can no longer rely on previous requests or assume anything about the connection. This stateless approach simplifies the protocol but also introduces new challenges.

To fully understand this revision, the reporter decided to implement the MCP specification from scratch, without relying on any SDKs or external dependencies. This approach allowed the reporter to closely examine every detail of the protocol, ensuring a thorough understanding of its nuances. The implementation process resulted in 708 tests, with each test named after the corresponding requirement from the specification.

This exhaustive testing approach aimed to identify and eliminate any potential deviations from the protocol.

One of the most critical aspects of the revised MCP is the transition from per-connection to per-request capabilities. This change means that clients can now specify their support for specific extensions on a request-by-request basis, rather than assuming a consistent set of capabilities throughout a connection. As a result, long-running tasks and paused calls require explicit identifiers, such as taskId and signed continuation tokens.

These mechanisms ensure that stateless servers can still handle long-running operations without relying on server-side memory.

To validate the correctness of the implementation, the reporter developed a conformance suite of tests. One particularly important test involves booting two separate server instances and conducting a multi-round-trip exchange between them. This test ensures that no state is leaked between instances, guaranteeing that the protocol's stateless nature holds true even when multiple instances are involved.

The reporter emphasizes the importance of proving statelessness rather than merely asserting it, as this helps prevent rare, hard-to-reproduce bugs that may only manifest in a production environment with multiple instances.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in AI

JARVIS THAT CAN CONTROL YOUR ENTIRE SYSTEM...

I'm building my own JARVIS that can control your entire operating system, it can even call someone and talk on your behalf, you can even control it from a remote device like Android or iOS or…

More from Saturday 3 October →