Abstract: Mirkovic-Vilonen showed that certain subvarieties of the affine Grassmanian, called Mirkovic-Vilonen cycles, index bases for representations of complex semisimple groups. Anderson observed that to each MV cycle, it is possible to associate its moment map image, called a Mirkovic-Vilonen polytope. He showed that these polytopes can be used to count tensor product multiplicities. Later, Anderson-Kogan gave a description of the MV cycles and polytopes in type A. Here, we give a uniform description of the MV cycles and polytopes for all complex semisimple groups. Our description is in terms of the combinatorics developed by Berenstein-Zelevinsky in their tensor product multiplicities paper. However, our work does not rely on their results and so it gives a new proof of their tensor product multiplicity formula.