Model Context Protocol Specification (2026-07-28)
by Model Context Protocol
The authoritative, versioned MCP protocol spec — now on the stateless request model.
Overview
This is the canonical Model Context Protocol specification and, as of the 2026-07-28 revision, the current one. MCP versions its spec as a YYYY-MM-DD string marking the last date backwards-incompatible changes were made, and marks each revision Draft, Current or Final. The 2026-07-28 revision substantially reshapes the base protocol: where earlier revisions such as 2025-06-18 and 2025-11-25 described stateful connections negotiated through an initialization handshake, this one specifies stateless, self-contained JSON-RPC 2.0 requests with per-request capability negotiation. Every request declares its protocol version through the io.modelcontextprotocol/protocolVersion key in its _meta field — carried on Streamable HTTP as the MCP-Protocol-Version header — and the server accepts or rejects each request independently, answering with an UnsupportedProtocolVersionError that lists the versions it does support. A new mandatory server/discover RPC returns a server's supported versions, capabilities and identity in a single call, and a backward-compatibility section covers talking to handshake-based implementations. The architecture terms are unchanged: Hosts are the LLM applications that initiate connections, Clients are the connectors inside them, Servers provide context and capabilities. Servers still offer Resources, Prompts and Tools; the overview's client-feature list narrows to Elicitation, and the utilities list to configuration, progress tracking, cancellation and error reporting. Functionality beyond the core now lives in opt-in Extensions — Tasks for long-running asynchronous work with durable handles, Skills over MCP, and MCP Apps for inline interactive UI. The spec is derived from schema.ts, carries a security and trust section covering user consent, data privacy and tool safety, and is governed by a feature lifecycle under which deprecated features remain for at least twelve months (ninety days under an expedited-removal exception) before they become eligible for removal.
At a Glance
- Topic
- MCP
- Level
- Advanced
- Format
- Documentation
- Cost
- Free
- Duration
- Reference specification, self-paced — read end to end or by section
- Provider
- Model Context Protocol
- Hands-on
- No
- Certificate
- None
What You’ll Learn
- ✓How MCP's stateless JSON-RPC 2.0 request model and per-request capability negotiation work
- ✓How protocol versions are declared, negotiated and rejected on every request
- ✓What the mandatory server/discover RPC returns and when a client should call it
- ✓The exact semantics of the server primitives: Resources, Prompts and Tools
- ✓How Elicitation lets a server request additional information from the user
- ✓Which functionality lives in opt-in extensions: Tasks, Skills over MCP and MCP Apps
- ✓The security and trust obligations the specification places on every implementor
- ✓How the feature lifecycle and deprecation policy govern breaking changes
Highlights
- •The single source of truth for the protocol, generated directly from schema.ts
- •Normative MUST/SHOULD language, so interoperability disputes have an actual answer
- •Documents the move off the initialize handshake to stateless, self-contained requests
- •Includes an explicit backward-compatibility path for 2025-11-25 and earlier peers
- •Ships a deprecated-features registry with a published minimum removal timeline
Who It’s For
Best For
- ✓Engineers implementing an MCP client or server to spec
- ✓SDK and framework authors who need exact protocol semantics
- ✓Platform teams auditing an MCP integration for consent and tool safety
Prerequisites
- •Familiarity with JSON-RPC and client-server protocol design
- •Comfort reading formal specifications written in RFC 2119 language
FAQ
What is Model Context Protocol Specification (2026-07-28)?
The authoritative definition of the Model Context Protocol, generated from its TypeScript schema and written in RFC 2119 normative language. The 2026-07-28 revision is the current one, and it rebases MCP on stateless, self-contained requests with per-request version negotiation. Read this if you are implementing an MCP host, client or server and need ground truth rather than a framework's interpretation of it.
Is Model Context Protocol Specification (2026-07-28) free?
Model Context Protocol Specification (2026-07-28) is free to access.
What level is Model Context Protocol Specification (2026-07-28) for?
Model Context Protocol Specification (2026-07-28) is aimed at a advanced audience. Recommended background: Familiarity with JSON-RPC and client-server protocol design, Comfort reading formal specifications written in RFC 2119 language.
How long does Model Context Protocol Specification (2026-07-28) take?
Expect roughly Reference specification, self-paced — read end to end or by section. Most learners work through it at their own pace.
What will I learn from Model Context Protocol Specification (2026-07-28)?
You'll learn: How MCP's stateless JSON-RPC 2.0 request model and per-request capability negotiation work; How protocol versions are declared, negotiated and rejected on every request; What the mandatory server/discover RPC returns and when a client should call it; The exact semantics of the server primitives: Resources, Prompts and Tools; How Elicitation lets a server request additional information from the user; Which functionality lives in opt-in extensions: Tasks, Skills over MCP and MCP Apps; The security and trust obligations the specification places on every implementor; How the feature lifecycle and deprecation policy govern breaking changes.
Topics
Sources
This page was written from 3 sources, 1 on domains other than modelcontextprotocol.io.