MLT supports libavfilter, which includes a 3D LUT filter:
For file formats, it supports .dat, .3dl, .cube, and .m3d. I just tested it and it works:
$ ./melt ~/Videos/example/wildlife.avi -attach avfilter.lut3d av.file=/c/Users/ddennedy/Download s/Tom_Majerski__Tcolor_BMCC_v1_7.cube -consumer xml:/i/3dlut.mlt
Loading 3lut.mlt into Shotcut loads as a virtual clip. Easy to make a UI for this. See the “Frontend” section of this page: https://shotcut.org/notes/make-plugins/
The easiest way to develop it is use your existing Shotcut install, go to share/shotcut/qml/filters/. Copy an existing filter’s folder and rename things. Since this needs a file name, I suggest to copy the “stabilize” or “webvfx” folder to get an example that has a file field.