initialize method

  1. @override
FutureOr<InitializeResult> initialize(
  1. InitializeRequest request
)
override

Invoked by the client as a part of initialization.

Tools should usually be registered in this function using registerTool when possible.

If tools are registered after initialized completes, then the server will notify the client

Implementation

@override
FutureOr<InitializeResult> initialize(InitializeRequest request) async {
  registerRequestHandler(ListToolsRequest.methodName, _listTools);
  registerRequestHandler(CallToolRequest.methodName, _callTool);

  final result = await super.initialize(request);
  (result.capabilities.tools ??= Tools()).listChanged = true;
  return result;
}