MEXAX (short for MEXAnical systems eXtrapolation integrator) is a Fortran code for time integration of constrained mechanical systems. MEXAX is suited for direct integration of the equations of motion in descriptor form. It is based on extrapolation of a time stepping method that is explicit in the differential equations and linearly implicit in the nonlinear constraints. It only requires the solution of well-structured systems of linear equations which can be solved with a computational work growing linearly with the number of bodies, in the case of multibody systems with few closed kinematic loops. Position and velocity constraints are enforced throughout the integration interval, whereas acceleration constraints need not be formulated. MEXAX has options for time-continuous solution representation (useful for graphics) and for the location of events such as impacts. The present article describes MEXAX and its underlying concepts.