Skip to content

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/initialized handshake. Every request carries io.modelcontextprotocol/protocolVersion, io.modelcontextprotocol/clientCapabilities, and optionally io.modelcontextprotocol/clientInfo in _meta.
  • server/discover: Now a mandatory RPC that servers MUST implement (replaces initialization). Returns supportedVersions, capabilities, serverInfo.
  • MRTR (Multi Round-Trip Requests): Servers use InputRequiredResult with resultType: "input_required" and inputRequests field instead of server-initiated JSON-RPC requests (sampling, elicitation, roots). Client retries original request with inputResponses.
  • subscriptions/listen: Replaces resources/subscribe/resources/unsubscribe and HTTP GET endpoint. Uses long-lived POST-response streams with notification filters.
  • No protocol-level sessions on Streamable HTTP. Mcp-Session-Id removed. 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_changed removed.
  • New HTTP headers: MCP-Protocol-Version, Mcp-Method, Mcp-Name, Mcp-Param-* (from tool x-mcp-header annotations).
  • Caching: ttlMs and cacheScope required on server/discover, tools/list, prompts/list, resources/list, resources/templates/list, resources/read results.
  • Error codes restructured: -32020 (HeaderMismatch), -32021 (MissingRequiredClientCapability), -32022 (UnsupportedProtocolVersion).
  • Streamable HTTP: GET endpoint removed, SSE resumability via Last-Event-ID removed.
  • OAuth 2.1 authorization framework with Protected Resource Metadata (RFC 9728).
  • _meta key naming rules with reverse DNS prefix convention.
  • icons property added to implementations, tools, prompts, resources.
  • Tool names: 1-128 chars, case-sensitive, alphanumeric + underscore/hyphen/dot.
  • outputSchema for structured tool results with structuredContent field.
  • Completion: completion/complete method for argument autocompletion.
  • Caching utility with TTL-based freshness and cache scope.

Backward Compatibility ​

This library maintains backward compatibility with older protocol versions:

VersionStatus
2026-07-28Supported
2025-11-25Compatible
2025-06-18Compatible
2025-03-26Compatible
2024-11-05Compatible