Supported Protocol Version
Official Documentation
This library implements Model Context Protocol (MCP) version 2026-07-28. For the official MCP changelog and full specification, please visit modelcontextprotocol.io.
Key Changes in Protocol 2026-07-28
The following breaking changes were introduced in the MCP specification revision 2026-07-28:
Breaking Changes
- Stateless Protocol: No more
initialize/notifications/initializedhandshake. Every request carriesio.modelcontextprotocol/protocolVersion,io.modelcontextprotocol/clientCapabilities, and optionallyio.modelcontextprotocol/clientInfoin_meta. server/discover: Now a mandatory RPC that servers MUST implement (replaces initialization). ReturnssupportedVersions,capabilities,serverInfo.- MRTR (Multi Round-Trip Requests): Servers use
InputRequiredResultwithresultType: "input_required"andinputRequestsfield instead of server-initiated JSON-RPC requests (sampling, elicitation, roots). Client retries original request withinputResponses. subscriptions/listen: Replacesresources/subscribe/resources/unsubscribeand HTTP GET endpoint. Uses long-lived POST-response streams with notification filters.- No protocol-level sessions on Streamable HTTP.
Mcp-Session-Idremoved. Servers are stateless per-request. - All results carry
resultType:"complete"or"input_required". - Deprecated features: Roots, Sampling, Logging (still functional but new implementations should not adopt). HTTP+SSE transport deprecated.
ping,logging/setLevel,notifications/roots/list_changedremoved. - New HTTP headers:
MCP-Protocol-Version,Mcp-Method,Mcp-Name,Mcp-Param-*(from toolx-mcp-headerannotations). - Caching:
ttlMsandcacheScoperequired onserver/discover,tools/list,prompts/list,resources/list,resources/templates/list,resources/readresults. - Error codes restructured:
-32020(HeaderMismatch),-32021(MissingRequiredClientCapability),-32022(UnsupportedProtocolVersion). - Streamable HTTP: GET endpoint removed, SSE resumability via
Last-Event-IDremoved. - OAuth 2.1 authorization framework with Protected Resource Metadata (RFC 9728).
_metakey naming rules with reverse DNS prefix convention.iconsproperty added to implementations, tools, prompts, resources.- Tool names: 1-128 chars, case-sensitive, alphanumeric + underscore/hyphen/dot.
outputSchemafor structured tool results withstructuredContentfield.- Completion:
completion/completemethod for argument autocompletion. - Caching utility with TTL-based freshness and cache scope.
Backward Compatibility
This library maintains backward compatibility with older protocol versions:
| Version | Status |
|---|---|
| 2026-07-28 | Supported |
| 2025-11-25 | Compatible |
| 2025-06-18 | Compatible |
| 2025-03-26 | Compatible |
| 2024-11-05 | Compatible |