<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/mcp-is-now-stateless-what-the-2026-07-28-update-changes-hc2vhg5ll" -->

---
title: MCP is now stateless: what the 2026-07-28 update changes
description: The MCP 2026-07-28 specification removes protocol-level sessions and the initialization handshake, making every request self-contained. This enables remote MCP...
canonical: https://daily.dev/posts/mcp-is-now-stateless-what-the-2026-07-28-update-changes-hc2vhg5ll
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: MCP is now stateless: what the 2026-07-28 update changes | daily.dev
og:description: The MCP 2026-07-28 specification removes protocol-level sessions and the initialization handshake, making every request self-contained. This enables remote MCP...
og:url: https://daily.dev/posts/mcp-is-now-stateless-what-the-2026-07-28-update-changes-hc2vhg5ll
og:image: https://api.daily.dev/og/posts/HC2vHg5Ll.png
og:image:alt: MCP is now stateless: what the 2026-07-28 update changes
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP is now stateless: what the 2026-07-28 update changes

**[Flavio Copes](https://daily.dev/sources/flaviocopes)** · 6 min read · 9 upvotes · 0 comments

## Summary

The MCP 2026-07-28 specification removes protocol-level sessions and the initialization handshake, making every request self-contained. This enables remote MCP servers to run behind standard load balancers and on serverless/edge platforms without session management. New HTTP headers (Mcp-Method, Mcp-Name) enable header-based routing and caching. The update also introduces Multi Round-Trip Requests for interactive approval flows, MCP Apps for embedding HTML interfaces in conversations, a Tasks extension for long-running background work, and improved enterprise authorization via OAuth 2.0/OIDC and identity providers like Okta or Entra ID. The TypeScript, Python, Go, and C# SDKs already support the new version; Rust is in beta. Roots, Sampling, Logging, and the legacy HTTP+SSE transport are deprecated with a 12-month window.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://flaviocopes.com/mcp-2026-07-28-stateless>

## Questions this post answers

### What does the MCP 2026-07-28 specification change about protocol sessions?

It removes the initialization handshake and the Mcp-Session-Id protocol-level session entirely, making every request self-contained with its own protocol version, client information, and client capabilities. This lets any available server instance handle any request, so remote MCP servers can sit behind an ordinary round-robin load balancer or run on serverless and edge platforms without building custom session management first.

_Teams migrating MCP servers to this stateless model can track breaking protocol changes like this on daily.dev._

### Which MCP SDKs support the 2026-07-28 stateless protocol version?

The official TypeScript, Python, Go, and C# SDKs support 2026-07-28, while Rust support is available in beta. Older clients and servers can keep using earlier protocol versions until both sides negotiate the new one, and Roots, Sampling, Logging, and the legacy HTTP+SSE transport are deprecated with a minimum twelve-month deprecation window.

_Developers picking an SDK for MCP work can follow ecosystem support updates like this on daily.dev._

### How does the MCP Tasks extension handle long-running tool calls like deployments or video renders?

A server returns a durable task handle instead of holding the original HTTP connection open, and the client checks progress with tasks/get, supplies input with tasks/update, requests cancellation with tasks/cancel, and retrieves the final result once the task completes. Support is opt-in: the client announces it can handle tasks, and the server decides whether a given tool call becomes one.

_Anyone designing long-running MCP tool calls can dig into extension details like this on daily.dev._

---

Tags: [#ai-agents](https://daily.dev/tags/ai-agents), [#mcp](https://daily.dev/tags/mcp), [#oauth](https://daily.dev/tags/oauth)

[View this post on daily.dev](https://daily.dev/posts/mcp-is-now-stateless-what-the-2026-07-28-update-changes-hc2vhg5ll)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"MCP is now stateless: what the 2026-07-28 update changes","url":"https://daily.dev/posts/mcp-is-now-stateless-what-the-2026-07-28-update-changes-hc2vhg5ll","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/mcp-is-now-stateless-what-the-2026-07-28-update-changes-hc2vhg5ll"},"datePublished":"2026-07-30T20:11:52.943Z","dateModified":"2026-09-13T21:44:28.314Z","description":"The MCP 2026-07-28 specification removes protocol-level sessions and the initialization handshake, making every request self-contained. This enables remote MCP...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1edc7e462f676a9531c3ba086b3af03a?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1edc7e462f676a9531c3ba086b3af03a?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Flavio Copes","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Flavio Copes","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/1f2dbd275797411bbd37bfdaaf0951a9","url":"https://daily.dev/sources/flaviocopes"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/mcp-is-now-stateless-what-the-2026-07-28-update-changes-hc2vhg5ll","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":9},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"ai-agents,mcp,oauth","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Flavio Copes","item":"https://daily.dev/sources/flaviocopes"},{"@type":"ListItem","position":3,"name":"MCP is now stateless: what the 2026-07-28 update changes"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/mcp-is-now-stateless-what-the-2026-07-28-update-changes-hc2vhg5ll#faq","mainEntity":[{"@type":"Question","name":"What does the MCP 2026-07-28 specification change about protocol sessions?","acceptedAnswer":{"@type":"Answer","text":"It removes the initialization handshake and the Mcp-Session-Id protocol-level session entirely, making every request self-contained with its own protocol version, client information, and client capabilities. This lets any available server instance handle any request, so remote MCP servers can sit behind an ordinary round-robin load balancer or run on serverless and edge platforms without building custom session management first. Teams migrating MCP servers to this stateless model can track breaking protocol changes like this on daily.dev."}},{"@type":"Question","name":"Which MCP SDKs support the 2026-07-28 stateless protocol version?","acceptedAnswer":{"@type":"Answer","text":"The official TypeScript, Python, Go, and C# SDKs support 2026-07-28, while Rust support is available in beta. Older clients and servers can keep using earlier protocol versions until both sides negotiate the new one, and Roots, Sampling, Logging, and the legacy HTTP+SSE transport are deprecated with a minimum twelve-month deprecation window. Developers picking an SDK for MCP work can follow ecosystem support updates like this on daily.dev."}},{"@type":"Question","name":"How does the MCP Tasks extension handle long-running tool calls like deployments or video renders?","acceptedAnswer":{"@type":"Answer","text":"A server returns a durable task handle instead of holding the original HTTP connection open, and the client checks progress with tasks/get, supplies input with tasks/update, requests cancellation with tasks/cancel, and retrieves the final result once the task completes. Support is opt-in: the client announces it can handle tasks, and the server decides whether a given tool call becomes one. Anyone designing long-running MCP tool calls can dig into extension details like this on daily.dev."}}]}
```

