Loading MDL materials in headless replicator, USD scatter issue

Hello, I’m trying to load batches of materials I would like to randomly apply to objects inside Replicator.
I’m running headlessly inside a docker container, and I see how materials can be applied, but I don’t see in any documentation or tutorials how to load MDL files as a material object which can then be applied. An example of how to do this would be greatly appreciated.

Also, I’m loading custom USD files that I’ve exported from Blender, and I’m unable to call scatter2D or scatter3D with these objects, getting this error:
[Warning] [omni.usd] Warning: in _GetOrAddCommonXformOps at line 900 of /buildAgent/work/ac88d7d902b57417/USD/pxr/usd/usdGeom/xformCommonAPI.cpp – Could not determine xform ops for incompatible xformable </Replicator/Ref_Xform>
I’m just calling create from usd and the filepath, the model loads and renders correctly, and I can change the position manually, but scatter doesn’t work.
Is there some extra step I need to be performing before I’m able to call scatter?
Thanks in advance.