MPB is a free and open-source software package for electromagnetic analysis of periodic structures with an emphasis on photonic crystals. It was developed by Steven G. Johnson and collaborators at ab initio research group at Massachusetts Institute of Technology in 1999. Operating under Unix-like systems and being scriptable in Python, it uses the frequency domain plane wave expansion method with block-iterative algorithms and Fast Fourier transform for modal analysis. The solver is able to analyze lossless and dispersionless anisotropic materials, including birefringent and gyrotropic media.