NuRadioMC is a Monte Carlo framework designed to simulate ultra-high energy neutrino detectors that rely on the radio detection method. This method exploits the radio emission generated in the electromagnetic component of a particle shower following a neutrino interaction. NuRadioMC simulates everything from the neutrino interaction in a medium, the subsequent Askaryan radio emission, the propagation of the radio signal to the detector and finally the detector response. NuRadioMC is designed as a modern, modular Python-based framework, combining flexibility in detector design with user-friendliness. It includes a stateof-the-art event generator, an improved modelling of the radio emission, a revisited approach to signal propagation and increased flexibility and precision in the detector simulation. This paper focuses on the implemented physics processes and their implications for detector design. A variety of models and parameterizations for the radio emission of neutrino-induced showers are compared and reviewed. Comprehensive examples a are used to discuss the capabilities of the code and different aspects of instrumental design decisions.Keywords Neutrino astronomy · radio detection · simulation · signal processing · ice propagation · Askaryan · PACS 07.05.Kf · 95.85.Ry · 95.55.Vj · 95.85.Bh · 07.05.Tp