Who wrote Mahabharata?

According to ancient Indian tradition, Vyasa is the author of Mahabharata who is also a major character in the epic. It is first recited the sage Vaisampayana to the King Janamejaya who was the great-grandson of the Pandavas.  The story is then recited again by a Ugrasrava Sauti to an assembly of sages in Naimisa forest.