This paper addresses the problem of joint user identification and channel estimation (JUICE) for grant-free access in massive machine-type communications (mMTC). We consider the JUICE under a spatially correlated fading channel model as that reflects the main characteristics of the practical multiple-input multiple-output channels. We formulate the JUICE as a sparse recovery problem in a multiple measurement vector setup and present a solution based on the approximate message passing (AMP) algorithm that takes into account the channel spatial correlation. Using the state evolution, we provide a detailed theoretical analysis on the activity detection performance of AMP-based JUICE by deriving closed-from expressions for the probabilities of miss detection and false alarm. The simulation experiments show that the performance predicted by the theoretical analysis matches the one obtained by the numerical results.