Creating subdomains in mshr with an stl file

I have not seen it done with mshr (most people use mshr for semi-simple geometries, Where one can use geometrical subdomain markers).

There is STL support in Gmsh. I would Also recommend writing/reading meshes in the xdmf format, as it is more suitable for parallel computing. See this Transitioning from mesh.xml to mesh.xdmf, from dolfin-convert to meshio or this Converter from GMSH to XDMF (with physical groups) post.