callTool method
Invoked when one of the registered tools is called.
Implementation
@mustCallSuper
Future<CallToolResult> callTool(CallToolRequest request) async {
final impl = _registeredToolImpls[request.name];
if (impl == null) {
return CallToolResult(
isError: true,
content: [
TextContent(text: 'No tool registered with the name ${request.name}'),
],
);
}
try {
return await impl(request);
} catch (e, s) {
return CallToolResult(
isError: true,
content: [TextContent(text: '$e\n$s')],
);
}
}