Hey,
I am currently working on a Pipeline tool (anchorpoint.app) which is designed like a file browser with a Python API. I was able to start Blender in a background process and able to generate preview images using Eevee. With that I could add a preview to all my .blend files which looks the same when you would open it up in Blender and display it in Material Preview mode.
Afaik Blender can store a preview in the blend file, as can be seen in Blender filebrowser, but also in the system file viewer (windows at least). There’s a preference for this:
That works as well. By default, the integrated Blender previews are shown. The problem is that they come in a very small resolution. Sometimes that is good enough, but in a lot of cases I wanted to have a better preview which matches the end result.