initialize method
Future<McpJsonMap>
initialize({
- Object? id = 'initialize',
- McpJsonMap capabilities = const <String, Object?>{},
- McpJsonMap clientInfo = const <String, Object?>{'name' : 'connectanum_client', 'version' : '3.0.0-beta.5'},
- String? protocolVersion,
- Map<
String, String> headers = const <String, String>{},
Initializes a session-based MCP connection and captures its session ID.
Implementation
Future<McpJsonMap> initialize({
Object? id = 'initialize',
McpJsonMap capabilities = const <String, Object?>{},
McpJsonMap clientInfo = const <String, Object?>{
'name': 'connectanum_client',
'version': '3.0.0-beta.5',
},
String? protocolVersion,
Map<String, String> headers = const <String, String>{},
}) async {
final requestedProtocolVersion = protocolVersion ?? this.protocolVersion;
final response = await post(
<String, Object?>{
'jsonrpc': '2.0',
'id': id,
'method': 'initialize',
'params': <String, Object?>{
'protocolVersion': requestedProtocolVersion,
'capabilities': capabilities,
'clientInfo': clientInfo,
},
},
includeSession: false,
protocolVersion: requestedProtocolVersion,
headers: headers,
);
if (response == null) {
throw const FormatException('initialize did not return a JSON-RPC body');
}
return response;
}