MCP’s Stateless Redesign: What Changed and Why Theo Is Optimistic

The July 2026 MCP specification replaces protocol sessions with self-describing requests. Theo examines the benefits, examples, and the problem of migrating older clients and servers.

TBTheo BrowneIntervenant · Ping Labs
Chaîne
Theo - t3․gg
Publié
8 août 2026
Vidéo
18:17
Lecture
5 min
Diapositives
6
Original
anglais
Ouvrir sur YouTube
En faisant défiler, la vidéo se réduit en bas à droite et continue. Les sous-titres suivent votre langue de lecture.
Langue de lectureDisponible en 2 langues
Cet article n’est pas encore disponible en français ; il s’affiche dans l’original en anglais.
RÉSUMÉ

En 30 secondes

Theo reviews the 2026-07-28 Model Context Protocol release and explains why its stateless core addresses several of his longstanding complaints. He examines deployment diagrams and Simon Willison’s experiments, while cautioning that clients and servers still need to support compatible versions.

  1. 1A critic changes his mindTheo has found MCP cumbersome, particularly when agent workflows spawn many local processes. He sees the new release as a promising response to those concerns.
  2. 2Self-describing requestsThe 2026-07-28 core removes the initialization handshake and protocol session ID, so a request carries the context it needs.
  3. 3Scaling without session affinityA stateless protocol makes it easier for a load balancer to route requests to different server instances. Application-level state can still be represented explicitly.
  4. 4Tools made easier to exploreSimon Willison demonstrates a CLI for inspecting MCP tools and a Datasette plugin exposing read-only database operations.
  5. 5Version compatibility mattersTheo expects a transition period while clients and servers adopt the new specification. A protocol version label alone does not establish that two implementations interoperate.

À retenir

  1. The new MCP core makes requests self-describing and removes the protocol initialization handshake and session ID.
  2. Stateless protocol requests simplify load balancing, though applications can still maintain state explicitly.
  3. Simpler server interactions may make MCP tools easier to build and operate; actual performance depends on implementations.
  4. Existing clients and servers need a migration plan and compatible versions.
  5. Authorization and the permissions of individual tools remain important.
TEXTE INTÉGRAL

Lire le texte remanié, chapitre par chapitre

Transcription seule
01

Why Theo disliked MCP

Theo describes the overhead he encountered in agent workflows and introduces the change that has made him reconsider.

I have been one of MCP’s more vocal critics. Connecting agents to tools is a useful idea, but the experience of running MCP servers has often felt heavier than it should. The newest version is the first change that makes me think the protocol is moving in the direction I wanted.

In my own setup, agent workflows can create many processes and repeat setup work as new agents start. I have also seen macOS’s syspolicyd consume significant CPU and suspect the process churn contributes. That is an observation about my setup, not a benchmark or proof that this specification alone fixes it.

02

The stateless core

The new release removes the protocol initialization handshake and session ID. Requests carry their own metadata, while discovery is optional.

Anthropic is rolling out support for MCP version 2026-07-28. Its central change is a stateless protocol core, alongside authorization improvements and official extensions. My interest is less in a new version number than in whether the mechanics of calling a tool have become simpler.

Anthropic introduces MCP 2026-07-28
DIAPOSITIVE 1 / 6Anthropic introduces MCP 2026-07-28The release announcement identifies the stateless core, authorization hardening, and extensions.

Previously, a client initialized the protocol before making ordinary requests. In the new core, requests are self-describing: the relevant metadata accompanies the request, and the initialize/initialized handshake and Mcp-Session-Id are removed. A client that wants to inspect capabilities up front can still use optional discovery.

That matters because a server no longer needs a protocol session merely to understand a request. For an agent that calls a tool occasionally, there is less protocol ceremony to coordinate. It does not follow that every old implementation kept a TCP connection open, or that the new version eliminates every local process.

Stateless at the protocol layer also does not mean that a useful application cannot have state. A tool can expose an explicit handle for a resource and accept it in a later request. The important distinction is that the application makes that relationship explicit instead of depending on an implicit protocol session.

This should fit serverless and edge deployments more naturally. A request can be sent to an available instance without keeping a protocol session pinned to one backend or sharing session state between all instances. You still have to operate the service, and application-specific state may require its own storage and routing.

The release also includes work on extensions and authorization. Apps and tasks address richer interactions, while authorization changes harden the system. A stateless core does not make a tool automatically safe: what it can access, who can invoke it, and how its output is handled still matter.

03

Deployment and practical examples

Theo examines diagrams of session routing and reads Simon Willison’s comparison and experiments. The examples include a tool explorer and a Datasette integration.

Session affinity versus round-robin routing
DIAPOSITIVE 2 / 6Session affinity versus round-robin routingThe diagram contrasts a session tied to an instance with independent requests distributed across instances.

The deployment diagram makes the distinction visible. The older session-oriented picture shows a client routed back to an instance or a shared session store; the new picture shows independent requests distributed across instances. That describes protocol session management, not a claim that TCP connections themselves can never be reused.

Simon Willison wrote about trying the new specification and compared the old setup exchange with the new request format. The comparison shows why I find the change appealing: a tool call can look much closer to an ordinary request instead of requiring a separate protocol setup step first.

There can still be interactions requiring more than one exchange. For example, a workflow may need further user input and then continue. Stateless protocol requests simplify how those exchanges are carried, but they do not turn every multi-step task into a single call.

Stateless protocol deployment comparison
DIAPOSITIVE 3 / 6Stateless protocol deployment comparisonThe specification’s diagram contrasts session routing and a shared store with requests reaching any instance.

Willison built mcp-explorer, a command-line tool for inspecting servers. His example queries an Agentic Mermaid server and lists operations to execute code and render diagrams as SVG, ASCII, or PNG. Being able to inspect a server from a small CLI is a practical way to understand what it offers.

Exploring Agentic Mermaid tools
DIAPOSITIVE 4 / 6Exploring Agentic Mermaid toolsWillison’s CLI example lists executable and diagram-rendering tools exposed by an MCP server.
Datasette MCP tools
DIAPOSITIVE 5 / 6Datasette MCP toolsThe plugin provides database discovery, schema inspection, and read-only SQL.

He also built datasette-mcp, a plugin that exposes tools to list databases, inspect schemas, and execute read-only SQL against a Datasette instance. He says earlier attempts had been frustrating, whereas the stateless specification helped him arrive at a version he was comfortable releasing.

Those examples show the potential for agents and chat tools to discover useful capabilities without every developer designing a bespoke integration. They are examples of working approaches, not proof that every existing server will migrate without changes.

04

Migration and the bigger picture

Theo warns that the improvements depend on compatible implementations and considers what the change could mean for adoption.

The catch is the version. A client and server must agree on the protocol they speak, and the transition will take time. Some implementations may support or bridge multiple versions, so incompatibility is not inevitable, but you cannot assume an older client will understand a newly updated server.

MCP depends on the version
DIAPOSITIVE 6 / 6MCP depends on the versionTheo’s sketch emphasizes that client and server compatibility matters during the transition.

This is a bit like advertising support for a connector without explaining which version or capabilities are actually present. “Supports MCP” is a useful starting point, but developers still need to check what a particular client and server implement and test the combination they intend to deploy.

That migration burden is real even if the destination is better. Existing implementations have to update, and users may spend a period navigating mixed versions. I am optimistic because the redesign addresses a structural concern, not because changing a specification instantly updates the entire ecosystem.

The broader promise is a common interface for giving agents access to tools. When the protocol is simpler to use and deploy, that common interface becomes more attractive. Whether an individual integration is reliable or efficient still depends on the client, server, tool, and infrastructure around it.

My position has changed: I am much more willing to use MCP when the implementation supports this newer design. I still want to see the ecosystem actually adopt it and handle compatibility well, but the direction is encouraging.

The real test will be the tools people build and the experience of running them. For now, I am happy to see the protocol take a serious step toward the simpler model I had hoped for.

Sur la même chaîne

5 diapositives38:47EN
Theo - t3․gg· 28 oct. 2026Theo’s Long-Running Agent Experiments: Verification, Compute and CostTheo Browne · Ping LabsA skateboard game and two compiler projects show how repeated checks and flexible compute can sustain agent work—and how expensive those loops can become.Agents de codeIngénierie d’agentsAI cost & performance+2
5 diapositives36:07EN
Theo - t3․gg· 27 oct. 2026Theo on Token Costs, Coding Agents, and the Price of AI CapabilityTheo Browne · Ping LabsA viral estimate of Lauren's AI spending prompts a closer look at cache pricing, benchmarks, and the changing work of coding agents.AI cost & performanceAgents de codeInference+1
5 diapositives30:37EN
Theo - t3․gg· 26 oct. 2026Theo’s Three Skills for Reviewing and Shipping with Coding AgentsTheo Browne · Ping LabsHow sol-loop, full-send and full-stop encode review, verification and different levels of merge authority.Agent skillsAgents de codeCode review & verification+2
2 diapositives0:43EN
Theo - t3․gg· 23 oct. 2026Theo Distinguishes Security Vulnerabilities from Active AttacksTheo Browne · Ping LabsA short explanation of why disclosed software flaws and reported attacks are different kinds of security news.CybersecuritySoftware engineering
6 diapositives29:22EN
Theo - t3․gg· 22 oct. 2026Theo on Security Vulnerabilities, Stolen API Keys and AITheo Browne · Ping LabsA look at the gap between vulnerability disclosure and patching, and a speculative account of why stolen inference keys may be valuable.CybersecurityAI securitySoftware engineering+1
4 diapositives31:13EN
Theo - t3․gg· 20 oct. 2026Theo on Why Smarter Models Help More Than DevelopersTheo Browne · Ping LabsFrom game modifications to compiler experiments, Theo revisits his assumptions about who benefits from more capable AI.Agents de codeDeveloper productivityHuman-AI Collaboration+1