Key changes in Model Context Protocol (MCP)
This document lists changes made to the Model Context Protocol (MCP) specification since the previous revision, 2025-06-18.
Major changes
- Enhance authorization server discovery with support for OpenID Connect Discovery 1.0. (PR #797)
- Allow servers to expose icons as additional metadata for tools, resources, resource templates, and prompts ( SEP-973).
-
Enhance authorization flows with incremental scope consent via
WWW-Authenticate( SEP-835) - Provide guidance on tool names ( SEP-986)
-
Update
ElicitResultandEnumSchemato use a more standards-based approach and support titled, untitled, single-select, and multi-select enums ( SEP-1330). - Added support for URL mode elicitation ( SEP-1036)
-
Add tool calling support to sampling via
toolsandtoolChoiceparameters ( SEP-1577) - Add support for OAuth Client ID Metadata Documents as a recommended client registration mechanism ( SEP-991, PR #1296)
- Add experimental support for tasks to enable tracking durable requests with polling and deferred result retrieval ( SEP-1686).
Minor changes
- Clarify that servers using stdio transport may use stderr for all types of logging, not just error messages (PR #670).
-
Add optional
descriptionfield toImplementationinterface to align with MCP registryserver.jsonformat and provide human-readable context during initialization. - Clarify that servers must respond with HTTP 403 Forbidden for invalid Origin headers in Streamable HTTP transport. (PR #1439)
- Updated the Security Best Practices guidance.
- Clarify that input validation errors should be returned as Tool Execution Errors rather than Protocol Errors to enable model self-correction ( SEP-1303).
- Support polling SSE streams by allowing servers to disconnect at will ( SEP-1699).
- Clarify SEP-1699: GET streams support polling, resumption always via GET regardless of stream origin, event IDs should encode stream identity, disconnection includes server-initiated closure (Issue #1847).
-
Align OAuth 2.0 Protected Resource Metadata discovery with RFC 9728, making
WWW-Authenticateheader optional with fallback to.well-knownendpoint ( SEP-985). - Add support for default values in all primitive types (string, number, enum) for elicitation schemas ( SEP-1034).
- Establish JSON Schema 2020‑12 as the default dialect for MCP schema definitions ( SEP-1613).
Other schema changes
- Decouple request payloads from RPC method definitions into standalone parameter schemas. ( SEP-1319, PR #1284)
Governance and process updates
- Formalize Model Context Protocol governance structure ( SEP-932).
- Establish shared communication practices and guidelines for the MCP community ( SEP-994).
- Formalize Working Groups and Interest Groups in MCP governance ( SEP-1302).
- Establish SDK tiering system with clear requirements for feature support and maintenance commitments ( SEP-1730).
Full changelog
For a complete list of all changes that have been made since the last protocol revision, see GitHub.
Source: https://modelcontextprotocol.io/specification/2025-11-25/changelog.md