You could use mapproxy (https://mapproxy.org) to serve the tiles. For output I've only tried WMTS once or twice, I normally use WMS services. I have been using it for serving aerial photos, hillshades, etc for about 6 years now. It works in Web App Builder and in Arc Pro.
Mapproxy is a proxy of course but what you do is stick your folder full of tiles somewhere and tell mapproxy that the folder is a cache. Then it happily handles serving them in whatever formats you specify, skipping the proxy part.
https://mapproxy.github.io/mapproxy/caches.html#file
You have to configure it with a text file so there is the usual learning curve. But it's not too bad. Also, it's free!