Generating MCNP decks can be very prone to mistakes for beginners. Using a Python library like CardSharp for generating MCNP input decks can be especially useful for MCNP beginners: https://github.com/pnnl/CardSharpForMCNP.
It supports all geometry primitives and has a large materials library. Source and tally support is currently mainly geared towards detector models. Cards/features that are not yet supported can be easily inserted as raw strings. Comprehensive examples are provided.
Full disclosure: I am the developer of the library.