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

  1. Enhance authorization server discovery with support for OpenID Connect Discovery 1.0. (PR #797)
  2. Allow servers to expose icons as additional metadata for tools, resources, resource templates, and prompts ( SEP-973).
  3. Enhance authorization flows with incremental scope consent via WWW-Authenticate ( SEP-835)
  4. Provide guidance on tool names ( SEP-986)
  5. Update ElicitResult and EnumSchema to use a more standards-based approach and support titled, untitled, single-select, and multi-select enums ( SEP-1330).
  6. Added support for URL mode elicitation ( SEP-1036)
  7. Add tool calling support to sampling via tools and toolChoice parameters ( SEP-1577)
  8. Add support for OAuth Client ID Metadata Documents as a recommended client registration mechanism ( SEP-991, PR #1296)
  9. Add experimental support for tasks to enable tracking durable requests with polling and deferred result retrieval ( SEP-1686).

Minor changes

  1. Clarify that servers using stdio transport may use stderr for all types of logging, not just error messages (PR #670).
  2. Add optional description field to Implementation interface to align with MCP registry server.json format and provide human-readable context during initialization.
  3. Clarify that servers must respond with HTTP 403 Forbidden for invalid Origin headers in Streamable HTTP transport. (PR #1439)
  4. Updated the Security Best Practices guidance.
  5. Clarify that input validation errors should be returned as Tool Execution Errors rather than Protocol Errors to enable model self-correction ( SEP-1303).
  6. Support polling SSE streams by allowing servers to disconnect at will ( SEP-1699).
  7. 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).
  8. Align OAuth 2.0 Protected Resource Metadata discovery with RFC 9728, making WWW-Authenticate header optional with fallback to .well-known endpoint ( SEP-985).
  9. Add support for default values in all primitive types (string, number, enum) for elicitation schemas ( SEP-1034).
  10. Establish JSON Schema 2020‑12 as the default dialect for MCP schema definitions ( SEP-1613).

Other schema changes

  1. Decouple request payloads from RPC method definitions into standalone parameter schemas. ( SEP-1319, PR #1284)

Governance and process updates

  1. Formalize Model Context Protocol governance structure ( SEP-932).
  2. Establish shared communication practices and guidelines for the MCP community ( SEP-994).
  3. Formalize Working Groups and Interest Groups in MCP governance ( SEP-1302).
  4. 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

More information