Menu

AI

MCP Specification Version History and Changelog

Every MCP specification version from 2024-11-05 to 2026-07-28, with the headline changes in each, taken from the official changelogs, in plain English.

By: Irina ShvayaOctober 28, 2026

MCP Specification Version History and Changelog

This page is part of our MCP specification reference, a plain-English guide to the Model Context Protocol spec (version 2026-07-28), within The MCP Guide. Building a server? See MCP development.

Status in the 2026-07-28 spec: core (reference: the official changelog pages)

The MCP specification has five released versions as of October 2026: 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25 and 2026-07-28. Each version name is a date. The current version, 2026-07-28, made MCP stateless; earlier versions added OAuth-based sign-in, Streamable HTTP, structured tool output, elicitation and experimental tasks.

This page lists the headline changes in each version, taken only from the official changelog pages. For full detail, follow the link under each version.

A draft version is also online. As of 28 October 2026, the draft changelog says only that "changes since the most recent release will accumulate here."

Key Takeaways

  • There are five released MCP spec versions, named by date, plus a working draft.
  • 2025-03-26 added OAuth 2.1 authorization and replaced HTTP+SSE with Streamable HTTP.
  • 2025-06-18 added structured tool output, elicitation and resource links, and removed JSON-RPC batching.
  • 2025-11-25 added Client ID Metadata Documents, URL-mode elicitation, icons and experimental tasks.
  • 2026-07-28 removed sessions and the handshake, added server/discover and MRTR, and deprecated Roots, Sampling, Logging and DCR.
  • Version dates mark the last backward-incompatible change; only the 2026-07-28 release date is confirmed on a page we cite.

How MCP versions are named

The versioning guide says version identifiers use YYYY-MM-DD "to indicate the last date backwards incompatible changes were made." Compatible updates keep the same version. Each version is Draft, Current or Final. Our page on MCP versioning and deprecation explains the rules.

MCP was open-sourced by Anthropic on 25 November 2024, according to Anthropic's announcement. The first spec version on the site is 2024-11-05.

Version history at a glance

VersionHeadline changesStatus (Oct 2026)
2024-11-05Earliest version on the site: JSON-RPC, hosts/clients/servers, resources, prompts, tools, samplingLegacy
2025-03-26OAuth 2.1 authorization, Streamable HTTP, JSON-RPC batching, tool annotations, audio contentLegacy
2025-06-18Batching removed, structured tool output, elicitation, resource links, protected resource metadataLegacy
2025-11-25CIMD, URL-mode elicitation, icons, incremental consent, experimental tasks, SDK tiersLegacy
2026-07-28Stateless core, server/discover, MRTR, subscriptions/listen, extensions, deprecation policyCurrent

"Legacy" is the 2026-07-28 spec's own term for handshake-based versions, defined on the versioning page.

2024-11-05

The 2024-11-05 specification set out the basics that still hold: JSON-RPC 2.0 messages between hosts, clients and servers, and the server features resources, prompts and tools. It included sampling as a client feature and a stateful connection that began with an initialize handshake. Its transports were stdio and HTTP with Server-Sent Events (HTTP+SSE).

2025-03-26

The 2025-03-26 changelog lists four major changes:

  • A "comprehensive authorization framework based on OAuth 2.1."
  • Streamable HTTP replaced the earlier HTTP+SSE transport.
  • Support for JSON-RPC batching.
  • Tool annotations, to describe behavior "like whether it is read-only or destructive."

It also added audio content, a message field on progress notifications and the completions capability.

2025-06-18

The 2025-06-18 changelog lists nine major changes. The ones most people notice:

  • JSON-RPC batching was removed.
  • Structured tool output was added.
  • MCP servers were classified as OAuth Resource Servers, with protected resource metadata for finding the authorization server.
  • Clients must implement Resource Indicators (RFC 8707) "to prevent malicious servers from obtaining access tokens."
  • A new security best practices page.
  • Elicitation, so servers can ask users for information.
  • Resource links in tool results.
  • The MCP-Protocol-Version header on later HTTP requests.

It also added the title field for human-friendly names and expanded _meta.

2025-11-25

The 2025-11-25 changelog lists nine major changes, including:

  • OpenID Connect Discovery support for finding authorization servers.
  • Icons for tools, resources, resource templates and prompts.
  • Incremental scope consent through WWW-Authenticate.
  • Guidance on tool names.
  • URL-mode elicitation.
  • Tool calling inside sampling.
  • OAuth Client ID Metadata Documents as a recommended client registration method.
  • Experimental tasks for durable, polled requests.

It set JSON Schema 2020-12 as the default dialect. It also formalized governance, working groups and the SDK tiering system. See the official MCP SDKs.

2026-07-28 (current)

The 2026-07-28 changelog is the largest so far. The release announcement, dated 28 July 2026, calls the highlight "a stateless protocol core." Major changes:

  1. Protocol-level sessions and the Mcp-Session-Id header removed.
  2. The initialize handshake removed; every request carries version and capabilities in _meta.
  3. server/discover added; servers must implement it.
  4. subscriptions/listen replaced the HTTP GET stream and resource subscribe calls.
  5. ping, logging/setLevel and notifications/roots/list_changed removed.
  6. Tasks moved to the official io.modelcontextprotocol/tasks extension.
  7. Multi round-trip requests replaced server-initiated requests.
  8. A required resultType on all results.
  9. Stream resumability removed.

It also added the extensions capability field, required Mcp-Method and Mcp-Name HTTP headers, cache hints on list results and authorization hardening. It deprecated Roots, Sampling, Logging and Dynamic Client Registration, and adopted the feature lifecycle policy. Our plain-English summary is what changed in the July 2026 MCP specification, and the deep dive is why MCP became stateless.

Here is how a version mismatch looks in 2026-07-28, from the versioning page:

{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32022,
    "message": "Unsupported protocol version",
    "data": { "supported": ["2026-07-28", "2025-11-25"], "requested": "1900-01-01" }
  }
}

How to use this history

  • Before upgrading, read the changelog for every version between yours and the target. Changes stack.
  • Check what is deprecated before you build. Our MCP versioning and deprecation page lists every deprecated feature and its earliest removal.
  • Ask vendors which version they support. A server on 2025-06-18 lacks CIMD, icons and the stateless core.

Common mistakes

  • Mixing versions in one design. For example, using initialize together with 2026-07-28 _meta fields.
  • Assuming the version date is the release date. It marks the last breaking change.
  • Relying on blog summaries for detail. Each changelog links to a full GitHub comparison of every change.
  • Missing that batching came and went. It existed only in 2025-03-26.

Next step

The SDKs are where these versions reach your code. Read the official MCP SDKs: languages, tiers and versions, or return to the MCP specification hub.

Frequently asked questions

How many versions of the MCP specification are there?

Five released versions as of October 2026: 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25 and 2026-07-28. There is also a working draft.

What is the latest MCP spec version?

2026-07-28, announced on 28 July 2026. It is labeled Current on modelcontextprotocol.io as of October 2026.

When did MCP add OAuth?

The authorization framework based on OAuth 2.1 arrived in 2025-03-26. Later versions refined it, including protected resource metadata in 2025-06-18 and Client ID Metadata Documents in 2025-11-25.

When was Streamable HTTP introduced?

In 2025-03-26, replacing the earlier HTTP+SSE transport. HTTP+SSE is formally deprecated under the 2026 lifecycle policy.

Where is the official MCP changelog?

Each version has a "Key Changes" page at modelcontextprotocol.io/specification/VERSION/changelog. Each one links to a GitHub comparison listing every change since the previous version.

You Might Also like to Read

Get a FREE Website Audit

Enter your website and get a 20–30 page SEO, GEO, AEO & CRO audit within 24 hours. Completely free.

Don't have a site yet? Get in touch →

Ready to speak with a marketing expert?
Give us a call! (916) 866-7893

Websites Launched
1407
Websites Launched
Marketing Experts
29
Marketing Experts
Hours of Dedicated Work
204533
Hours of Dedicated Work
Irina S.Benjamin G.Jeanette M.David G.