fastmcp.client.transports.base
Classes
ClientSessionKwargs
Keyword arguments for the MCP ClientSession constructor.
TransportOptions
How one client wants its connection built.
These belong to the client rather than to the transport, so a transport
shared between clients doesn’t leak one client’s settings to another.
Different client layers may own different fields; a layer that adds its
settings must preserve the existing options rather than replace the bundle.
Attributes:
session_class: The ClientSession class to instantiate. Proxies supply a session that skips output-schema validation, since they relay results rather than consume them.forward_incoming_headers: Whether to forward eligible inbound HTTP headers upstream, including authorization. Hop-specific HTTP headers and MCP transport, routing, and event-stream state are excluded because each backend connection owns that state. Only appropriate for proxies; honored by the HTTP and SSE transports and ignored by the others.backend_mode: The connectmodeto give backend clients that a wrapping transport builds on this client’s behalf, so a chain of connections speaks one protocol era end to end.Noneleaves each backend client at its own default. Honored byMCPConfigTransport, whose multi-server form mounts a proxy per configured server and resolves one shared era for the aggregate; ignored by transports that connect to a single backend directly, since those carry the connecting client’s own session and era.
ClientTransport
Abstract base class for different MCP client transport mechanisms.
A Transport is responsible for establishing and managing connections
to an MCP server, and providing a ClientSession within an async context.
Methods:
connect_session
transport_options: How the connecting client wants this connection built. Defaults apply when omitted. A transport that wraps others must pass this along.**session_kwargs: Keyword arguments to pass to the ClientSession constructor (e.g., callbacks, timeouts).

