Skip to main content

Module negotiate

Module negotiate 

Source
Expand description

MCP protocol version negotiation.

The two MCP eras the ticket serves (SDK-017 R1, the revisions SDK-014 R2 names): 2026-07-28, where every request carries its protocol version and capabilities in _meta and server/discover answers the server’s versions; and 2025-11-25, where initialize opens a session scoped to this process. An initialize asking for any other version is answered with 2025-11-25, as the MCP lifecycle requires (the server answers a version it supports and the client decides); a client that cannot speak it disconnects. A modern request naming an unknown version is refused.

Structs§

Refusal
A refusal of a request before its method is looked at.
Session
The process’s negotiation state: whether a legacy session was opened.

Enums§

Era
The era a request is served in.

Constants§

LEGACY
The legacy revision.
MODERN
The modern revision.
SUPPORTED
The versions the ticket speaks, newest first.

Functions§

server_info
What the ticket says it is.
shaped
A result shaped for its era: modern results carry resultType and the server’s info in _meta.