fastmcp/docs/development/v4-notes
Jeremiah Lowin 0ba3db1a56
Mirror the frontend's protocol era on a proxy's backend connection (#4573)
* Mirror front protocol era onto proxy backend connection

A proxy created from a non-Client target now negotiates, on its backend,
whatever era its front client negotiated, instead of pinning one era.
Explicit create_proxy(mode=...) still overrides. Guards the eager backend
initialize() so an explicit modern pin behind a handshake front no longer
crashes.

* Carry the mirrored proxy era into multi-server config backends

A multi-server MCPConfig target mounts one proxy per configured server on a
composite router, so setting the era on the outer client stopped at the router
and every real backend stayed on its default era. TransportOptions.backend_mode
carries it down, resolved per request alongside the outer mirroring.

The router is also sealed under a policy held on the transport rather than a
fresh per-router ephemeral key, so a guard tool's request_state survives the
router being rebuilt between rounds.
2026-07-20 12:31:02 -04:00
..
change-register.mdx Mirror the frontend's protocol era on a proxy's backend connection (#4573) 2026-07-20 12:31:02 -04:00
feature-program.mdx Add guard-mode multi-round-trip tools (SEP-2322) (#4544) 2026-07-19 16:42:06 -04:00
index.mdx Add server-side identity assertion (SEP-990 ID-JAG) (#4483) 2026-07-18 19:52:15 -04:00
known-gaps.mdx Migrate to MCP Python SDK v2 (#4437) 2026-07-06 17:36:45 -04:00
protocol-2026.mdx Add guard-mode multi-round-trip tools (SEP-2322) (#4544) 2026-07-19 16:42:06 -04:00