callTool method

  1. @mustCallSuper
Future<CallToolResult> callTool(
  1. CallToolRequest request
)

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')],
    );
  }
}