  Maximally recoverable codes are a class of codes which recover from all
potentially recoverable erasure patterns given the locality constraints of the
code. In earlier works, these codes have been studied in the context of codes
with locality. The notion of locality has been extended to hierarchical
locality, which allows for locality to gradually increase in levels with the
increase in the number of erasures. We consider the locality constraints
imposed by codes with two-level hierarchical locality and define maximally
recoverable codes with data-local and local hierarchical locality. We derive
certain properties related to their punctured codes and minimum distance. We
give a procedure to construct hierarchical data-local MRCs from hierarchical
local MRCs. We provide a construction of hierarchical local MRCs for all
parameters. We also give constructions of MRC with hierarchical locality for
some parameters, whose field size is smaller than that of known constructions
for general parameters. We also derive a field size lower bound on MRC with
hierarchical locality.
