The program mcci (Monte Carlo configuration interaction) is a simple to use and efficient means for performing configuration interaction (CI) calculations. As with all forms of CI, the basic problem is how to select new configurations for the expansion of the wavefunction and this is the issue addressed by mcci. The mcci program selects configurations through a Monte Carlo generation procedure and then iteratively refines the wavefunction. As a consequence, a compact CI vector results as opposed to traditional approaches such as excitation truncation. The program has been applied to the study of the ground state correlation energy of small molecules, to molecular dissociation problems, and to the calculation of the excited state spectra of atoms. The code performs well on single workstations or PCs and its use on parallel computers is discussed.