Supported Protocol Version
Official Documentation
This library implements Model Context Protocol (MCP) version 2025-11-25. For the official MCP changelog and full specification, please visit modelcontextprotocol.io.
Key Changes in Protocol 2025-11-25
The following changes were introduced in the MCP specification revision 2025-11-25:
Major changes
- Enhance authorization server discovery with support for OpenID Connect Discovery 1.0.
- Allow servers to expose icons as additional metadata for tools, resources, resource templates, and prompts.
- Enhance authorization flows with incremental scope consent via
WWW-Authenticate. - Provide guidance on tool names.
- Update
ElicitResultandEnumSchemato use a more standards-based approach and support titled, untitled, single-select, and multi-select enums. - Added support for URL mode elicitation.
- Add tool calling support to sampling via
toolsandtoolChoiceparameters. - Add support for OAuth Client ID Metadata Documents as a recommended client registration mechanism.
- Add experimental support for tasks to enable tracking durable requests with polling and deferred result retrieval.
Minor changes
- Clarify that servers using stdio transport may use stderr for all types of logging, not just error messages.
- 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 Forbiddenfor invalid Origin headers in Streamable HTTP transport. - 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.
- Support polling SSE streams by allowing servers to disconnect at will.
- Clarify GET streams support polling, resumption always via GET regardless of stream origin, event IDs should encode stream identity, disconnection includes server-initiated closure.
- Align OAuth 2.0 Protected Resource Metadata discovery with RFC 9728, making
WWW-Authenticateheader optional with fallback to.well-knownendpoint. - Add support for default values in all primitive types (string, number, enum) for elicitation schemas.
- Establish JSON Schema 2020-12 as the default dialect for MCP schema definitions.
Other schema changes
- Decouple request payloads from RPC method definitions into standalone parameter schemas.
Governance and process updates
- Formalize Model Context Protocol governance structure.
- Establish shared communication practices and guidelines for the MCP community.
- Formalize Working Groups and Interest Groups in MCP governance.
- Establish SDK tiering system with clear requirements for feature support and maintenance commitments.