MCP SEP Impact Guide: What Each Proposal Changed and Where It Landed

MCP SEP Impact Guide: What Each Proposal Changed and Where It Landed

A Specification Enhancement Proposal (SEP) is how a change to the Model Context Protocol is proposed, argued over and recorded. The official SEP index is the source-of-truth list of current proposals and statuses. This guide adds what a flat list cannot show: what each SEP changed, which spec revision or extension it landed in, and which protocol methods it touches. To write one, read how to submit a SEP. Each SEP is also reachable by number, for example /seps/1850.

How to read the Landed column. This column says how we know where a SEP landed. cited: that revision’s changelog names the SEP number. by content: the changelog or the spec text carries the change but does not name the number. docs: only an official docs page (not the spec changelog) names or describes it. not found: we found no matching text.

What the guide adds up to

The official index lists 44 current SEPs: 43 Final and 1 Accepted. The 43 Final proposals comprise 31 Standards Track, 4 Extensions Track and 8 Process SEPs. Of the 31 Standards Track SEPs, 12 landed in 2026-07-28 (9 cited by number, 3 matched by content), 15 in 2025-11-25, 2 are delivered as authorization extensions and 2 have no spec text. The Accepted proposal is a Process SEP and is listed separately because acceptance does not mean a protocol revision has shipped or the proposal has reached Final.

If you maintain an SDK, a client or a server, start with the 2026-07-28 group. It changes the wire protocol: no initialize handshake, new request headers, cache TTLs on list results, multi round-trip requests.

Final SEPs, by where they landed

Standards Track SEPs change the protocol, Extensions Track SEPs describe an optional extension, and Process SEPs change how the project works.

Landed in 2026-07-28 (12)

SEPWhat it changesLandedMethods
2577 Deprecate Roots, Sampling, and LoggingDeprecates Roots, Sampling and Logging; they stay functional during the deprecation window.2026-07-28 · citedroots/list, notifications/roots/list_changed, sampling/createMessage, logging/setLevel, notifications/message
2575 Make MCP StatelessRemoves the initialize handshake: every request carries version and capabilities in _meta. Adds server/discover and subscriptions/listen; removes ping and SSE resumability.2026-07-28 · citedinitialize, notifications/initialized, server/discover, subscriptions/listen, resources/subscribe, resources/unsubscribe, ping, logging/setLevel, notifications/roots/list_changed, notifications/subscriptions/acknowledged
2567 Sessionless MCP via Explicit State HandlesRemoves protocol-level sessions and Mcp-Session-Id; list endpoints no longer vary per connection, and cross-call state moves into server-minted handles passed as tool arguments.2026-07-28 · citedtools/list, resources/list, prompts/list
2549 TTL for List ResultsRequires ttlMs and cacheScope on list and read results so clients can cache them.2026-07-28 · citedtools/list, prompts/list, resources/list, resources/read, resources/templates/list
2468 Recommend Issuer (iss) Parameter in MCP Auth ResponsesAuthorization servers SHOULD return the iss parameter; clients MUST validate a present iss before redeeming the code.2026-07-28 · cited—
2322 Multi Round-Trip RequestsMulti Round-Trip Requests: a server returns an input_required result and the client retries with inputResponses, replacing server-initiated requests. Every result carries resultType.2026-07-28 · citedroots/list, sampling/createMessage, elicitation/create
2243 HTTP Header Standardization for Streamable HTTP TransportStreamable HTTP POST requests carry Mcp-Method and Mcp-Name headers; tool parameters can be mirrored into custom headers with x-mcp-header.2026-07-28 · citedtools/call, resources/read, prompts/get
2207 OIDC-Flavored Refresh Token GuidanceGuidance on the offline_access scope and refresh tokens for authorization servers and clients. The changelog does not name it; offline_access first appears in the 2026-07-28 authorization text.2026-07-28 · by content—
2164 Standardize Resource Not Found Error CodeResource not found changes from -32002 to -32602 (Invalid Params). The changelog states the change without naming the SEP.2026-07-28 · by contentresources/read
2133 ExtensionsThe extension framework: optional, composable extensions negotiated through an extensions field on client and server capabilities. The field first appears in the 2026-07-28 schema.2026-07-28 · by content—
2106 Tools inputSchema & outputSchema Conform to JSON Schema 2020-12inputSchema and outputSchema accept any JSON Schema 2020-12 keywords, and structuredContent may be any JSON value.2026-07-28 · citedtools/list, tools/call
414 Document OpenTelemetry Trace Context Propagation ConventionsDocuments OpenTelemetry trace context keys (traceparent, tracestate, baggage) in _meta.2026-07-28 · cited—

Landed in 2025-11-25 (15)

SEPWhat it changesLandedMethods
1730 SDKs Tiering SystemA tiering system for SDKs with feature-support and maintenance requirements.2025-11-25 · cited—
1699 Support SSE polling via server-side disconnectStreamable HTTP: servers may close an SSE stream at will so clients poll and resume. 2026-07-28 removes SSE resumability again (SEP-2575).2025-11-25 · cited—
1686 TasksExperimental tasks: durable requests with polling and deferred results. 2026-07-28 moves them into an extension (SEP-2663); the SEP is kept as a historical record.2025-11-25 · citedtasks/get, tasks/result, tasks/list, tasks/cancel, tools/call
1613 Establish JSON Schema 2020-12 as Default Dialect for MCPJSON Schema 2020-12 becomes the default dialect for embedded schemas; a $schema field may declare another.2025-11-25 · citedtools/list
1577 Sampling With ToolsAdds tools and toolChoice to sampling/createMessage and soft-deprecates includeContext.2025-11-25 · citedsampling/createMessage
1330 Elicitation Enum Schema Improvements and Standards ComplianceElicitation enums use standard JSON Schema patterns (titled, untitled, single- and multi-select); enumNames is deprecated.2025-11-25 · citedelicitation/create
1319 Decouple Request Payload from RPC Methods DefinitionSchema refactor: request parameters become standalone definitions that the RPC methods refer to.2025-11-25 · cited—
1303 Input Validation Errors as Tool Execution ErrorsInput validation errors are returned as tool execution errors, so the model sees them and can retry.2025-11-25 · citedtools/call
1302 Formalize Working Groups and Interest Groups in MCP GovernanceDefines Working Groups and Interest Groups and how they are created and governed.2025-11-25 · cited—
1036 URL Mode Elicitation for secure out-of-band interactionsURL mode elicitation for out-of-band interactions such as credentials, third-party OAuth and payments. 2026-07-28 removes notifications/elicitation/complete.2025-11-25 · citedelicitation/create, notifications/elicitation/complete
1034 Support default values for all primitive types in elicitation schemasDefault values for every primitive type in elicitation schemas (string, number, enum).2025-11-25 · citedelicitation/create
991 Enable URL-based Client Registration using OAuth Client ID Metadata DocumentsOAuth Client ID Metadata Documents as a recommended client registration mechanism.2025-11-25 · cited—
986 Specify Format for Tool NamesGuidance on tool names: 1 to 64 characters from a small allowed set.2025-11-25 · citedtools/list, tools/call
985 Align OAuth 2.0 Protected Resource Metadata with RFC 9728Protected Resource Metadata discovery follows RFC 9728: the WWW-Authenticate header becomes optional, with a .well-known fallback.2025-11-25 · cited—
973 Expose additional metadata for Implementations, Resources, Tools and PromptsServers can expose icons on tools, resources, resource templates and prompts, plus icons and websiteUrl on the implementation.2025-11-25 · cited—

Standards Track SEPs delivered as extensions (2)

SEPWhat it changesLandedMethods
1046 Support OAuth client credentials flow in authorizationAdds the OAuth client credentials flow for machine-to-machine use. The official docs describe it as an extension; that page does not name this SEP.extension io.modelcontextprotocol/oauth-client-credentials · docs—
990 Enable enterprise IdP policy controls during MCP OAuth flowsEnterprise IdP policy controls during the OAuth flow. The extension page links this SEP.extension io.modelcontextprotocol/enterprise-managed-authorization · docs—

Standards Track SEPs without spec text (2)

SEPWhat it changesLandedMethods
2260 Require Server requests to be associated with a Client request.Requires roots/list, sampling/createMessage and elicitation/create to be tied to an originating client request. No spec text found; 2026-07-28 replaces these requests with MRTR (SEP-2322).not foundroots/list, sampling/createMessage, elicitation/create
1024 MCP Client Security Requirements for Local Server InstallationSecurity requirements for clients that offer one-click installation of local servers. Cited by the local-server security tutorial, not by the spec text.docs only · docs—

Extensions Track (4)

SEPWhat it changesExtensionMethods
2663 Tasks ExtensionMoves tasks out of core into the io.modelcontextprotocol/tasks extension, which defines tasks/get, tasks/update and tasks/cancel and drops tasks/result and tasks/list.io.modelcontextprotocol/tasks · 2026-07-28 · citedtasks/get, tasks/cancel, tasks/update, tasks/result, tasks/list, tools/call
2640 Skills ExtensionServes Agent Skills over the Resources primitive: each file of a skill directory is a resource, conventionally under the skill:// scheme.io.modelcontextprotocol/skills · docsresources/read, resources/list
2127 MCP Server Cards - HTTP Server DiscoveryA self-describing Server Card for pre-connection discovery of transports, versions and connection guidance. The SEP file says Final while the Working Group page lists it as Draft.docsserver/discover
1865 MCP Apps - Interactive User Interfaces for MCPMCP Apps: servers deliver interactive UI through ui:// resources linked to tools by metadata.MCP Apps · docs—

Process (8)

SEPWhat it changesEvidence
2596 Specification Feature Lifecycle and Deprecation PolicyDefines the Active, Deprecated and Removed feature states, a twelve-month minimum deprecation window and a registry of deprecated features.2026-07-28 · cited
2484 Require Conformance Tests for Standards Track SEPs to Reach Final StatusA Standards Track SEP that changes observable behavior needs a merged conformance scenario before it can become Final.docs
2149 MCP Group Governance and Charter TemplateGovernance rules and a charter template for Working Groups and Interest Groups.docs
2148 MCP Contributor LadderA contributor ladder from first-time contributor to Core Maintainer.docs
2085 Governance Succession and Amendment ProceduresProcedures for Lead Maintainer succession and for amending the governance itself.docs
1850 PR-Based SEP WorkflowSEPs live as markdown files in the seps/ directory, numbered after their pull request.2026-07-28 · cited
994 Shared Communication Practices/GuidelinesOfficial communication channels and guidelines for the community.2025-11-25 · cited
932 Model Context Protocol GovernanceThe formal governance model and the SEP process.2025-11-25 · cited

Accepted, not yet landed (1)

SEPWhat it proposesStatus
3398 Release Cycle UpdatesProposes a predictable March and September release cadence, with the first transition target in March 2027.Accepted Process SEP. It is not a released protocol revision and is not Final.

The changelogs of 2025-11-25 and 2026-07-28 also cite SEP-835, SEP-837 and SEP-2352, which have no file in seps/ and are therefore not in the official index.

Method lifecycle across revisions

✓ means the method is in that revision’s core schema.json; — means it is not. deprecated marks a method that is still in the 2026-07-28 schema but deprecated by SEP-2577. extension marks a method defined by the Tasks extension instead of the core schema. The last column lists the SEPs whose text or changelog entry names the method.

Method2024-11-052025-03-262025-06-182025-11-252026-07-28SEPs
completion/complete✓✓✓✓✓—
elicitation/create——✓✓✓2322, 2260, 1330, 1036, 1034
initialize✓✓✓✓—2575
logging/setLevel✓✓✓✓—2577, 2575
notifications/cancelled✓✓✓✓✓—
notifications/elicitation/complete———✓—1036
notifications/initialized✓✓✓✓—2575
notifications/message✓✓✓✓✓ deprecated2577
notifications/progress✓✓✓✓✓—
notifications/prompts/list_changed✓✓✓✓✓—
notifications/resources/list_changed✓✓✓✓✓—
notifications/resources/updated✓✓✓✓✓—
notifications/roots/list_changed✓✓✓✓—2577, 2575
notifications/subscriptions/acknowledged————✓2575
notifications/tasks/status———✓——
notifications/tools/list_changed✓✓✓✓✓—
ping✓✓✓✓—2575
prompts/get✓✓✓✓✓2243
prompts/list✓✓✓✓✓2567, 2549
resources/list✓✓✓✓✓2640, 2567, 2549
resources/read✓✓✓✓✓2640, 2549, 2243, 2164
resources/subscribe✓✓✓✓—2575
resources/templates/list✓✓✓✓✓2549
resources/unsubscribe✓✓✓✓—2575
roots/list✓✓✓✓✓ deprecated2577, 2322, 2260
sampling/createMessage✓✓✓✓✓ deprecated2577, 2322, 2260, 1577
server/discover————✓2575, 2127
subscriptions/listen————✓2575
tasks/cancel———✓extension2663, 1686
tasks/get———✓extension2663, 1686
tasks/list———✓—2663, 1686
tasks/result———✓—2663, 1686
tasks/update————extension2663
tools/call✓✓✓✓✓2663, 2243, 2106, 1686, 1303, 986
tools/list✓✓✓✓✓2567, 2549, 2106, 1613, 986

Related reading

Versions and Verification

Everything is read from one pinned commit of the official repository (ccaf9102): 44 current files in seps/, the five schema.json files, the changelogs of each revision and the official docs pages. The landing tables cover the 43 Final SEPs; SEP-3398 is shown separately as Accepted. The tables were checked by script against the pinned commit; a change upstream needs a re-run.