MCPAgentic

Model Context Protocol Specification (2026-07-28)

by Model Context Protocol

AdvancedDocumentationFreeReference specification, self-paced — read end to end or by section

The authoritative, versioned MCP protocol spec — now on the stateless request model.

Start LearningAdded Jul 4, 2026 · Updated Aug 9, 2026

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

MCPspecificationprotocolJSON-RPCagentstools

Sources

This page was written from 3 sources, 1 on domains other than modelcontextprotocol.io.

  1. 1.modelcontextprotocol.io2026 07 28vendor
  2. 2.modelcontextprotocol.ioversioningvendor
  3. 3.pypi.orgmcp