connect method
Future<KernelClientConnection>
connect({
- required String id,
- required KernelTransportKind transport,
- String? endpoint,
- Map<
String, dynamic> ? options,
override
Open a connection to a remote MCP server. The connection is
identified by id (host-assigned URL, label, or other handle).
Implementation
@override
Future<KernelClientConnection> connect({
required String id,
required KernelTransportKind transport,
String? endpoint,
Map<String, dynamic>? options,
}) async {
final existing = _connections[id];
if (existing != null && existing.isConnected) return existing;
final client = cli.Client(
name: name,
version: version,
capabilities: const cli.ClientCapabilities(),
);
final cli.ClientTransport wire = await _openTransport(
transport: transport,
endpoint: endpoint,
options: options ?? const <String, dynamic>{},
);
await client.connect(wire);
final conn = _McpClientConnection(id: id, client: client);
_connections[id] = conn;
return conn;
}