Problem is MvNormal.moment I think. You should call moment(MvNormal) like is done for the logp. You might need to import moment as it might not be available at the pymc root level.
But the moment of the MvNormal is just mu, so your function can just return pt.exp(mu) directly.
Moment returns the initial point to be used for sampling a distribution. It’s how model.initial_point() is populated.