connect method

  1. @override
Future<void> connect(
  1. ClientTransport transport, {
  2. ProtocolEra era = ProtocolEra.auto,
  3. @Deprecated('Use era: ProtocolEra.modern (true) or ProtocolEra.legacy (false).') bool? statelessMode,
})
override

Connect the client to a transport.

era picks the revision family:

  • ProtocolEra.auto (default): probe with server/discover (waiting eraProbeTimeout); a modern answer selects 2026-07-28, anything else the initialize handshake.
  • ProtocolEra.modern: 2026-07-28 — no handshake; every request carries its _meta (protocol version, client info, capabilities) and, over HTTP, MCP-Protocol-Version: 2026-07-28. Server capabilities come from discover.
  • ProtocolEra.legacy: the initialize handshake (2025-11-25 and earlier).

statelessMode is the 2.x form: true is ProtocolEra.modern, false is ProtocolEra.legacy. Pass it or era, not both.

onConnect fires once the connection is ready.

Implementation

@override
Future<void> connect(
  ClientTransport transport, {
  ProtocolEra era = ProtocolEra.auto,
  @Deprecated(
    'Use era: ProtocolEra.modern (true) or ProtocolEra.legacy (false).',
  )
  bool? statelessMode,
}) =>
    // ignore: deprecated_member_use_from_same_package
    inner.connect(transport, era: era, statelessMode: statelessMode);